- Notifications
You must be signed in to change notification settings - Fork673
fix: use the [] after key names for array variables inparams
#1699
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
1572d87
to0f0f823
Compare98172f6
tof596068
Comparef596068
to1591a91
Comparecodecov-commenter commentedNov 19, 2021 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Codecov Report
@@ Coverage Diff @@## main #1699 +/- ##==========================================- Coverage 95.54% 95.53% -0.01%========================================== Files 81 81 Lines 5296 5309 +13 ==========================================+ Hits 5060 5072 +12- Misses 236 237 +1
Flags with carried forward coverage won't be shown.Click here to find out more.
|
Uh oh!
There was an error while loading.Please reload this page.
1591a91
to76b04a8
CompareJohnVillalovos commentedNov 20, 2021 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
|
db3ab50
toe3c2e95
Compare@nejch This is ready for review now. Interested to hear your feedback. Thanks. |
e3c2e95
tofdc854a
Compareb44cef7
to902d9f6
CompareShould we try to revive this one@JohnVillalovos? Seems like an important fix. Probably fixes a few more issues down the line, will need to check those. |
Yeah, probably. Let me see if I get some time this weekend. Thanks for reminding me! |
f7e0842
toa939db1
Compare7f6a8c2
to50b1f12
Compare50b1f12
to2ca7ddb
Compare@nejch It is ready for review again. Thanks for your patience. |
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.
Thanks@JohnVillalovos looks super simple now. I have some concerns but I think I'll just merge this and use it to track and open a refactor based on my comments.
I have to take that back - seems like this also transforms the key for POST/PUT payloads which shouldn't happen. This maybe needs a test withcreate()
to ensure we don't usekey[]
in payloads.
Edit2: I think we need to maybe change_transform_types
to take another argument (transform_keys
) which we pass in in the ListMixin or maybe even directly in get requests.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
I think we need to transform "parameters'. Whether it is a GET/POST/PUT. Now handling values in the |
Yes, that's right :) sorry for the confusion. payload = no transform, query params = transform. |
2ca7ddb
toba084c6
Compare@JohnVillalovos I think this doesn't work quite right yet. Can you try this test in this patch? diff --git a/tests/unit/mixins/test_mixin_methods.py b/tests/unit/mixins/test_mixin_methods.pyindex 69cdb78..e8870b9 100644--- a/tests/unit/mixins/test_mixin_methods.py+++ b/tests/unit/mixins/test_mixin_methods.py@@ -314,6 +314,26 @@ def test_create_mixin_custom_path(gl): assert responses.assert_call_count(url, 1) is True++@responses.activate+def test_create_mixin_with_attributes(gl):+ class M(CreateMixin, FakeManager):+ _types = {"my_array": gl_types.ArrayAttribute}++ url = "http://localhost/api/v4/tests"+ responses.add(+ method=responses.POST,+ headers={},+ url=url,+ json={},+ status=200,+ match=[responses.matchers.json_params_matcher({"my_array": ["1", "2", "3"]})],+ )++ mgr = M(gl)+ mgr.create({"my_array": [1, 2, 3]})++ def test_update_mixin_missing_attrs(gl): class M(UpdateMixin, FakeManager): _update_attrs = gl_types.RequiredOptional( The reason we might want this is, for example |
ba084c6
tobc6ddf2
CompareJohnVillalovos commentedJul 27, 2022 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Thanks@nejch I totally missed that the Updated the code to only modify the data for the |
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
1. If a value is of type ArrayAttribute then append '[]' to the name of the value for query parameters (`params`).This is step 3 in a series of steps of our goal to add fullsupport for the GitLab API data types[1]: * array * hash * array of hashesStep one was: commit5127b15Step two was: commita57334fFixes:#1698[1]https://docs.gitlab.com/ee/api/#encoding-api-parameters-of-array-and-hash-types
bc6ddf2
to1af44ce
Compareparams
Uh oh!
There was an error while loading.Please reload this page.
of the value.
This is step 3 in a series of steps of our goal to add full
support for the GitLab API data types[1]:
Step one was: commit5127b15
Step two was: commita57334f
Fixes:#1698
Related to#780
Closes#806
[1]https://docs.gitlab.com/ee/api/#encoding-api-parameters-of-array-and-hash-types