Skip to content

Commit 1b6c5c0

Browse files
committed
git commit -m"adding @authenticated annotation for empty oauth2"
1 parent 5589824 commit 1b6c5c0

3 files changed

Lines changed: 72 additions & 0 deletions

File tree

modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/apiInterface.mustache

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,13 @@
5050
{{^vendorExtensions.x-java-is-response-void}}@org.eclipse.microprofile.openapi.annotations.media.Content(schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = {{{baseType}}}.class{{#vendorExtensions.x-microprofile-open-api-return-schema-container}}, type = {{{.}}} {{/vendorExtensions.x-microprofile-open-api-return-schema-container}}{{#vendorExtensions.x-microprofile-open-api-return-unique-items}}, uniqueItems = true {{/vendorExtensions.x-microprofile-open-api-return-unique-items}})){{/vendorExtensions.x-java-is-response-void}}
5151
}){{^-last}},{{/-last}}{{/responses}}
5252
}){{/hasProduces}}{{/useMicroProfileOpenAPIAnnotations}}
53+
{{#hasAuthMethods}}
54+
{{#authMethods}}
55+
{{#isOAuth}}
56+
{{^scopes}}
57+
@io.quarkus.security.Authenticated
58+
{{/scopes}}
59+
{{/isOAuth}}
60+
{{/authMethods}}
61+
{{/hasAuthMethods}}
5362
{{#supportAsync}}{{>returnAsyncTypeInterface}}{{/supportAsync}}{{^supportAsync}}{{#returnJBossResponse}}{{>returnResponseTypeInterface}}{{/returnJBossResponse}}{{^returnJBossResponse}}{{#returnResponse}}Response{{/returnResponse}}{{^returnResponse}}{{>returnTypeInterface}}{{/returnResponse}}{{/returnJBossResponse}}{{/supportAsync}} {{nickname}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>cookieParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{^-last}},{{/-last}}{{/allParams}});

modules/openapi-generator/src/main/resources/JavaJaxRS/spec/libraries/quarkus/apiMethod.mustache

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,15 @@
4747
{{^vendorExtensions.x-java-is-response-void}}@org.eclipse.microprofile.openapi.annotations.media.Content(schema = @org.eclipse.microprofile.openapi.annotations.media.Schema(implementation = {{{baseType}}}.class{{#vendorExtensions.x-microprofile-open-api-return-schema-container}}, type = {{{.}}} {{/vendorExtensions.x-microprofile-open-api-return-schema-container}}{{#vendorExtensions.x-microprofile-open-api-return-unique-items}}, uniqueItems = true {{/vendorExtensions.x-microprofile-open-api-return-unique-items}})){{/vendorExtensions.x-java-is-response-void}}
4848
}){{^-last}},{{/-last}}{{/responses}}
4949
}){{/hasProduces}}{{/useMicroProfileOpenAPIAnnotations}}
50+
{{#hasAuthMethods}}
51+
{{#authMethods}}
52+
{{#isOAuth}}
53+
{{^scopes}}
54+
@io.quarkus.security.Authenticated
55+
{{/scopes}}
56+
{{/isOAuth}}
57+
{{/authMethods}}
58+
{{/hasAuthMethods}}
5059
public {{#supportAsync}}{{#useMutiny}}Uni{{/useMutiny}}{{^useMutiny}}CompletionStage{{/useMutiny}}<{{/supportAsync}}{{#returnJBossResponse}}{{>returnResponseTypeInterface}}{{/returnJBossResponse}}{{^returnJBossResponse}}Response{{/returnJBossResponse}}{{#supportAsync}}>{{/supportAsync}} {{nickname}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>cookieParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{^-last}},{{/-last}}{{/allParams}}) {
5160
return {{#supportAsync}}{{#useMutiny}}Uni.createFrom().item({{/useMutiny}}{{^useMutiny}}CompletableFuture.supplyAsync(() -> {{/useMutiny}}{{/supportAsync}}Response.ok().entity("magic!").build(){{#supportAsync}}){{/supportAsync}};
5261
}

modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJAXRSSpecServerCodegenTest.java

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1342,4 +1342,58 @@ public void generatesDeprecatedAnnotationsForModelsOperationsAndParameters_issue
13421342
JavaFileAssert.assertThat(petApi).fileContains("findPetsByStatus", "@Deprecated", "@QueryParam(\"status\")");
13431343
}
13441344

1345+
@Test
1346+
public void generateQuarkusInterfaceWithAuthenticatedForOAuth2EmptyScopes() throws Exception {
1347+
final File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
1348+
output.deleteOnExit();
1349+
1350+
final OpenAPI openAPI = new OpenAPIParser()
1351+
.readLocation("src/test/resources/3_0/jaxrs-spec/quarkus-oauth2-no-scopes.yaml", null, new ParseOptions()).getOpenAPI();
1352+
1353+
codegen.setOutputDir(output.getAbsolutePath());
1354+
codegen.setLibrary(QUARKUS_LIBRARY);
1355+
codegen.additionalProperties().put(INTERFACE_ONLY, true);
1356+
codegen.additionalProperties().put(USE_JAKARTA_EE, true);
1357+
1358+
final ClientOptInput input = new ClientOptInput()
1359+
.openAPI(openAPI)
1360+
.config(codegen);
1361+
1362+
final DefaultGenerator generator = new DefaultGenerator();
1363+
final List<File> files = generator.opts(input).generate();
1364+
1365+
validateJavaSourceFiles(files);
1366+
1367+
final Path defaultApi = output.toPath().resolve("src/gen/java/org/openapitools/api/DefaultApi.java");
1368+
TestUtils.ensureContainsFile(files, output, "src/gen/java/org/openapitools/api/DefaultApi.java");
1369+
assertFileContains(defaultApi, "@io.quarkus.security.Authenticated");
1370+
}
1371+
1372+
@Test
1373+
public void generateQuarkusImplWithAuthenticatedForOAuth2EmptyScopes() throws Exception {
1374+
final File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
1375+
output.deleteOnExit();
1376+
1377+
final OpenAPI openAPI = new OpenAPIParser()
1378+
.readLocation("src/test/resources/3_0/jaxrs-spec/quarkus-oauth2-no-scopes.yaml", null, new ParseOptions()).getOpenAPI();
1379+
1380+
codegen.setOutputDir(output.getAbsolutePath());
1381+
codegen.setLibrary(QUARKUS_LIBRARY);
1382+
codegen.additionalProperties().put(INTERFACE_ONLY, false);
1383+
codegen.additionalProperties().put(USE_JAKARTA_EE, true);
1384+
1385+
final ClientOptInput input = new ClientOptInput()
1386+
.openAPI(openAPI)
1387+
.config(codegen);
1388+
1389+
final DefaultGenerator generator = new DefaultGenerator();
1390+
final List<File> files = generator.opts(input).generate();
1391+
1392+
validateJavaSourceFiles(files);
1393+
1394+
final Path defaultApi = output.toPath().resolve("src/gen/java/org/openapitools/api/DefaultApi.java");
1395+
TestUtils.ensureContainsFile(files, output, "src/gen/java/org/openapitools/api/DefaultApi.java");
1396+
assertFileContains(defaultApi, "@io.quarkus.security.Authenticated");
1397+
}
1398+
13451399
}

0 commit comments

Comments
 (0)