-
Notifications
You must be signed in to change notification settings - Fork 1.1k
[TT-12308] Query parameters not respected by OAS import endpoint #7087
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
[TT-12308] Query parameters not respected by OAS import endpoint #7087
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
API Changes no api changes detected |
…-oas-import-endpoint
|
/release to release-5.8 |
Working on it! Note that it can take a few minutes. |
### **User description** <details open> <summary><a href="https://tyktech.atlassian.net/browse/TT-12308" title="TT-12308" target="_blank">TT-12308</a></summary> <br /> <table> <tr> <th>Summary</th> <td>Query parameters not respected by OAS import endpoint</td> </tr> <tr> <th>Type</th> <td> <img alt="Bug" src="https://tyktech.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium" /> Bug </td> </tr> <tr> <th>Status</th> <td>In Dev</td> </tr> <tr> <th>Points</th> <td>N/A</td> </tr> <tr> <th>Labels</th> <td><a href="https://tyktech.atlassian.net/issues?jql=project%20%3D%20TT%20AND%20labels%20%3D%20codilime_refined%20ORDER%20BY%20created%20DESC" title="codilime_refined">codilime_refined</a></td> </tr> </table> </details> <!-- do not remove this marker as it will break jira-lint's functionality. added_by_jira_lint --> --- <!-- Provide a general summary of your changes in the Title above --> ## Description When using the Dashboard API’s OAS import endpoint to create an API from an OpenAPI document, boolean query parameters (allowList, mockResponse, validateRequest, authentication) with the value false are ignored unless the listenPath parameter is also provided. This due func IsZero not recognizing bool pointer as a non zero value. ## Related Issue <!-- This project only accepts pull requests related to open issues. --> <!-- If suggesting a new feature or change, please discuss it in an issue first. --> <!-- If fixing a bug, there should be an issue describing it with steps to reproduce. --> <!-- OSS: Please link to the issue here. Tyk: please create/link the JIRA ticket. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [x] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [x] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why ___ ### **PR Type** Bug fix, Tests ___ ### **Description** - Fix `IsZero` to treat bool pointers as non-zero values - Add tests for bool pointer handling in `ShouldOmit` - Ensure OAS import endpoint respects boolean query parameters ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Bug fix</strong></td><td><table> <tr> <td> <details> <summary><strong>reflect.go</strong><dd><code>Fix IsZero to properly handle bool pointers</code> </dd></summary> <hr> internal/reflect/reflect.go <li>Updated <code>IsZero</code> to treat non-nil bool pointers as non-zero<br> <li> Added explicit check for bool pointer type in pointer handling </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7087/files#diff-e8975fcdc2226608fd31ef31fea201f98c70d9f575a35ab7bda3d6bac0303af9">+8/-1</a> </td> </tr> </table></td></tr><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>oasutil_test.go</strong><dd><code>Add tests for bool pointer omission logic</code> </dd></summary> <hr> apidef/oas/oasutil_test.go <li>Added <code>BoolPtr</code> field to test struct<br> <li> Added test cases for false/true bool pointers in <code>ShouldOmit</code><br> <li> Added helper function for bool pointer creation </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7087/files#diff-5b7d1bac0c0bcef49668f280688032b3f365336c3b39d8f0574ee5412ab05759">+9/-0</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> Co-authored-by: Laurentiu <[email protected]> (cherry picked from commit 74f898f)
@MaciekMis Created merge PRs |
…OAS import endpoint (#7087) [TT-12308] Query parameters not respected by OAS import endpoint (#7087) ### **User description** <details open> <summary><a href="https://tyktech.atlassian.net/browse/TT-12308" title="TT-12308" target="_blank">TT-12308</a></summary> <br /> <table> <tr> <th>Summary</th> <td>Query parameters not respected by OAS import endpoint</td> </tr> <tr> <th>Type</th> <td> <img alt="Bug" src="https://tyktech.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium" /> Bug </td> </tr> <tr> <th>Status</th> <td>In Dev</td> </tr> <tr> <th>Points</th> <td>N/A</td> </tr> <tr> <th>Labels</th> <td><a href="https://tyktech.atlassian.net/issues?jql=project%20%3D%20TT%20AND%20labels%20%3D%20codilime_refined%20ORDER%20BY%20created%20DESC" title="codilime_refined">codilime_refined</a></td> </tr> </table> </details> <!-- do not remove this marker as it will break jira-lint's functionality. added_by_jira_lint --> --- <!-- Provide a general summary of your changes in the Title above --> ## Description When using the Dashboard API’s OAS import endpoint to create an API from an OpenAPI document, boolean query parameters (allowList, mockResponse, validateRequest, authentication) with the value false are ignored unless the listenPath parameter is also provided. This due func IsZero not recognizing bool pointer as a non zero value. ## Related Issue <!-- This project only accepts pull requests related to open issues. --> <!-- If suggesting a new feature or change, please discuss it in an issue first. --> <!-- If fixing a bug, there should be an issue describing it with steps to reproduce. --> <!-- OSS: Please link to the issue here. Tyk: please create/link the JIRA ticket. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [x] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [x] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why ___ ### **PR Type** Bug fix, Tests ___ ### **Description** - Fix `IsZero` to treat bool pointers as non-zero values - Add tests for bool pointer handling in `ShouldOmit` - Ensure OAS import endpoint respects boolean query parameters ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Bug fix</strong></td><td><table> <tr> <td> <details> <summary><strong>reflect.go</strong><dd><code>Fix IsZero to properly handle bool pointers</code> </dd></summary> <hr> internal/reflect/reflect.go <li>Updated <code>IsZero</code> to treat non-nil bool pointers as non-zero<br> <li> Added explicit check for bool pointer type in pointer handling </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7087/files#diff-e8975fcdc2226608fd31ef31fea201f98c70d9f575a35ab7bda3d6bac0303af9">+8/-1</a> </td> </tr> </table></td></tr><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>oasutil_test.go</strong><dd><code>Add tests for bool pointer omission logic</code> </dd></summary> <hr> apidef/oas/oasutil_test.go <li>Added <code>BoolPtr</code> field to test struct<br> <li> Added test cases for false/true bool pointers in <code>ShouldOmit</code><br> <li> Added helper function for bool pointer creation </details> </td> <td><a href="https://github.com/TykTechnologies/tyk/pull/7087/files#diff-5b7d1bac0c0bcef49668f280688032b3f365336c3b39d8f0574ee5412ab05759">+9/-0</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> Co-authored-by: Laurentiu <[email protected]>
User description
TT-12308
Description
When using the Dashboard API’s OAS import endpoint to create an API from an OpenAPI document, boolean query parameters (allowList, mockResponse, validateRequest, authentication) with the value false are ignored unless the listenPath parameter is also provided. This due func IsZero not recognizing bool pointer as a non zero value.
Related Issue
Motivation and Context
How This Has Been Tested
Screenshots (if appropriate)
Types of changes
Checklist
PR Type
Bug fix, Tests
Description
Fix
IsZero
to treat bool pointers as non-zero valuesAdd tests for bool pointer handling in
ShouldOmit
Ensure OAS import endpoint respects boolean query parameters
Changes walkthrough 📝
reflect.go
Fix IsZero to properly handle bool pointers
internal/reflect/reflect.go
IsZero
to treat non-nil bool pointers as non-zerooasutil_test.go
Add tests for bool pointer omission logic
apidef/oas/oasutil_test.go
BoolPtr
field to test structShouldOmit