@Test public void testGenerateUniqueOperationIds() { final File output = folder.getRoot(); final Swagger swagger = new SwaggerParser().read("src/test/resources/2_0/duplicateOperationIds.yaml"); CodegenConfig codegenConfig = new JavaClientCodegen(); codegenConfig.setOutputDir(output.getAbsolutePath()); ClientOptInput clientOptInput = new ClientOptInput().opts(new ClientOpts()).swagger(swagger).config(codegenConfig); DefaultGenerator generator = new DefaultGenerator(); generator.opts(clientOptInput); Map<String, List<CodegenOperation>> paths = generator.processPaths(swagger.getPaths()); Set<String> opIds = new HashSet<String>(); for (String path : paths.keySet()) { List<CodegenOperation> ops = paths.get(path); for (CodegenOperation op : ops) { assertFalse(opIds.contains(op.operationId)); opIds.add(op.operationId); } } }
@Test public void testSecurityWithoutGlobal() throws Exception { final Swagger swagger = new SwaggerParser().read("src/test/resources/2_0/petstore.json"); CodegenConfig codegenConfig = new JavaClientCodegen(); ClientOptInput clientOptInput = new ClientOptInput().opts(new ClientOpts()).swagger(swagger).config(codegenConfig); DefaultGenerator gen = new DefaultGenerator(); gen.opts(clientOptInput); Map<String, List<CodegenOperation>> paths = gen.processPaths(swagger.getPaths()); CodegenSecurity cs, apiKey, petstoreAuth; // security of "getPetById": api_key CodegenOperation getPetById = findCodegenOperationByOperationId(paths, "getPetById"); assertEquals(getPetById.authMethods.size(), 2); cs = getPetById.authMethods.get(0); if ("api_key".equals(cs.name)) { apiKey = cs; petstoreAuth = getPetById.authMethods.get(1); } else { petstoreAuth = cs; apiKey = getPetById.authMethods.get(1); } assertEquals(petstoreAuth.name, "petstore_auth"); assertEquals(petstoreAuth.type, "oauth2"); assertEquals(apiKey.name, "api_key"); assertEquals(apiKey.type, "apiKey"); // security of "updatePetWithForm": petstore_auth CodegenOperation updatePetWithForm = findCodegenOperationByOperationId(paths, "updatePetWithForm"); assertEquals(updatePetWithForm.authMethods.size(), 1); petstoreAuth = updatePetWithForm.authMethods.iterator().next(); assertEquals(petstoreAuth.name, "petstore_auth"); assertEquals(petstoreAuth.type, "oauth2"); // security of "loginUser": null (no global security either) CodegenOperation loginUser = findCodegenOperationByOperationId(paths, "loginUser"); assertNull(loginUser.authMethods); }