forked from loafle/openapi-generator-original
Insert missing quote in clientPropertiesConfiguration.mustache for the Spring generator (#18172)
* #18090 Insert missing quote: `{{{tokenUrl}}}"` -> `"{{{tokenUrl}}}"` * #18058 Added test unit * #18058 Stop unit test from generating unnecessary APIs * fix test --------- Co-authored-by: Flemming Nørnberg Larsen <f.larsen@elsevier.com>
This commit is contained in:
+2
-2
@@ -17,7 +17,7 @@ public class ClientPropertiesConfiguration {
|
||||
{{#isCode}}
|
||||
properties.put("spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-grant-type", "authorization_code" );
|
||||
properties.put("spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.redirect-uri", "set-{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}-redirect-uri" );
|
||||
properties.put("spring.security.oauth2.client.provider.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.token-uri", {{{tokenUrl}}}" );
|
||||
properties.put("spring.security.oauth2.client.provider.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.token-uri", "{{{tokenUrl}}}" );
|
||||
properties.put("spring.security.oauth2.client.provider.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-uri", "{{{authorizationUrl}}}" );
|
||||
{{/isCode}}
|
||||
{{#isPassword}}
|
||||
@@ -38,4 +38,4 @@ public class ClientPropertiesConfiguration {
|
||||
|
||||
}
|
||||
{{/isOAuth}}
|
||||
{{/authMethods}}
|
||||
{{/authMethods}}
|
||||
|
||||
+40
@@ -49,6 +49,7 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -1191,6 +1192,45 @@ public class SpringCodegenTest {
|
||||
Assert.assertEquals(codegen.additionalProperties().get(SpringCodegen.UNHANDLED_EXCEPTION_HANDLING), true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenerationOfClientPropertiesConfigurationForOAuth() throws Exception {
|
||||
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
|
||||
output.deleteOnExit();
|
||||
|
||||
OpenAPI openAPI = new OpenAPIParser()
|
||||
.readLocation("src/test/resources/3_0/issue_18090.yaml", null, new ParseOptions()).getOpenAPI();
|
||||
|
||||
final SpringCodegen codegen = new SpringCodegen();
|
||||
codegen.setOpenAPI(openAPI);
|
||||
codegen.setOutputDir(output.getAbsolutePath());
|
||||
|
||||
codegen.setHideGenerationTimestamp(true);
|
||||
codegen.setInterfaceOnly(false);
|
||||
codegen.setLibrary(SPRING_CLOUD_LIBRARY);
|
||||
|
||||
codegen.processOpts();
|
||||
|
||||
ClientOptInput input = new ClientOptInput();
|
||||
input.openAPI(openAPI);
|
||||
input.config(codegen);
|
||||
|
||||
DefaultGenerator generator = new DefaultGenerator();
|
||||
|
||||
generator.setGeneratorPropertyDefault(CodegenConstants.MODELS, "false");
|
||||
generator.setGeneratorPropertyDefault(CodegenConstants.MODEL_TESTS, "false");
|
||||
generator.setGeneratorPropertyDefault(CodegenConstants.MODEL_DOCS, "false");
|
||||
generator.setGeneratorPropertyDefault(CodegenConstants.APIS, "false");
|
||||
generator.setGeneratorPropertyDefault(CodegenConstants.SUPPORTING_FILES, "true");
|
||||
|
||||
generator.opts(input).generate();
|
||||
|
||||
Path filePath = Paths.get(output.getAbsolutePath(), "src/main/java/org/openapitools/configuration/ClientPropertiesConfiguration.java");
|
||||
|
||||
String content = new String(Files.readAllBytes(filePath), "UTF-8");
|
||||
Assert.assertTrue(content.contains("properties.put(\"spring.security.oauth2.client.provider.oAuth2AccessCode.token-uri\", \"${tokenUrl}\" );"));
|
||||
Assert.assertTrue(content.contains("properties.put(\"spring.security.oauth2.client.provider.oAuth2AccessCode.authorization-uri\", \"${authorizationUrl}\" );"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void useBeanValidationTruePerformBeanValidationFalseJava8TrueForFormatEmail() throws IOException {
|
||||
beanValidationForFormatEmail(true, false, true, "@javax.validation.constraints.Email", "@org.hibernate.validator.constraints.Email");
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
openapi: "3.0.3"
|
||||
info:
|
||||
title: Test for OAuth2 provider
|
||||
version: 1.0.0
|
||||
|
||||
security:
|
||||
- OAuth2:
|
||||
- openid
|
||||
- profile
|
||||
|
||||
paths:
|
||||
/some/endpoint:
|
||||
get:
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
|
||||
components:
|
||||
securitySchemes:
|
||||
OAuth2:
|
||||
type: oauth2
|
||||
x-tokenName: id_token
|
||||
flows:
|
||||
authorizationCode:
|
||||
authorizationUrl: "${authorizationUrl}"
|
||||
tokenUrl: "${tokenUrl}"
|
||||
scopes:
|
||||
openid: Access OpenId Connect info
|
||||
profile: Profile info
|
||||
Reference in New Issue
Block a user