Skip to content

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 - #7597

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser
Dec 8, 2020
Merged

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22#7597
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser

Conversation

@codymikol

@codymikolcodymikol commented Oct 4, 2020

Copy link
Copy Markdown
Contributor

this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.

Fixes N/A

This bumps the swagger-parser library form 2.0.20 to 2.0.22, this fixes a bug in the parser library that would cause openapi-generator to mysteriously fail when parameters are not defined in your api spec

My original issue was opened over here: #7453 , but my fix just prevented openapi-generator from throwing a null pointer exception. This update fixes the underlying problem to that issue.

This is the specific PR that fixed that issue: swagger-api/swagger-parser#1410 (thank you, I appreciate you)

2.0.22 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.22

2.0.21 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.21

Changes Related to this version bump

The petstore examples have a new parameter relating to: Add extension to keep track of original swagger version in PR #1374

The InlineModelResolver fixStringModel method needs to be adjusted per Fix for Empty and Blank query parameters issue PR - #1376 as it will no longer return null values for empty url parameters, but rather empty strings.

There is also a test that essentially just proves the same getExample method will return null, I have changed the test to instead just assert the returned value is an empty string. I do think that this is an unnecessary test for this project as it is essentially testing a 3rd party dependency and would be fine with removing it based on feedback.

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • If contributing template-only or documentation-only changes which will change sample output, build the project beforehand.
  • Run the shell script ./bin/generate-samples.shto update all Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*. For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

@codymikol

Copy link
Copy Markdown
ContributorAuthor

From the looks of the CI, there will be quite a bit more work than just bumping the version number :/

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It appears all of these failing tests come from changes in 2.0.21 : (

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It seems to me that there was some workaround in openapigenerator for string values having escape characters baked into them that is no longer the case, I have an ugly fix that makes most of the tests pass, I'll try and clean it up farther.

@codymikol
codymikolforce-pushed the bump-swagger-parser branch 2 times, most recently from 52c16b2 to 435ce7eCompareOctober 4, 2020 17:09
@codymikol

Copy link
Copy Markdown
ContributorAuthor

There is a test emptyExampleOnStringTypeModels that seems to assert the swagger-models schema object has a null value for getExample(), which is no longer the case after this update. For the time being I have changed it to assert that the getExample() is an empty string, but seeing as this is testing outside the scope of openapi-generator, I think we can just go ahead and remove this test. Feedback on that would be great.

@codymikol

codymikol commented Oct 4, 2020

Copy link
Copy Markdown
ContributorAuthor

: / It looks like all CIs are passing except circleci, but circleci won't let me look at the results of the build unless I give it read / write access to my repos and I'm not too keen on that.

EDIT: Made a burner bitbucket account, looks like it timed out. I'll just rehash the commit I suppose...

EDIT: Looks like we’re all good to go!

@jimschubertjimschubert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm
the test assertion just needs to be flipped

pinging @OpenAPITools/generator-core-team for additional set of eyes, as I know there was some reason we weren't bumping to 2.0.21 but can't recall what it was.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sebastien-rosset I see you added this to swagger-parser, but it doesn't seem to be consumed anywhere.

Do you need to create a follow up to consume this as mentioned in #6290?

Limitation: due to issue swagger-parser #1369, achieving OAS compliance is not possible when the input document uses the OAS 2.0 schema. For OAS 2.0 documents, the legacy behavior should be used by setting the disallowAdditionalPropertiesIfNotPresent CLI option to true.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, there needs to be a follow up. Actually even better would be to ensure the 2.0 parser is converting additionalProperties properly.
With x-original-swagger-version, at least we know the source is 2.0, but if the converter is not converting properly to 3.0 (and retaining the semantics), it's still going to be a problem.

@jimschubertjimschubert added this to the 5.0.0 milestone Oct 5, 2020
@jimschubertjimschubert added the dependencies Pull requests that update a dependency file label Oct 5, 2020
this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.
Fixes N/A
@wing328wing328 added Enhancement: Compatibility Swagger-Parser and removed dependencies Pull requests that update a dependency file labels Dec 8, 2020
@wing328
wing328 merged commit f9d6c6f into OpenAPITools:masterDec 8, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@codymikol@jimschubert@sebastien-rosset@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 by codymikol · Pull Request #7597 · OpenAPITools/openapi-generator · GitHub
Skip to content

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 - #7597

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser
Dec 8, 2020
Merged

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22#7597
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser

Conversation

@codymikol

@codymikolcodymikol commented Oct 4, 2020

Copy link
Copy Markdown
Contributor

this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.

Fixes N/A

This bumps the swagger-parser library form 2.0.20 to 2.0.22, this fixes a bug in the parser library that would cause openapi-generator to mysteriously fail when parameters are not defined in your api spec

My original issue was opened over here: #7453 , but my fix just prevented openapi-generator from throwing a null pointer exception. This update fixes the underlying problem to that issue.

This is the specific PR that fixed that issue: swagger-api/swagger-parser#1410 (thank you, I appreciate you)

2.0.22 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.22

2.0.21 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.21

Changes Related to this version bump

The petstore examples have a new parameter relating to: Add extension to keep track of original swagger version in PR #1374

The InlineModelResolver fixStringModel method needs to be adjusted per Fix for Empty and Blank query parameters issue PR - #1376 as it will no longer return null values for empty url parameters, but rather empty strings.

There is also a test that essentially just proves the same getExample method will return null, I have changed the test to instead just assert the returned value is an empty string. I do think that this is an unnecessary test for this project as it is essentially testing a 3rd party dependency and would be fine with removing it based on feedback.

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • If contributing template-only or documentation-only changes which will change sample output, build the project beforehand.
  • Run the shell script ./bin/generate-samples.shto update all Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*. For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

@codymikol

Copy link
Copy Markdown
ContributorAuthor

From the looks of the CI, there will be quite a bit more work than just bumping the version number :/

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It appears all of these failing tests come from changes in 2.0.21 : (

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It seems to me that there was some workaround in openapigenerator for string values having escape characters baked into them that is no longer the case, I have an ugly fix that makes most of the tests pass, I'll try and clean it up farther.

@codymikol
codymikolforce-pushed the bump-swagger-parser branch 2 times, most recently from 52c16b2 to 435ce7eCompareOctober 4, 2020 17:09
@codymikol

Copy link
Copy Markdown
ContributorAuthor

There is a test emptyExampleOnStringTypeModels that seems to assert the swagger-models schema object has a null value for getExample(), which is no longer the case after this update. For the time being I have changed it to assert that the getExample() is an empty string, but seeing as this is testing outside the scope of openapi-generator, I think we can just go ahead and remove this test. Feedback on that would be great.

@codymikol

codymikol commented Oct 4, 2020

Copy link
Copy Markdown
ContributorAuthor

: / It looks like all CIs are passing except circleci, but circleci won't let me look at the results of the build unless I give it read / write access to my repos and I'm not too keen on that.

EDIT: Made a burner bitbucket account, looks like it timed out. I'll just rehash the commit I suppose...

EDIT: Looks like we’re all good to go!

@jimschubertjimschubert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm
the test assertion just needs to be flipped

pinging @OpenAPITools/generator-core-team for additional set of eyes, as I know there was some reason we weren't bumping to 2.0.21 but can't recall what it was.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sebastien-rosset I see you added this to swagger-parser, but it doesn't seem to be consumed anywhere.

Do you need to create a follow up to consume this as mentioned in #6290?

Limitation: due to issue swagger-parser #1369, achieving OAS compliance is not possible when the input document uses the OAS 2.0 schema. For OAS 2.0 documents, the legacy behavior should be used by setting the disallowAdditionalPropertiesIfNotPresent CLI option to true.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, there needs to be a follow up. Actually even better would be to ensure the 2.0 parser is converting additionalProperties properly.
With x-original-swagger-version, at least we know the source is 2.0, but if the converter is not converting properly to 3.0 (and retaining the semantics), it's still going to be a problem.

@jimschubertjimschubert added this to the 5.0.0 milestone Oct 5, 2020
@jimschubertjimschubert added the dependencies Pull requests that update a dependency file label Oct 5, 2020
this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.
Fixes N/A
@wing328wing328 added Enhancement: Compatibility Swagger-Parser and removed dependencies Pull requests that update a dependency file labels Dec 8, 2020
@wing328
wing328 merged commit f9d6c6f into OpenAPITools:masterDec 8, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@codymikol@jimschubert@sebastien-rosset@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 by codymikol · Pull Request #7597 · OpenAPITools/openapi-generator · GitHub
Skip to content

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 - #7597

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser
Dec 8, 2020
Merged

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22#7597
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser

Conversation

@codymikol

@codymikolcodymikol commented Oct 4, 2020

Copy link
Copy Markdown
Contributor

this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.

Fixes N/A

This bumps the swagger-parser library form 2.0.20 to 2.0.22, this fixes a bug in the parser library that would cause openapi-generator to mysteriously fail when parameters are not defined in your api spec

My original issue was opened over here: #7453 , but my fix just prevented openapi-generator from throwing a null pointer exception. This update fixes the underlying problem to that issue.

This is the specific PR that fixed that issue: swagger-api/swagger-parser#1410 (thank you, I appreciate you)

2.0.22 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.22

2.0.21 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.21

Changes Related to this version bump

The petstore examples have a new parameter relating to: Add extension to keep track of original swagger version in PR #1374

The InlineModelResolver fixStringModel method needs to be adjusted per Fix for Empty and Blank query parameters issue PR - #1376 as it will no longer return null values for empty url parameters, but rather empty strings.

There is also a test that essentially just proves the same getExample method will return null, I have changed the test to instead just assert the returned value is an empty string. I do think that this is an unnecessary test for this project as it is essentially testing a 3rd party dependency and would be fine with removing it based on feedback.

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • If contributing template-only or documentation-only changes which will change sample output, build the project beforehand.
  • Run the shell script ./bin/generate-samples.shto update all Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*. For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

@codymikol

Copy link
Copy Markdown
ContributorAuthor

From the looks of the CI, there will be quite a bit more work than just bumping the version number :/

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It appears all of these failing tests come from changes in 2.0.21 : (

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It seems to me that there was some workaround in openapigenerator for string values having escape characters baked into them that is no longer the case, I have an ugly fix that makes most of the tests pass, I'll try and clean it up farther.

@codymikol
codymikolforce-pushed the bump-swagger-parser branch 2 times, most recently from 52c16b2 to 435ce7eCompareOctober 4, 2020 17:09
@codymikol

Copy link
Copy Markdown
ContributorAuthor

There is a test emptyExampleOnStringTypeModels that seems to assert the swagger-models schema object has a null value for getExample(), which is no longer the case after this update. For the time being I have changed it to assert that the getExample() is an empty string, but seeing as this is testing outside the scope of openapi-generator, I think we can just go ahead and remove this test. Feedback on that would be great.

@codymikol

codymikol commented Oct 4, 2020

Copy link
Copy Markdown
ContributorAuthor

: / It looks like all CIs are passing except circleci, but circleci won't let me look at the results of the build unless I give it read / write access to my repos and I'm not too keen on that.

EDIT: Made a burner bitbucket account, looks like it timed out. I'll just rehash the commit I suppose...

EDIT: Looks like we’re all good to go!

@jimschubertjimschubert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm
the test assertion just needs to be flipped

pinging @OpenAPITools/generator-core-team for additional set of eyes, as I know there was some reason we weren't bumping to 2.0.21 but can't recall what it was.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sebastien-rosset I see you added this to swagger-parser, but it doesn't seem to be consumed anywhere.

Do you need to create a follow up to consume this as mentioned in #6290?

Limitation: due to issue swagger-parser #1369, achieving OAS compliance is not possible when the input document uses the OAS 2.0 schema. For OAS 2.0 documents, the legacy behavior should be used by setting the disallowAdditionalPropertiesIfNotPresent CLI option to true.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, there needs to be a follow up. Actually even better would be to ensure the 2.0 parser is converting additionalProperties properly.
With x-original-swagger-version, at least we know the source is 2.0, but if the converter is not converting properly to 3.0 (and retaining the semantics), it's still going to be a problem.

@jimschubertjimschubert added this to the 5.0.0 milestone Oct 5, 2020
@jimschubertjimschubert added the dependencies Pull requests that update a dependency file label Oct 5, 2020
this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.
Fixes N/A
@wing328wing328 added Enhancement: Compatibility Swagger-Parser and removed dependencies Pull requests that update a dependency file labels Dec 8, 2020
@wing328
wing328 merged commit f9d6c6f into OpenAPITools:masterDec 8, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@codymikol@jimschubert@sebastien-rosset@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 by codymikol · Pull Request #7597 · OpenAPITools/openapi-generator · GitHub
Skip to content

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 - #7597

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser
Dec 8, 2020
Merged

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22#7597
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser

Conversation

@codymikol

@codymikolcodymikol commented Oct 4, 2020

Copy link
Copy Markdown
Contributor

this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.

Fixes N/A

This bumps the swagger-parser library form 2.0.20 to 2.0.22, this fixes a bug in the parser library that would cause openapi-generator to mysteriously fail when parameters are not defined in your api spec

My original issue was opened over here: #7453 , but my fix just prevented openapi-generator from throwing a null pointer exception. This update fixes the underlying problem to that issue.

This is the specific PR that fixed that issue: swagger-api/swagger-parser#1410 (thank you, I appreciate you)

2.0.22 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.22

2.0.21 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.21

Changes Related to this version bump

The petstore examples have a new parameter relating to: Add extension to keep track of original swagger version in PR #1374

The InlineModelResolver fixStringModel method needs to be adjusted per Fix for Empty and Blank query parameters issue PR - #1376 as it will no longer return null values for empty url parameters, but rather empty strings.

There is also a test that essentially just proves the same getExample method will return null, I have changed the test to instead just assert the returned value is an empty string. I do think that this is an unnecessary test for this project as it is essentially testing a 3rd party dependency and would be fine with removing it based on feedback.

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • If contributing template-only or documentation-only changes which will change sample output, build the project beforehand.
  • Run the shell script ./bin/generate-samples.shto update all Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*. For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

@codymikol

Copy link
Copy Markdown
ContributorAuthor

From the looks of the CI, there will be quite a bit more work than just bumping the version number :/

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It appears all of these failing tests come from changes in 2.0.21 : (

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It seems to me that there was some workaround in openapigenerator for string values having escape characters baked into them that is no longer the case, I have an ugly fix that makes most of the tests pass, I'll try and clean it up farther.

@codymikol
codymikolforce-pushed the bump-swagger-parser branch 2 times, most recently from 52c16b2 to 435ce7eCompareOctober 4, 2020 17:09
@codymikol

Copy link
Copy Markdown
ContributorAuthor

There is a test emptyExampleOnStringTypeModels that seems to assert the swagger-models schema object has a null value for getExample(), which is no longer the case after this update. For the time being I have changed it to assert that the getExample() is an empty string, but seeing as this is testing outside the scope of openapi-generator, I think we can just go ahead and remove this test. Feedback on that would be great.

@codymikol

codymikol commented Oct 4, 2020

Copy link
Copy Markdown
ContributorAuthor

: / It looks like all CIs are passing except circleci, but circleci won't let me look at the results of the build unless I give it read / write access to my repos and I'm not too keen on that.

EDIT: Made a burner bitbucket account, looks like it timed out. I'll just rehash the commit I suppose...

EDIT: Looks like we’re all good to go!

@jimschubertjimschubert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm
the test assertion just needs to be flipped

pinging @OpenAPITools/generator-core-team for additional set of eyes, as I know there was some reason we weren't bumping to 2.0.21 but can't recall what it was.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sebastien-rosset I see you added this to swagger-parser, but it doesn't seem to be consumed anywhere.

Do you need to create a follow up to consume this as mentioned in #6290?

Limitation: due to issue swagger-parser #1369, achieving OAS compliance is not possible when the input document uses the OAS 2.0 schema. For OAS 2.0 documents, the legacy behavior should be used by setting the disallowAdditionalPropertiesIfNotPresent CLI option to true.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, there needs to be a follow up. Actually even better would be to ensure the 2.0 parser is converting additionalProperties properly.
With x-original-swagger-version, at least we know the source is 2.0, but if the converter is not converting properly to 3.0 (and retaining the semantics), it's still going to be a problem.

@jimschubertjimschubert added this to the 5.0.0 milestone Oct 5, 2020
@jimschubertjimschubert added the dependencies Pull requests that update a dependency file label Oct 5, 2020
this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.
Fixes N/A
@wing328wing328 added Enhancement: Compatibility Swagger-Parser and removed dependencies Pull requests that update a dependency file labels Dec 8, 2020
@wing328
wing328 merged commit f9d6c6f into OpenAPITools:masterDec 8, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@codymikol@jimschubert@sebastien-rosset@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 by codymikol · Pull Request #7597 · OpenAPITools/openapi-generator · GitHub
Skip to content

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 - #7597

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser
Dec 8, 2020
Merged

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22#7597
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser

Conversation

@codymikol

@codymikolcodymikol commented Oct 4, 2020

Copy link
Copy Markdown
Contributor

this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.

Fixes N/A

This bumps the swagger-parser library form 2.0.20 to 2.0.22, this fixes a bug in the parser library that would cause openapi-generator to mysteriously fail when parameters are not defined in your api spec

My original issue was opened over here: #7453 , but my fix just prevented openapi-generator from throwing a null pointer exception. This update fixes the underlying problem to that issue.

This is the specific PR that fixed that issue: swagger-api/swagger-parser#1410 (thank you, I appreciate you)

2.0.22 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.22

2.0.21 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.21

Changes Related to this version bump

The petstore examples have a new parameter relating to: Add extension to keep track of original swagger version in PR #1374

The InlineModelResolver fixStringModel method needs to be adjusted per Fix for Empty and Blank query parameters issue PR - #1376 as it will no longer return null values for empty url parameters, but rather empty strings.

There is also a test that essentially just proves the same getExample method will return null, I have changed the test to instead just assert the returned value is an empty string. I do think that this is an unnecessary test for this project as it is essentially testing a 3rd party dependency and would be fine with removing it based on feedback.

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • If contributing template-only or documentation-only changes which will change sample output, build the project beforehand.
  • Run the shell script ./bin/generate-samples.shto update all Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*. For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

@codymikol

Copy link
Copy Markdown
ContributorAuthor

From the looks of the CI, there will be quite a bit more work than just bumping the version number :/

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It appears all of these failing tests come from changes in 2.0.21 : (

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It seems to me that there was some workaround in openapigenerator for string values having escape characters baked into them that is no longer the case, I have an ugly fix that makes most of the tests pass, I'll try and clean it up farther.

@codymikol
codymikolforce-pushed the bump-swagger-parser branch 2 times, most recently from 52c16b2 to 435ce7eCompareOctober 4, 2020 17:09
@codymikol

Copy link
Copy Markdown
ContributorAuthor

There is a test emptyExampleOnStringTypeModels that seems to assert the swagger-models schema object has a null value for getExample(), which is no longer the case after this update. For the time being I have changed it to assert that the getExample() is an empty string, but seeing as this is testing outside the scope of openapi-generator, I think we can just go ahead and remove this test. Feedback on that would be great.

@codymikol

codymikol commented Oct 4, 2020

Copy link
Copy Markdown
ContributorAuthor

: / It looks like all CIs are passing except circleci, but circleci won't let me look at the results of the build unless I give it read / write access to my repos and I'm not too keen on that.

EDIT: Made a burner bitbucket account, looks like it timed out. I'll just rehash the commit I suppose...

EDIT: Looks like we’re all good to go!

@jimschubertjimschubert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm
the test assertion just needs to be flipped

pinging @OpenAPITools/generator-core-team for additional set of eyes, as I know there was some reason we weren't bumping to 2.0.21 but can't recall what it was.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sebastien-rosset I see you added this to swagger-parser, but it doesn't seem to be consumed anywhere.

Do you need to create a follow up to consume this as mentioned in #6290?

Limitation: due to issue swagger-parser #1369, achieving OAS compliance is not possible when the input document uses the OAS 2.0 schema. For OAS 2.0 documents, the legacy behavior should be used by setting the disallowAdditionalPropertiesIfNotPresent CLI option to true.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, there needs to be a follow up. Actually even better would be to ensure the 2.0 parser is converting additionalProperties properly.
With x-original-swagger-version, at least we know the source is 2.0, but if the converter is not converting properly to 3.0 (and retaining the semantics), it's still going to be a problem.

@jimschubertjimschubert added this to the 5.0.0 milestone Oct 5, 2020
@jimschubertjimschubert added the dependencies Pull requests that update a dependency file label Oct 5, 2020
this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.
Fixes N/A
@wing328wing328 added Enhancement: Compatibility Swagger-Parser and removed dependencies Pull requests that update a dependency file labels Dec 8, 2020
@wing328
wing328 merged commit f9d6c6f into OpenAPITools:masterDec 8, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@codymikol@jimschubert@sebastien-rosset@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 by codymikol · Pull Request #7597 · OpenAPITools/openapi-generator · GitHub
Skip to content

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 - #7597

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser
Dec 8, 2020
Merged

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22#7597
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser

Conversation

@codymikol

@codymikolcodymikol commented Oct 4, 2020

Copy link
Copy Markdown
Contributor

this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.

Fixes N/A

This bumps the swagger-parser library form 2.0.20 to 2.0.22, this fixes a bug in the parser library that would cause openapi-generator to mysteriously fail when parameters are not defined in your api spec

My original issue was opened over here: #7453 , but my fix just prevented openapi-generator from throwing a null pointer exception. This update fixes the underlying problem to that issue.

This is the specific PR that fixed that issue: swagger-api/swagger-parser#1410 (thank you, I appreciate you)

2.0.22 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.22

2.0.21 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.21

Changes Related to this version bump

The petstore examples have a new parameter relating to: Add extension to keep track of original swagger version in PR #1374

The InlineModelResolver fixStringModel method needs to be adjusted per Fix for Empty and Blank query parameters issue PR - #1376 as it will no longer return null values for empty url parameters, but rather empty strings.

There is also a test that essentially just proves the same getExample method will return null, I have changed the test to instead just assert the returned value is an empty string. I do think that this is an unnecessary test for this project as it is essentially testing a 3rd party dependency and would be fine with removing it based on feedback.

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • If contributing template-only or documentation-only changes which will change sample output, build the project beforehand.
  • Run the shell script ./bin/generate-samples.shto update all Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*. For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

@codymikol

Copy link
Copy Markdown
ContributorAuthor

From the looks of the CI, there will be quite a bit more work than just bumping the version number :/

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It appears all of these failing tests come from changes in 2.0.21 : (

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It seems to me that there was some workaround in openapigenerator for string values having escape characters baked into them that is no longer the case, I have an ugly fix that makes most of the tests pass, I'll try and clean it up farther.

@codymikol
codymikolforce-pushed the bump-swagger-parser branch 2 times, most recently from 52c16b2 to 435ce7eCompareOctober 4, 2020 17:09
@codymikol

Copy link
Copy Markdown
ContributorAuthor

There is a test emptyExampleOnStringTypeModels that seems to assert the swagger-models schema object has a null value for getExample(), which is no longer the case after this update. For the time being I have changed it to assert that the getExample() is an empty string, but seeing as this is testing outside the scope of openapi-generator, I think we can just go ahead and remove this test. Feedback on that would be great.

@codymikol

codymikol commented Oct 4, 2020

Copy link
Copy Markdown
ContributorAuthor

: / It looks like all CIs are passing except circleci, but circleci won't let me look at the results of the build unless I give it read / write access to my repos and I'm not too keen on that.

EDIT: Made a burner bitbucket account, looks like it timed out. I'll just rehash the commit I suppose...

EDIT: Looks like we’re all good to go!

@jimschubertjimschubert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm
the test assertion just needs to be flipped

pinging @OpenAPITools/generator-core-team for additional set of eyes, as I know there was some reason we weren't bumping to 2.0.21 but can't recall what it was.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sebastien-rosset I see you added this to swagger-parser, but it doesn't seem to be consumed anywhere.

Do you need to create a follow up to consume this as mentioned in #6290?

Limitation: due to issue swagger-parser #1369, achieving OAS compliance is not possible when the input document uses the OAS 2.0 schema. For OAS 2.0 documents, the legacy behavior should be used by setting the disallowAdditionalPropertiesIfNotPresent CLI option to true.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, there needs to be a follow up. Actually even better would be to ensure the 2.0 parser is converting additionalProperties properly.
With x-original-swagger-version, at least we know the source is 2.0, but if the converter is not converting properly to 3.0 (and retaining the semantics), it's still going to be a problem.

@jimschubertjimschubert added this to the 5.0.0 milestone Oct 5, 2020
@jimschubertjimschubert added the dependencies Pull requests that update a dependency file label Oct 5, 2020
this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.
Fixes N/A
@wing328wing328 added Enhancement: Compatibility Swagger-Parser and removed dependencies Pull requests that update a dependency file labels Dec 8, 2020
@wing328
wing328 merged commit f9d6c6f into OpenAPITools:masterDec 8, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@codymikol@jimschubert@sebastien-rosset@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 by codymikol · Pull Request #7597 · OpenAPITools/openapi-generator · GitHub
Skip to content

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 - #7597

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser
Dec 8, 2020
Merged

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22#7597
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser

Conversation

@codymikol

@codymikolcodymikol commented Oct 4, 2020

Copy link
Copy Markdown
Contributor

this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.

Fixes N/A

This bumps the swagger-parser library form 2.0.20 to 2.0.22, this fixes a bug in the parser library that would cause openapi-generator to mysteriously fail when parameters are not defined in your api spec

My original issue was opened over here: #7453 , but my fix just prevented openapi-generator from throwing a null pointer exception. This update fixes the underlying problem to that issue.

This is the specific PR that fixed that issue: swagger-api/swagger-parser#1410 (thank you, I appreciate you)

2.0.22 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.22

2.0.21 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.21

Changes Related to this version bump

The petstore examples have a new parameter relating to: Add extension to keep track of original swagger version in PR #1374

The InlineModelResolver fixStringModel method needs to be adjusted per Fix for Empty and Blank query parameters issue PR - #1376 as it will no longer return null values for empty url parameters, but rather empty strings.

There is also a test that essentially just proves the same getExample method will return null, I have changed the test to instead just assert the returned value is an empty string. I do think that this is an unnecessary test for this project as it is essentially testing a 3rd party dependency and would be fine with removing it based on feedback.

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • If contributing template-only or documentation-only changes which will change sample output, build the project beforehand.
  • Run the shell script ./bin/generate-samples.shto update all Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*. For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

@codymikol

Copy link
Copy Markdown
ContributorAuthor

From the looks of the CI, there will be quite a bit more work than just bumping the version number :/

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It appears all of these failing tests come from changes in 2.0.21 : (

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It seems to me that there was some workaround in openapigenerator for string values having escape characters baked into them that is no longer the case, I have an ugly fix that makes most of the tests pass, I'll try and clean it up farther.

@codymikol
codymikolforce-pushed the bump-swagger-parser branch 2 times, most recently from 52c16b2 to 435ce7eCompareOctober 4, 2020 17:09
@codymikol

Copy link
Copy Markdown
ContributorAuthor

There is a test emptyExampleOnStringTypeModels that seems to assert the swagger-models schema object has a null value for getExample(), which is no longer the case after this update. For the time being I have changed it to assert that the getExample() is an empty string, but seeing as this is testing outside the scope of openapi-generator, I think we can just go ahead and remove this test. Feedback on that would be great.

@codymikol

codymikol commented Oct 4, 2020

Copy link
Copy Markdown
ContributorAuthor

: / It looks like all CIs are passing except circleci, but circleci won't let me look at the results of the build unless I give it read / write access to my repos and I'm not too keen on that.

EDIT: Made a burner bitbucket account, looks like it timed out. I'll just rehash the commit I suppose...

EDIT: Looks like we’re all good to go!

@jimschubertjimschubert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm
the test assertion just needs to be flipped

pinging @OpenAPITools/generator-core-team for additional set of eyes, as I know there was some reason we weren't bumping to 2.0.21 but can't recall what it was.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sebastien-rosset I see you added this to swagger-parser, but it doesn't seem to be consumed anywhere.

Do you need to create a follow up to consume this as mentioned in #6290?

Limitation: due to issue swagger-parser #1369, achieving OAS compliance is not possible when the input document uses the OAS 2.0 schema. For OAS 2.0 documents, the legacy behavior should be used by setting the disallowAdditionalPropertiesIfNotPresent CLI option to true.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, there needs to be a follow up. Actually even better would be to ensure the 2.0 parser is converting additionalProperties properly.
With x-original-swagger-version, at least we know the source is 2.0, but if the converter is not converting properly to 3.0 (and retaining the semantics), it's still going to be a problem.

@jimschubertjimschubert added this to the 5.0.0 milestone Oct 5, 2020
@jimschubertjimschubert added the dependencies Pull requests that update a dependency file label Oct 5, 2020
this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.
Fixes N/A
@wing328wing328 added Enhancement: Compatibility Swagger-Parser and removed dependencies Pull requests that update a dependency file labels Dec 8, 2020
@wing328
wing328 merged commit f9d6c6f into OpenAPITools:masterDec 8, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@codymikol@jimschubert@sebastien-rosset@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 by codymikol · Pull Request #7597 · OpenAPITools/openapi-generator · GitHub
Skip to content

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22 - #7597

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser
Dec 8, 2020
Merged

CHORE[DEPENDENCIES]: bump swagger-parser => 2.0.22#7597
wing328 merged 1 commit into
OpenAPITools:masterfrom
codymikol:bump-swagger-parser

Conversation

@codymikol

@codymikolcodymikol commented Oct 4, 2020

Copy link
Copy Markdown
Contributor

this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.

Fixes N/A

This bumps the swagger-parser library form 2.0.20 to 2.0.22, this fixes a bug in the parser library that would cause openapi-generator to mysteriously fail when parameters are not defined in your api spec

My original issue was opened over here: #7453 , but my fix just prevented openapi-generator from throwing a null pointer exception. This update fixes the underlying problem to that issue.

This is the specific PR that fixed that issue: swagger-api/swagger-parser#1410 (thank you, I appreciate you)

2.0.22 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.22

2.0.21 changes: https://github.com/swagger-api/swagger-parser/releases/tag/v2.0.21

Changes Related to this version bump

The petstore examples have a new parameter relating to: Add extension to keep track of original swagger version in PR #1374

The InlineModelResolver fixStringModel method needs to be adjusted per Fix for Empty and Blank query parameters issue PR - #1376 as it will no longer return null values for empty url parameters, but rather empty strings.

There is also a test that essentially just proves the same getExample method will return null, I have changed the test to instead just assert the returned value is an empty string. I do think that this is an unnecessary test for this project as it is essentially testing a 3rd party dependency and would be fine with removing it based on feedback.

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • If contributing template-only or documentation-only changes which will change sample output, build the project beforehand.
  • Run the shell script ./bin/generate-samples.shto update all Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*. For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

@codymikol

Copy link
Copy Markdown
ContributorAuthor

From the looks of the CI, there will be quite a bit more work than just bumping the version number :/

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It appears all of these failing tests come from changes in 2.0.21 : (

@codymikol

Copy link
Copy Markdown
ContributorAuthor

It seems to me that there was some workaround in openapigenerator for string values having escape characters baked into them that is no longer the case, I have an ugly fix that makes most of the tests pass, I'll try and clean it up farther.

@codymikol
codymikolforce-pushed the bump-swagger-parser branch 2 times, most recently from 52c16b2 to 435ce7eCompareOctober 4, 2020 17:09
@codymikol

Copy link
Copy Markdown
ContributorAuthor

There is a test emptyExampleOnStringTypeModels that seems to assert the swagger-models schema object has a null value for getExample(), which is no longer the case after this update. For the time being I have changed it to assert that the getExample() is an empty string, but seeing as this is testing outside the scope of openapi-generator, I think we can just go ahead and remove this test. Feedback on that would be great.

@codymikol

codymikol commented Oct 4, 2020

Copy link
Copy Markdown
ContributorAuthor

: / It looks like all CIs are passing except circleci, but circleci won't let me look at the results of the build unless I give it read / write access to my repos and I'm not too keen on that.

EDIT: Made a burner bitbucket account, looks like it timed out. I'll just rehash the commit I suppose...

EDIT: Looks like we’re all good to go!

@jimschubertjimschubert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm
the test assertion just needs to be flipped

pinging @OpenAPITools/generator-core-team for additional set of eyes, as I know there was some reason we weren't bumping to 2.0.21 but can't recall what it was.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sebastien-rosset I see you added this to swagger-parser, but it doesn't seem to be consumed anywhere.

Do you need to create a follow up to consume this as mentioned in #6290?

Limitation: due to issue swagger-parser #1369, achieving OAS compliance is not possible when the input document uses the OAS 2.0 schema. For OAS 2.0 documents, the legacy behavior should be used by setting the disallowAdditionalPropertiesIfNotPresent CLI option to true.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, there needs to be a follow up. Actually even better would be to ensure the 2.0 parser is converting additionalProperties properly.
With x-original-swagger-version, at least we know the source is 2.0, but if the converter is not converting properly to 3.0 (and retaining the semantics), it's still going to be a problem.

@jimschubertjimschubert added this to the 5.0.0 milestone Oct 5, 2020
@jimschubertjimschubert added the dependencies Pull requests that update a dependency file label Oct 5, 2020
this fixes a bug where the parser would return
null when missing parameters rather than reporting
some useful error.
Fixes N/A
@wing328wing328 added Enhancement: Compatibility Swagger-Parser and removed dependencies Pull requests that update a dependency file labels Dec 8, 2020
@wing328
wing328 merged commit f9d6c6f into OpenAPITools:masterDec 8, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@codymikol@jimschubert@sebastien-rosset@wing328