Skip to content

Commit 5e0d7f8

Browse files
authored
Migrate /deser/dos, /deser/builder, /deser/enums tests to JUnit 5 (#4344)
1 parent 62f869b commit 5e0d7f8

34 files changed

+448
-70
lines changed

src/test/java/com/fasterxml/jackson/databind/BaseMapTest.java

-11
Original file line numberDiff line numberDiff line change
@@ -131,17 +131,6 @@ public ArrayWrapper(T[] v) {
131131
}
132132
}
133133

134-
/**
135-
* Enumeration type with sub-classes per value.
136-
*/
137-
protected enum EnumWithSubClass {
138-
A { @Override public void foobar() { } }
139-
,B { @Override public void foobar() { } }
140-
;
141-
142-
public abstract void foobar();
143-
}
144-
145134
public enum ABC { A, B, C; }
146135

147136
// since 2.8

src/test/java/com/fasterxml/jackson/databind/deser/builder/BuilderAdvancedTest.java

+12-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
package com.fasterxml.jackson.databind.deser.builder;
22

3+
import org.junit.jupiter.api.Test;
4+
35
import com.fasterxml.jackson.annotation.*;
46
import com.fasterxml.jackson.annotation.JsonTypeInfo.As;
57
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
8+
69
import com.fasterxml.jackson.databind.*;
710
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
811

9-
public class BuilderAdvancedTest extends BaseMapTest
12+
import static org.junit.jupiter.api.Assertions.assertEquals;
13+
import static org.junit.jupiter.api.Assertions.assertNotNull;
14+
15+
import static com.fasterxml.jackson.databind.testutil.DatabindTestUtil.a2q;
16+
import static com.fasterxml.jackson.databind.testutil.DatabindTestUtil.newJsonMapper;
17+
18+
public class BuilderAdvancedTest
1019
{
1120
@JsonDeserialize(builder=InjectableBuilderXY.class)
1221
static class InjectableXY
@@ -88,6 +97,7 @@ public ExternalBean build() {
8897
/**********************************************************
8998
*/
9099

100+
@Test
91101
public void testWithInjectable() throws Exception
92102
{
93103
ObjectMapper mapper = new ObjectMapper();
@@ -101,6 +111,7 @@ public void testWithInjectable() throws Exception
101111
assertEquals("stuffValue", bean._stuff);
102112
}
103113

114+
@Test
104115
public void testWithExternalTypeId() throws Exception
105116
{
106117
ObjectMapper mapper = newJsonMapper();

src/test/java/com/fasterxml/jackson/databind/deser/builder/BuilderDeserializationTest2486.java

+17-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
package com.fasterxml.jackson.databind.deser.builder;
22

3+
import java.util.List;
4+
5+
import org.junit.jupiter.api.Test;
6+
37
import com.fasterxml.jackson.annotation.JsonCreator;
4-
import com.fasterxml.jackson.databind.BaseMapTest;
8+
59
import com.fasterxml.jackson.databind.ObjectMapper;
610
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
711

8-
import java.util.List;
12+
import static org.junit.jupiter.api.Assertions.assertEquals;
13+
14+
import static com.fasterxml.jackson.databind.testutil.DatabindTestUtil.a2q;
15+
import static com.fasterxml.jackson.databind.testutil.DatabindTestUtil.newJsonMapper;
916

1017
public class BuilderDeserializationTest2486
11-
extends BaseMapTest
1218
{
1319
@JsonDeserialize(builder = MyPOJOWithArrayCreator.Builder.class)
1420
public static class MyPOJOWithArrayCreator {
@@ -104,24 +110,28 @@ public MyPOJOWithPrimitiveCreator build() {
104110
// pass in both cases.
105111
//
106112
// I left some notes in BeanDeserializerBase as to behavior.
113+
@Test
107114
public void testPOJOWithArrayCreatorFromObjectRepresentation() throws Exception {
108115
final String json = a2q("{ 'index': 123 }");
109116
final MyPOJOWithArrayCreator deserialized = MAPPER.readValue(json, MyPOJOWithArrayCreator.class);
110117
assertEquals(123, deserialized.getIndex());
111118
}
112119

120+
@Test
113121
public void testPOJOWithArrayCreatorFromArrayRepresentation() throws Exception {
114122
final String json = "[123]";
115123
final MyPOJOWithArrayCreator deserialized = MAPPER.readValue(json, MyPOJOWithArrayCreator.class);
116124
assertEquals(123, deserialized.getIndex());
117125
}
118126

127+
@Test
119128
public void testPOJOWithPrimitiveCreatorFromObjectRepresentation() throws Exception {
120129
final String json = a2q("{ 'index': 123 }");
121130
final MyPOJOWithPrimitiveCreator deserialized = MAPPER.readValue(json, MyPOJOWithPrimitiveCreator.class);
122131
assertEquals(123, deserialized.getIndex());
123132
}
124133

134+
@Test
125135
public void testPOJOWithPrimitiveCreatorFromPrimitiveRepresentation() throws Exception {
126136
final String json ="123";
127137
final MyPOJOWithPrimitiveCreator deserialized = MAPPER.readValue(json, MyPOJOWithPrimitiveCreator.class);
@@ -134,24 +144,28 @@ public void testPOJOWithPrimitiveCreatorFromPrimitiveRepresentation() throws Exc
134144
// This fails the same as above. So the failure of default deserialization
135145
// from an object shape in the presence of a @JsonCreator accepting an array
136146
// is not specific to the use of Builders as an intermediary.
147+
@Test
137148
public void testPOJOBuilderWithArrayCreatorFromObjectRepresentation() throws Exception {
138149
final String json = a2q("{ 'index': 123 }");
139150
final MyPOJOWithArrayCreator.Builder deserialized = MAPPER.readValue(json, MyPOJOWithArrayCreator.Builder.class);
140151
assertEquals(123, deserialized.index);
141152
}
142153

154+
@Test
143155
public void testPOJOBuilderWithArrayCreatorFromArrayRepresentation() throws Exception {
144156
final String json = "[123]";
145157
final MyPOJOWithArrayCreator.Builder deserialized = MAPPER.readValue(json, MyPOJOWithArrayCreator.Builder.class);
146158
assertEquals(123, deserialized.index);
147159
}
148160

161+
@Test
149162
public void testPOJOBuilderWithPrimitiveCreatorFromObjectRepresentation() throws Exception {
150163
final String json = a2q("{ 'index': 123 }");
151164
final MyPOJOWithPrimitiveCreator.Builder deserialized = MAPPER.readValue(json, MyPOJOWithPrimitiveCreator.Builder.class);
152165
assertEquals(123, deserialized.index);
153166
}
154167

168+
@Test
155169
public void testPOJOBuilderWithPrimitiveCreatorFromPrimitiveRepresentation() throws Exception {
156170
final String json = "123";
157171
final MyPOJOWithPrimitiveCreator.Builder deserialized = MAPPER.readValue(json, MyPOJOWithPrimitiveCreator.Builder.class);

src/test/java/com/fasterxml/jackson/databind/deser/builder/BuilderErrorHandling.java

+14-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
11
package com.fasterxml.jackson.databind.deser.builder;
22

3+
import org.junit.jupiter.api.Test;
4+
35
import com.fasterxml.jackson.annotation.JsonSetter;
46

57
import com.fasterxml.jackson.databind.*;
68
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
79
import com.fasterxml.jackson.databind.exc.MismatchedInputException;
810
import com.fasterxml.jackson.databind.exc.ValueInstantiationException;
911

10-
public class BuilderErrorHandling extends BaseMapTest
12+
import static org.junit.jupiter.api.Assertions.*;
13+
14+
import static com.fasterxml.jackson.databind.testutil.DatabindTestUtil.*;
15+
16+
public class BuilderErrorHandling
1117
{
1218
@JsonDeserialize(builder=SimpleBuilderXY.class)
1319
static class ValueClassXY
@@ -104,6 +110,7 @@ ValidatingValue build() {
104110
.disable(DeserializationFeature.WRAP_EXCEPTIONS)
105111
.build();
106112

113+
@Test
107114
public void testUnknownProperty() throws Exception
108115
{
109116
// first, default failure
@@ -122,6 +129,7 @@ public void testUnknownProperty() throws Exception
122129
assertEquals(5, result._y);
123130
}
124131

132+
@Test
125133
public void testWrongShape() throws Exception
126134
{
127135
try {
@@ -136,13 +144,15 @@ public void testWrongShape() throws Exception
136144

137145
// [databind#2938]
138146

147+
@Test
139148
public void testSuccessfulValidatingBuilder() throws Exception
140149
{
141150
ValidatingValue result = MAPPER.readValue(a2q("{'a':'1','b':'2'}"), ValidatingValue.class);
142151
assertEquals("1", result.first);
143152
assertEquals("2", result.second);
144153
}
145154

155+
@Test
146156
public void testFailingValidatingBuilderWithExceptionWrapping() throws Exception
147157
{
148158
try {
@@ -154,6 +164,7 @@ public void testFailingValidatingBuilderWithExceptionWrapping() throws Exception
154164
}
155165
}
156166

167+
@Test
157168
public void testFailingValidatingBuilderWithExceptionWrappingFromTree() throws Exception
158169
{
159170
try {
@@ -166,6 +177,7 @@ public void testFailingValidatingBuilderWithExceptionWrappingFromTree() throws E
166177
}
167178
}
168179

180+
@Test
169181
public void testFailingValidatingBuilderWithoutExceptionWrapping() throws Exception
170182
{
171183
try {
@@ -177,6 +189,7 @@ public void testFailingValidatingBuilderWithoutExceptionWrapping() throws Except
177189
}
178190
}
179191

192+
@Test
180193
public void testFailingValidatingBuilderWithoutExceptionWrappingFromTree() throws Exception
181194
{
182195
try {

src/test/java/com/fasterxml/jackson/databind/deser/builder/BuilderFailTest.java

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
package com.fasterxml.jackson.databind.deser.builder;
22

3+
import org.junit.jupiter.api.Test;
4+
35
import com.fasterxml.jackson.databind.*;
46
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
57
import com.fasterxml.jackson.databind.exc.InvalidDefinitionException;
68
import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException;
79

8-
public class BuilderFailTest extends BaseMapTest
10+
import static org.junit.jupiter.api.Assertions.fail;
11+
12+
import static com.fasterxml.jackson.databind.testutil.DatabindTestUtil.a2q;
13+
import static com.fasterxml.jackson.databind.testutil.DatabindTestUtil.verifyException;
14+
15+
public class BuilderFailTest
916
{
1017
@JsonDeserialize(builder=SimpleBuilderXY.class)
1118
static class ValueClassXY
@@ -63,6 +70,7 @@ public ValueClassXY build() {
6370

6471
private final ObjectMapper MAPPER = new ObjectMapper();
6572

73+
@Test
6674
public void testBuilderMethodReturnInvalidType() throws Exception
6775
{
6876
final String json = "{\"x\":1}";
@@ -76,6 +84,7 @@ public void testBuilderMethodReturnInvalidType() throws Exception
7684
}
7785
}
7886

87+
@Test
7988
public void testExtraFields() throws Exception
8089
{
8190
final String json = a2q("{'x':1,'y':2,'z':3}");

src/test/java/com/fasterxml/jackson/databind/deser/builder/BuilderInfiniteLoop1978Test.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
package com.fasterxml.jackson.databind.deser.builder;
22

3+
import org.junit.jupiter.api.Test;
4+
35
import com.fasterxml.jackson.annotation.JsonProperty;
46
import com.fasterxml.jackson.annotation.JsonUnwrapped;
57

68
import com.fasterxml.jackson.databind.*;
79

810
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
911

10-
public class BuilderInfiniteLoop1978Test extends BaseMapTest
12+
import static org.junit.jupiter.api.Assertions.assertNotNull;
13+
14+
public class BuilderInfiniteLoop1978Test
1115
{
1216
static class Builder
1317
{
@@ -85,6 +89,7 @@ static class SubBean
8589
*/
8690

8791
// for [databind#1978]
92+
@Test
8893
public void testInfiniteLoop1978() throws Exception
8994
{
9095
String json = "{\"sub.el1\":34,\"sub.el2\":\"some text\"}";

src/test/java/com/fasterxml/jackson/databind/deser/builder/BuilderSimpleTest.java

+18-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import java.util.*;
44

5+
import org.junit.jupiter.api.Test;
6+
57
import com.fasterxml.jackson.annotation.*;
68

79
import com.fasterxml.jackson.core.Version;
@@ -12,7 +14,11 @@
1214
import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException;
1315
import com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector;
1416

15-
public class BuilderSimpleTest extends BaseMapTest
17+
import static org.junit.jupiter.api.Assertions.*;
18+
19+
import static com.fasterxml.jackson.databind.testutil.DatabindTestUtil.*;
20+
21+
public class BuilderSimpleTest
1622
{
1723
// // Simple 2-property value class, builder with standard naming
1824

@@ -303,6 +309,7 @@ private Value2354 build() {
303309

304310
private final ObjectMapper MAPPER = newJsonMapper();
305311

312+
@Test
306313
public void testSimple() throws Exception
307314
{
308315
String json = a2q("{'x':1,'y':2}");
@@ -316,6 +323,7 @@ public void testSimple() throws Exception
316323
}
317324

318325
// related to [databind#1214]
326+
@Test
319327
public void testSimpleWithIgnores() throws Exception
320328
{
321329
// 'z' is unknown, and would fail by default:
@@ -344,6 +352,7 @@ public void testSimpleWithIgnores() throws Exception
344352
assertEquals(value._y, 3);
345353
}
346354

355+
@Test
347356
public void testMultiAccess() throws Exception
348357
{
349358
String json = a2q("{'c':3,'a':2,'b':-9}");
@@ -362,6 +371,7 @@ public void testMultiAccess() throws Exception
362371
}
363372

364373
// test for Immutable builder, to ensure return value is used
374+
@Test
365375
public void testImmutable() throws Exception
366376
{
367377
final String json = "{\"value\":13}";
@@ -370,6 +380,7 @@ public void testImmutable() throws Exception
370380
}
371381

372382
// test with custom 'with-prefix'
383+
@Test
373384
public void testCustomWith() throws Exception
374385
{
375386
final String json = "{\"value\":1}";
@@ -379,20 +390,23 @@ public void testCustomWith() throws Exception
379390

380391
// for [databind#761]
381392

393+
@Test
382394
public void testBuilderMethodReturnMoreGeneral() throws Exception
383395
{
384396
final String json = "{\"x\":1}";
385397
ValueInterface value = MAPPER.readValue(json, ValueInterface.class);
386398
assertEquals(2, value.getX());
387399
}
388400

401+
@Test
389402
public void testBuilderMethodReturnMoreSpecific() throws Exception
390403
{
391404
final String json = "{\"x\":1}";
392405
ValueInterface2 value = MAPPER.readValue(json, ValueInterface2.class);
393406
assertEquals(2, value.getX());
394407
}
395408

409+
@Test
396410
public void testSelfBuilder777() throws Exception
397411
{
398412
SelfBuilder777 result = MAPPER.readValue(a2q("{'x':3}'"),
@@ -401,6 +415,7 @@ public void testSelfBuilder777() throws Exception
401415
assertEquals(3, result.x);
402416
}
403417

418+
@Test
404419
public void testWithAnySetter822() throws Exception
405420
{
406421
final String json = "{\"extra\":3,\"foobar\":[ ],\"x\":1,\"name\":\"bob\"}";
@@ -416,6 +431,7 @@ public void testWithAnySetter822() throws Exception
416431
assertTrue(((List<?>) ob).isEmpty());
417432
}
418433

434+
@Test
419435
public void testPOJOConfigResolution1557() throws Exception
420436
{
421437
final String json = "{\"value\":1}";
@@ -425,6 +441,7 @@ public void testPOJOConfigResolution1557() throws Exception
425441
}
426442

427443
// related to [databind#2354] (ensure private inner builder classes are ok)
444+
@Test
428445
public void testPrivateInnerBuilder() throws Exception
429446
{
430447
String json = a2q("{'value':13}");

0 commit comments

Comments
 (0)