Test support for serializable records in SerializationUtils
See gh-28798
This commit is contained in:
@@ -16,6 +16,8 @@
|
||||
|
||||
package org.springframework.util;
|
||||
|
||||
import java.io.NotSerializableException;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigInteger;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -28,6 +30,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
|
||||
* Unit tests for {@link SerializationUtils}.
|
||||
*
|
||||
* @author Dave Syer
|
||||
* @author Sam Brannen
|
||||
* @since 3.0.5
|
||||
*/
|
||||
class SerializationUtilsTests {
|
||||
@@ -43,6 +46,24 @@ class SerializationUtilsTests {
|
||||
assertThat(SerializationUtils.deserialize(SerializationUtils.serialize("foo"))).isEqualTo("foo");
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
void serializeNonSerializableRecord() {
|
||||
record Person(String firstName, String lastName) {}
|
||||
Person jane = new Person("Jane", "Doe");
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> SerializationUtils.serialize(jane))
|
||||
.withCauseExactlyInstanceOf(NotSerializableException.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
void serializeAndDeserializeSerializableRecord() {
|
||||
record Person(String firstName, String lastName) implements Serializable {}
|
||||
Person jane = new Person("Jane", "Doe");
|
||||
assertThat(SerializationUtils.deserialize(SerializationUtils.serialize(jane))).isEqualTo(jane);
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
void deserializeUndefined() {
|
||||
|
||||
Reference in New Issue
Block a user