-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Java] Generate valid code if no Authentication implementations present #5788
[Java] Generate valid code if no Authentication implementations present #5788
Conversation
Can someone with permission please re-try the failed checks |
…ds-hasTokenAuthMethods
I cannot replicate the travis-ci failure on my local branch, this command generates valid code mvn --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/java-client.xml |
assertEquals("api_key", apiKeyAuth.getParamName()); | ||
|
||
auth = auths.get("petstore_auth"); | ||
assertNull(auths.get("api_key")); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why does auths.get("api_key") return null?
I remember some endpoints in the petstore spec are defined to use "api_key" for authentication
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per #2861 (comment) we now have hasTokenAuthMethods in DefaultGenerator which controls whether an ApiKeyAuth is registered in the authentications map. Sounds like you're saying that is not working - any idea why not?
Sorry I should have caught it earlier. Please rename |
@wing328 done |
@jonfreedman I think I've figured out the issue and filed #6347 to add the helper methods to determine if certain authentication is required in the spec. (basically we should not determine if certain files should be included in the post-process operations) I wonder if you can merge the latest master into this branch or file a new PR using the helper methods I added instead. Thank you. |
@wing328 I'll merge now |
…ds-hasTokenAuthMethods # Conflicts: # modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java # modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java # modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ProcessUtils.java # modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java # samples/client/petstore/java/jersey2/src/test/java/org/openapitools/client/ApiClientTest.java
OK lets see what state this is in now, I must say this project is really a challenge to work with |
The bitrise tests passed but apparently it can't send status back to github... |
@wing328 I believe this is now "green" (https://app.bitrise.io/build/eeed859d13299e21) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@jonfreedman thanks for the feedback. I agreed there's a learning curve. If you've any suggestions to make it easier to contribute, please share your feedback with us. (For this particular case, there's a fundamental issue (bug) with how we selectively add authentication-related files in post-process operations to start with and thanks for PR so that we can uncover the issue and fix it accordingly) |
* master: decomission nodejs server generator (OpenAPITools#6406) [Java] Generate valid code if no Authentication implementations present (OpenAPITools#5788)
* master: (71 commits) [PS] check if JSON properties is defined (#6419) Add C++ UE4 client generator (#6399) Add a link to the article in dev.to (#6421) typescript-axios anytype is not defined (#6335) [Java][jersey2] Make (de)serialization work for oneOf models, add convenience and comparison methods (#6323) Migrate OCaml petstore to use OAS v3 spec (#6348) [Python-experimental] Fix type error if oneof/anyof child schema is null type (#6387) [Python-server] Fix blueplanet 'file not found' error (#6411) [nodejs] Fix deprecation notice when running sample nodejs script (#6412) [java-jersey2] Conditionally include http signature mustache template (#6413) [bug] Fix path provider bug on CI (#6409) decomission nodejs server generator (#6406) [Java] Generate valid code if no Authentication implementations present (#5788) update java jersey2 samples [Java] Fix mustache tag in pom template for HTTP signature (#6404) [Python-experimental] Rename from_server variable to json_variable_naming (#6390) Add a link to medium blog post (#6403) Clean up debug in test (#6398) readding bin/swift5-petstore-readonlyProperties.json remove ./bin/swift5-petstore-readonlyProperties.json ...
resurrects #2861
Add hasBasicAuthMethods & hasTokenAuthMethods methods, use to decide which authentication code to use in standard Java and Java+RestTemplate templates.
PR checklist
./bin/
(or Windows batch scripts under.\bin\windows
) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
if updating the code or mustache templates for a language ({LANG}
) (e.g. php, ruby, python, etc).master
,4.3.x
,5.0.x
. Default:master
.@bbdouglas @sreeshas @jfiala @lukoyanov @cbornet @jeff9finger @karismann @Zomzog @lwlee2608 @bkabrda