Skip to content

Commit 15665a4

Browse files
committed
fix: StackOverflowError with recursive data model #4852
1 parent 8ee4735 commit 15665a4

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

modules/swagger-core/src/test/java/io/swagger/v3/core/resolving/Ticket2992Test.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,48 @@ public void testLocalTime() throws Exception {
1818

1919
ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver);
2020

21+
Schema model = context
22+
.resolve(new AnnotatedType(TestObject2992.class));
23+
24+
SerializationMatchers.assertEqualsToYaml(context.getDefinedModels(), "LocalTime:\n" +
25+
" type: object\n" +
26+
" properties:\n" +
27+
" hour:\n" +
28+
" type: integer\n" +
29+
" format: int32\n" +
30+
" minute:\n" +
31+
" type: integer\n" +
32+
" format: int32\n" +
33+
" second:\n" +
34+
" type: integer\n" +
35+
" format: int32\n" +
36+
" nano:\n" +
37+
" type: integer\n" +
38+
" format: int32\n" +
39+
"TestObject2992:\n" +
40+
" type: object\n" +
41+
" properties:\n" +
42+
" name:\n" +
43+
" type: string\n" +
44+
" a:\n" +
45+
" $ref: \"#/components/schemas/LocalTime\"\n" +
46+
" b:\n" +
47+
" $ref: \"#/components/schemas/LocalTime\"\n" +
48+
" c:\n" +
49+
" $ref: \"#/components/schemas/LocalTime\"\n" +
50+
" d:\n" +
51+
" type: string\n" +
52+
" format: date-time\n" +
53+
" e:\n" +
54+
" type: string\n" +
55+
" format: date-time\n" +
56+
" f:\n" +
57+
" type: string\n" +
58+
" format: date-time");
59+
60+
PrimitiveType.enablePartialTime();
61+
context = new ModelConverterContextImpl(modelResolver);
62+
2163
context
2264
.resolve(new AnnotatedType(TestObject2992.class));
2365

0 commit comments

Comments
 (0)