Skip to content

Commit 0c1fd25

Browse files
committed
stop using mockito for testing
1 parent 675347d commit 0c1fd25

File tree

8 files changed

+90
-66
lines changed

8 files changed

+90
-66
lines changed

src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3161,6 +3161,9 @@ private void addVars(CodegenModel codegenModel, List<CodegenProperty> vars, Map<
31613161
List<CodegenProperty> modelProperties = vars.stream()
31623162
.filter(codegenProperty -> getBooleanValue(codegenProperty, "x-is-object") && importMapping.containsKey(codegenProperty.baseType))
31633163
.collect(Collectors.toList());
3164+
if (modelProperties == null || modelProperties.isEmpty()) {
3165+
return;
3166+
}
31643167

31653168
for (CodegenProperty modelProperty : modelProperties) {
31663169
List<CodegenProperty> codegenProperties = vars.stream()
@@ -4176,7 +4179,10 @@ else if (Parameter.StyleEnum.SPACEDELIMITED.equals(parameter.getStyle())) {
41764179
}
41774180

41784181
public boolean isObjectSchema (Schema schema) {
4179-
if (schema instanceof ObjectSchema ||schema instanceof ComposedSchema) {
4182+
if (schema == null) {
4183+
return false;
4184+
}
4185+
if (schema instanceof ObjectSchema || schema instanceof ComposedSchema) {
41804186
return true;
41814187
}
41824188
if (SchemaTypeUtil.OBJECT_TYPE.equalsIgnoreCase(schema.getType()) && !(schema instanceof MapSchema)) {
Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,19 @@
11
package io.swagger.codegen.v3.generators;
22

3-
import io.swagger.v3.oas.models.Components;
43
import io.swagger.v3.oas.models.OpenAPI;
5-
import io.swagger.v3.oas.models.media.Schema;
6-
import org.mockito.Mockito;
7-
import org.testng.annotations.BeforeTest;
8-
9-
import java.util.HashMap;
10-
import java.util.Map;
4+
import io.swagger.v3.parser.OpenAPIV3Parser;
5+
import io.swagger.v3.parser.core.models.ParseOptions;
6+
import io.swagger.v3.parser.core.models.SwaggerParseResult;
117

128
public abstract class AbstractCodegenTest {
139

14-
protected OpenAPI openAPI;
15-
protected Schema schema;
16-
17-
@BeforeTest
18-
public void setUp() {
19-
this.openAPI = Mockito.mock(OpenAPI.class);
20-
final Components components = Mockito.mock(Components.class);
21-
final Map<String, Schema> schemas = Mockito.mock(HashMap.class);
22-
this.schema = Mockito.mock(Schema.class);
10+
protected OpenAPI getOpenAPI(String filePath) {
11+
OpenAPIV3Parser openApiParser = new OpenAPIV3Parser();
12+
ParseOptions options = new ParseOptions();
13+
options.setResolve(true);
14+
options.setFlatten(true);
15+
SwaggerParseResult parseResult = openApiParser.readLocation(filePath, null, options);
2316

24-
Mockito.when(openAPI.getComponents()).thenReturn(components);
25-
Mockito.when(components.getSchemas()).thenReturn(schemas);
17+
return parseResult.getOpenAPI();
2618
}
2719
}

src/test/java/io/swagger/codegen/v3/generators/java/JavaCXFClientCodegenTest.java

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,8 @@
33
import io.swagger.codegen.v3.CodegenOperation;
44
import io.swagger.codegen.v3.CodegenResponse;
55
import io.swagger.codegen.v3.generators.AbstractCodegenTest;
6+
import io.swagger.v3.oas.models.OpenAPI;
67
import io.swagger.v3.oas.models.Operation;
7-
import io.swagger.v3.oas.models.media.ArraySchema;
8-
import io.swagger.v3.oas.models.media.Content;
9-
import io.swagger.v3.oas.models.media.MediaType;
10-
import io.swagger.v3.oas.models.media.ObjectSchema;
11-
import io.swagger.v3.oas.models.media.Schema;
12-
import io.swagger.v3.oas.models.responses.ApiResponse;
13-
import io.swagger.v3.oas.models.responses.ApiResponses;
148
import org.testng.Assert;
159
import org.testng.annotations.Test;
1610

@@ -22,20 +16,12 @@ public class JavaCXFClientCodegenTest extends AbstractCodegenTest {
2216

2317
@Test
2418
public void responseWithoutContent() throws Exception {
25-
final Schema listOfPets = new ArraySchema()
26-
.items(new Schema<>().$ref("#/components/schemas/Pet"));
27-
Operation operation = new Operation().responses(new ApiResponses()
28-
.addApiResponse("200", new ApiResponse()
29-
.description("Return a list of pets")
30-
.content(new Content().addMediaType("application/json",
31-
new MediaType().schema(listOfPets))))
32-
.addApiResponse("400", new ApiResponse()
33-
.description("Error")));
34-
final Map<String, Schema> allDefinitions = Collections.singletonMap("Pet", new ObjectSchema());
19+
final OpenAPI openAPI = getOpenAPI("3_0_0/response_without_content.yaml");
20+
final Operation operation = openAPI.getPaths().get("/pets").getGet();
3521

3622
final JavaCXFClientCodegen codegen = new JavaCXFClientCodegen();
3723
codegen.preprocessOpenAPI(openAPI);
38-
final CodegenOperation co = codegen.fromOperation("getAllPets", "GET", operation, allDefinitions);
24+
final CodegenOperation co = codegen.fromOperation("getAllPets", "GET", operation, openAPI.getComponents().getSchemas(), openAPI);
3925

4026
Map<String, Object> objs = new HashMap<>();
4127
objs.put("operations", Collections.singletonMap("operation", Collections.singletonList(co)));

src/test/java/io/swagger/codegen/v3/generators/java/JavaModelTest.java

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import io.swagger.codegen.v3.config.CodegenConfigurator;
1313
import io.swagger.codegen.v3.generators.AbstractCodegenTest;
1414
import io.swagger.codegen.v3.generators.DefaultCodegenConfig;
15+
import io.swagger.v3.oas.models.Components;
16+
import io.swagger.v3.oas.models.OpenAPI;
1517
import io.swagger.v3.oas.models.Operation;
1618
import io.swagger.v3.oas.models.media.ArraySchema;
1719
import io.swagger.v3.oas.models.media.BooleanSchema;
@@ -58,7 +60,7 @@ public void simpleModelTest() {
5860
.addRequiredItem("id")
5961
.addRequiredItem("name");
6062
final DefaultCodegenConfig codegen = new JavaClientCodegen();
61-
codegen.preprocessOpenAPI(openAPI);
63+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
6264
final CodegenModel cm = codegen.fromModel("sample", model);
6365

6466
Assert.assertEquals(cm.name, "sample");
@@ -171,7 +173,7 @@ public void mapWithListPropertyTest() {
171173
.additionalProperties(new ArraySchema().items(new Schema().$ref("Pet"))))
172174
.addRequiredItem("id");
173175
final DefaultCodegenConfig codegen = new JavaClientCodegen();
174-
codegen.preprocessOpenAPI(openAPI);
176+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
175177
final CodegenModel cm = codegen.fromModel("sample", schema);
176178

177179
Assert.assertEquals(cm.name, "sample");
@@ -199,7 +201,7 @@ public void list2DPropertyTest() {
199201
.addProperties("list2D", new ArraySchema().items(
200202
new ArraySchema().items(new Schema().$ref("Pet"))));
201203
final DefaultCodegenConfig codegen = new JavaClientCodegen();
202-
codegen.preprocessOpenAPI(openAPI);
204+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
203205
final CodegenModel cm = codegen.fromModel("sample", model);
204206

205207
Assert.assertEquals(cm.vars.size(), 1);
@@ -223,7 +225,7 @@ public void complexPropertiesTest() {
223225
.description("a sample model")
224226
.addProperties("children", new Schema().$ref("#/components/schemas/Children"));
225227
final DefaultCodegenConfig codegen = new JavaClientCodegen();
226-
codegen.preprocessOpenAPI(openAPI);
228+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
227229
final CodegenModel cm = codegen.fromModel("sample", schema);
228230

229231
Assert.assertEquals(cm.name, "sample");
@@ -250,7 +252,7 @@ public void complexListPropertyTest() {
250252
.addProperties("children", new ArraySchema()
251253
.items(new Schema().$ref("#/components/schemas/Children")));
252254
final DefaultCodegenConfig codegen = new JavaClientCodegen();
253-
codegen.preprocessOpenAPI(openAPI);
255+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
254256
final CodegenModel cm = codegen.fromModel("sample", schema);
255257

256258
Assert.assertEquals(cm.name, "sample");
@@ -279,7 +281,7 @@ public void complexMapPropertyTest() {
279281
.addProperties("children", new MapSchema()
280282
.additionalProperties(new Schema().$ref("#/components/schemas/Children")));
281283
final DefaultCodegenConfig codegen = new JavaClientCodegen();
282-
codegen.preprocessOpenAPI(openAPI);
284+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
283285
final CodegenModel cm = codegen.fromModel("sample", schema);
284286

285287
Assert.assertEquals(cm.name, "sample");
@@ -317,7 +319,7 @@ public void arrayModelWithItemNameTest() {
317319

318320

319321
final DefaultCodegenConfig codegen = new JavaClientCodegen();
320-
codegen.preprocessOpenAPI(openAPI);
322+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
321323
final CodegenModel cm = codegen.fromModel("sample", schema);
322324

323325
Assert.assertEquals(cm.name, "sample");
@@ -352,7 +354,7 @@ public void arrayModelTest() {
352354
.name("arraySchema")
353355
.description("an array model");
354356
final DefaultCodegenConfig codegen = new JavaClientCodegen();
355-
codegen.preprocessOpenAPI(openAPI);
357+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
356358
final CodegenModel cm = codegen.fromModel("sample", schema);
357359

358360
Assert.assertEquals(cm.name, "sample");
@@ -371,7 +373,7 @@ public void arrayModelTestUsingOas2() {
371373
.name("arraySchema")
372374
.description("an array model");
373375
final DefaultCodegenConfig codegen = new JavaClientCodegen();
374-
codegen.preprocessOpenAPI(openAPI);
376+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
375377
codegen.setUseOas2(true);
376378
final CodegenModel cm = codegen.fromModel("sample", schema);
377379

@@ -390,7 +392,7 @@ public void mapModelTest() {
390392
.description("an map model")
391393
.additionalProperties(new Schema().$ref("#/components/schemas/Children"));
392394
final DefaultCodegenConfig codegen = new JavaClientCodegen();
393-
codegen.preprocessOpenAPI(openAPI);
395+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
394396
final CodegenModel cm = codegen.fromModel("sample", schema);
395397

396398
Assert.assertEquals(cm.name, "sample");
@@ -408,7 +410,7 @@ public void mapModelTestUsingOas2() {
408410
.description("an map model")
409411
.additionalProperties(new Schema().$ref("#/components/schemas/Children"));
410412
final DefaultCodegenConfig codegen = new JavaClientCodegen();
411-
codegen.preprocessOpenAPI(openAPI);
413+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
412414
codegen.setUseOas2(true);
413415
final CodegenModel cm = codegen.fromModel("sample", schema);
414416

@@ -835,7 +837,7 @@ public void longPropertyInReferencedSchemaTest() {
835837
.addProperties("Long1", new Schema<>().$ref("#/components/schemas/LongProperty"))
836838
.addProperties("Long2", new IntegerSchema().format("int64"));
837839
final DefaultCodegenConfig codegen = new JavaClientCodegen();
838-
codegen.preprocessOpenAPI(openAPI);
840+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
839841
final Map<String, Schema> allDefinitions = Collections.singletonMap("LongProperty", longProperty);
840842
final CodegenModel cm = codegen.fromModel("test", TestSchema, allDefinitions);
841843

@@ -864,7 +866,7 @@ public void integerPropertyInReferencedSchemaTest() {
864866
.addProperties("Integer2", new IntegerSchema().format("int32"));
865867
final Map<String, Schema> allDefinitions = Collections.singletonMap("IntegerProperty", longProperty);
866868
final DefaultCodegenConfig codegen = new JavaClientCodegen();
867-
codegen.preprocessOpenAPI(openAPI);
869+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
868870
final CodegenModel cm = codegen.fromModel("test", testSchema, allDefinitions);
869871

870872
Assert.assertEquals(cm.vars.size(), 2);
@@ -891,7 +893,7 @@ public void arraySchemaTest() {
891893
.items(new Schema<>().$ref("#/components/schemas/Pet")));
892894
final Map<String, Schema> allDefinitions = Collections.singletonMap("Pet", new ObjectSchema());
893895
final DefaultCodegenConfig codegen = new JavaClientCodegen();
894-
codegen.preprocessOpenAPI(openAPI);
896+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
895897
final CodegenModel cm = codegen.fromModel("test", testSchema, allDefinitions);
896898

897899
Assert.assertEquals(cm.vars.size(), 1);
@@ -919,7 +921,7 @@ public void arraySchemaTestInRequestBody() {
919921
.description("Ok response")));
920922
final Map<String, Schema> allDefinitions = Collections.singletonMap("Pet", new ObjectSchema());
921923
final DefaultCodegenConfig codegen = new JavaClientCodegen();
922-
codegen.preprocessOpenAPI(openAPI);
924+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
923925
final CodegenOperation co = codegen.fromOperation("testSchema", "GET", operation, allDefinitions);
924926

925927
Assert.assertEquals(co.bodyParams.size(), 1);
@@ -946,7 +948,7 @@ public void arraySchemaTestInOperationResponse() {
946948
new MediaType().schema(testSchema)))));
947949
final Map<String, Schema> allDefinitions = Collections.singletonMap("Pet", new ObjectSchema());
948950
final DefaultCodegenConfig codegen = new JavaClientCodegen();
949-
codegen.preprocessOpenAPI(openAPI);
951+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
950952
final CodegenOperation co = codegen.fromOperation("testSchema", "GET", operation, allDefinitions);
951953

952954
Assert.assertEquals(co.responses.size(), 1);
@@ -966,7 +968,7 @@ public void arrayOfArraySchemaTest() {
966968
.items(new Schema<>().$ref("#/components/schemas/Pet"))));
967969
final Map<String, Schema> allDefinitions = Collections.singletonMap("Pet", new ObjectSchema());
968970
final DefaultCodegenConfig codegen = new JavaClientCodegen();
969-
codegen.preprocessOpenAPI(openAPI);
971+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
970972
final CodegenModel cm = codegen.fromModel("test", testSchema, allDefinitions);
971973

972974
Assert.assertEquals(cm.vars.size(), 1);
@@ -995,7 +997,7 @@ public void arrayOfArraySchemaTestInRequestBody() {
995997
.description("Ok response")));
996998
final Map<String, Schema> allDefinitions = Collections.singletonMap("Pet", new ObjectSchema());
997999
final DefaultCodegenConfig codegen = new JavaClientCodegen();
998-
codegen.preprocessOpenAPI(openAPI);
1000+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
9991001
final CodegenOperation co = codegen.fromOperation("testSchema", "GET", operation, allDefinitions);
10001002

10011003
Assert.assertEquals(co.bodyParams.size(), 1);
@@ -1023,7 +1025,7 @@ public void arrayOfArraySchemaTestInOperationResponse() {
10231025
new MediaType().schema(testSchema)))));
10241026
final Map<String, Schema> allDefinitions = Collections.singletonMap("Pet", new ObjectSchema());
10251027
final DefaultCodegenConfig codegen = new JavaClientCodegen();
1026-
codegen.preprocessOpenAPI(openAPI);
1028+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
10271029
final CodegenOperation co = codegen.fromOperation("testSchema", "GET", operation, allDefinitions);
10281030

10291031
Assert.assertEquals(co.responses.size(), 1);

src/test/java/io/swagger/codegen/v3/generators/kotlin/KotlinClientCodegenModelTest.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import io.swagger.codegen.v3.CodegenModel;
66
import io.swagger.codegen.v3.CodegenProperty;
77
import io.swagger.codegen.v3.generators.AbstractCodegenTest;
8+
import io.swagger.v3.oas.models.Components;
9+
import io.swagger.v3.oas.models.OpenAPI;
810
import io.swagger.v3.oas.models.media.ArraySchema;
911
import io.swagger.v3.oas.models.media.DateTimeSchema;
1012
import io.swagger.v3.oas.models.media.IntegerSchema;
@@ -18,10 +20,12 @@
1820
import org.testng.annotations.DataProvider;
1921
import org.testng.annotations.Test;
2022

23+
import java.util.HashMap;
24+
2125
import static io.swagger.codegen.v3.generators.handlebars.ExtensionHelper.getBooleanValue;
2226

2327
@SuppressWarnings("static-method")
24-
public class KotlinClientCodegenModelTest extends AbstractCodegenTest {
28+
public class KotlinClientCodegenModelTest {
2529

2630
protected static final Logger LOGGER = LoggerFactory.getLogger(KotlinClientCodegenModelTest.class);
2731

@@ -219,7 +223,7 @@ public void mapPropertyTest() {
219223
public void complexPropertyTest() {
220224
final Schema schema = getComplexSchema();
221225
final CodegenConfig codegen = new KotlinClientCodegen();
222-
codegen.preprocessOpenAPI(openAPI);
226+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
223227
final CodegenModel cm = codegen.fromModel("sample", schema);
224228

225229
Assert.assertEquals(cm.name, "sample");
@@ -251,8 +255,7 @@ public static Object[][] modelNames() {
251255
public void sanitizeModelNames(final String name, final ModelNameTest testCase) {
252256
final Schema schema = getComplexSchema();
253257
final CodegenConfig codegen = new KotlinClientCodegen();
254-
255-
codegen.preprocessOpenAPI(openAPI);
258+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
256259

257260
final CodegenModel cm = codegen.fromModel(name, schema);
258261

src/test/java/io/swagger/codegen/v3/generators/typescript/angular/TypeScriptAngularModelTest.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import io.swagger.codegen.v3.generators.AbstractCodegenTest;
88
import io.swagger.codegen.v3.generators.DefaultCodegenConfig;
99
import io.swagger.codegen.v3.generators.typescript.TypeScriptAngularClientCodegen;
10+
import io.swagger.v3.oas.models.Components;
11+
import io.swagger.v3.oas.models.OpenAPI;
1012
import io.swagger.v3.oas.models.media.ArraySchema;
1113
import io.swagger.v3.oas.models.media.DateSchema;
1214
import io.swagger.v3.oas.models.media.DateTimeSchema;
@@ -21,7 +23,7 @@
2123
import static io.swagger.codegen.v3.generators.handlebars.ExtensionHelper.getBooleanValue;
2224

2325
@SuppressWarnings("static-method")
24-
public class TypeScriptAngularModelTest extends AbstractCodegenTest {
26+
public class TypeScriptAngularModelTest /**extends AbstractCodegenTest*/ {
2527

2628
@Test(description = "convert a simple TypeScript Angular model")
2729
public void simpleModelTest() {
@@ -126,7 +128,7 @@ public void complexPropertyTest() {
126128
.description("a sample model")
127129
.addProperties("children", new Schema().$ref("#/components/schemas/Children"));
128130
final DefaultCodegenConfig codegen = new TypeScriptAngularClientCodegen();
129-
codegen.preprocessOpenAPI(openAPI);
131+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
130132
final CodegenModel cm = codegen.fromModel("sample", model);
131133

132134
Assert.assertEquals(cm.name, "sample");
@@ -151,7 +153,7 @@ public void complexListPropertyTest() {
151153
.addProperties("children", new ArraySchema()
152154
.items(new Schema().$ref("#/components/schemas/Children")));
153155
final DefaultCodegenConfig codegen = new TypeScriptAngularClientCodegen();
154-
codegen.preprocessOpenAPI(openAPI);
156+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
155157
final CodegenModel cm = codegen.fromModel("sample", model);
156158

157159
Assert.assertEquals(cm.name, "sample");
@@ -175,7 +177,7 @@ public void arrayModelTest() {
175177
.items(new Schema().$ref("#/components/schemas/Children"))
176178
.description("an array model");
177179
final DefaultCodegenConfig codegen = new TypeScriptAngularClientCodegen();
178-
codegen.preprocessOpenAPI(openAPI);
180+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
179181

180182
final CodegenModel cm = codegen.fromModel("sample", model);
181183

@@ -191,7 +193,7 @@ public void mapModelTest() {
191193
.description("a map model")
192194
.additionalProperties(new Schema().$ref("#/components/schemas/Children"));
193195
final DefaultCodegenConfig codegen = new TypeScriptAngularClientCodegen();
194-
codegen.preprocessOpenAPI(openAPI);
196+
codegen.preprocessOpenAPI(new OpenAPI().components(new Components()));
195197
final CodegenModel cm = codegen.fromModel("sample", model);
196198

197199
Assert.assertEquals(cm.name, "sample");

src/test/resources/3_0_0/model_named_file.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
openapi: 3.0.0
22
servers:
3-
- description: SwaggerHub API Auto Mocking
3+
- description: test definition
44
url: /
55
info:
66
description: This is a simple API

0 commit comments

Comments
 (0)