)]}'
{"tempest/lib/services/identity/v3/identity_providers_client.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"de0063e3059ae1e7f144ac4d5817c0dc09024b74","unresolved":false,"context_lines":[{"line_number":1,"context_line":"from oslo_serialization import jsonutils as json"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from tempest.lib.common import rest_client"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_ab55f4fc","line":1,"updated":"2020-11-18 15:43:26.000000000","message":"pep8: H102: Apache 2.0 license header not found","commit_id":"f6c56492ce0249a0a539bbeb6b693ca21e87f153"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"dda3dc7783712c405a25c1be390a8aec574fc423","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    api_version \u003d \"v3\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def register_identity_provider(self, identity_provider_id, **kwargs):"},{"line_number":25,"context_line":"        \"\"\"Register an identity provider.\"\"\""},{"line_number":26,"context_line":"        post_body \u003d json.dumps({\u0027identity_provider\u0027: kwargs})"},{"line_number":27,"context_line":"        resp, body \u003d self.put("},{"line_number":28,"context_line":"            \u0027OS-FEDERATION/identity_providers/%s\u0027 % identity_provider_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf1c3545_085380ba","line":25,"range":{"start_line":25,"start_character":8,"end_line":25,"end_character":44},"updated":"2020-11-25 23:19:19.000000000","message":"Could you please expand every docstring so that it includes the link for the documentation of the relevant api? f.e. this one would be:\n\n\"\"\"Register an identity provider.\n\nFor a full list of available parameters, please refer to the official\nAPI reference:\nhttps://docs.openstack.org/api-ref/identity/v3-ext/#register-an-identity-provider\n\"\"\"","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":32693,"name":"Karthikeyan Narayanan","email":"kn.narayanan@samsung.com","username":"kn.narayanan"},"change_message_id":"cc6ba239ed85809f12d97ca408a2e4054241cb8f","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    api_version \u003d \"v3\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def register_identity_provider(self, identity_provider_id, **kwargs):"},{"line_number":25,"context_line":"        \"\"\"Register an identity provider.\"\"\""},{"line_number":26,"context_line":"        post_body \u003d json.dumps({\u0027identity_provider\u0027: kwargs})"},{"line_number":27,"context_line":"        resp, body \u003d self.put("},{"line_number":28,"context_line":"            \u0027OS-FEDERATION/identity_providers/%s\u0027 % identity_provider_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"8877e892_f4da46ae","line":25,"range":{"start_line":25,"start_character":8,"end_line":25,"end_character":44},"in_reply_to":"bf1c3545_085380ba","updated":"2020-12-07 09:28:38.000000000","message":"Done","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"dda3dc7783712c405a25c1be390a8aec574fc423","unresolved":true,"context_lines":[{"line_number":31,"context_line":"        body \u003d json.loads(body)"},{"line_number":32,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def list_identity_providers(self):"},{"line_number":35,"context_line":"        \"\"\"List identity providers.\"\"\""},{"line_number":36,"context_line":"        resp, body \u003d self.get(\u0027OS-FEDERATION/identity_providers\u0027)"},{"line_number":37,"context_line":"        self.expected_success(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":2,"id":"14b8043e_295c313e","line":34,"range":{"start_line":34,"start_character":36,"end_line":34,"end_character":37},"updated":"2020-11-25 23:19:19.000000000","message":"if I get it right, this could have **kwargs argument as well as per the doc there are 2 optional parameters (id and enabled)","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":32693,"name":"Karthikeyan Narayanan","email":"kn.narayanan@samsung.com","username":"kn.narayanan"},"change_message_id":"cc6ba239ed85809f12d97ca408a2e4054241cb8f","unresolved":true,"context_lines":[{"line_number":31,"context_line":"        body \u003d json.loads(body)"},{"line_number":32,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def list_identity_providers(self):"},{"line_number":35,"context_line":"        \"\"\"List identity providers.\"\"\""},{"line_number":36,"context_line":"        resp, body \u003d self.get(\u0027OS-FEDERATION/identity_providers\u0027)"},{"line_number":37,"context_line":"        self.expected_success(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3039f8ab_7ef446e6","line":34,"range":{"start_line":34,"start_character":36,"end_line":34,"end_character":37},"in_reply_to":"14b8043e_295c313e","updated":"2020-12-07 09:28:38.000000000","message":"I agree but I think the URL does not include the optional parameters \"http://example.com/identity/v3/OS-FEDERATION/identity_providers\". Also, I have referred to the API implementation of \"List Endpoint Groups (https://docs.openstack.org/api-ref/identity/v3-ext/index.html?expanded\u003dlist-identity-providers-detail,list-endpoint-groups-detail#list-endpoint-groups)\". The optional argument has not been included in implementation. Please provide your suggestions on how I can proceed. Thank you.","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"23a7d100840eb23c20ee0a5e21a4e65fade488b4","unresolved":true,"context_lines":[{"line_number":31,"context_line":"        body \u003d json.loads(body)"},{"line_number":32,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def list_identity_providers(self):"},{"line_number":35,"context_line":"        \"\"\"List identity providers.\"\"\""},{"line_number":36,"context_line":"        resp, body \u003d self.get(\u0027OS-FEDERATION/identity_providers\u0027)"},{"line_number":37,"context_line":"        self.expected_success(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa7a2e65_7d0a7fe5","line":34,"range":{"start_line":34,"start_character":36,"end_line":34,"end_character":37},"in_reply_to":"3039f8ab_7ef446e6","updated":"2020-12-09 10:37:13.000000000","message":"The parameters which are in the URLs are named parameters of the methods - let\u0027s take register_identity_provider as an example, it has a identity_provider_id argument because the URL takes identity_provider_id (\u0027OS-FEDERATION/identity_providers/%s\u0027) and it also has a **kwargs argument because the endpoint might take some additional (some of which are optional) parameters (such as domain_id, description, enabled... ) listed in [1].\n\nNow list_identity_providers method doesn\u0027t have any named argument as the URL doesn\u0027t take any ID (\u0027OS-FEDERATION/identity_providers\u0027) but it should have **kwargs as there are a few optional parameters listed in the doc [2] (namely id and enabled). If this client doesn\u0027t contain **kwargs, a user using the client won\u0027t be able to pass the additional parameters and thus use the endpoint fully (e.g. filter the results based on the enabled attribute).\n\n[1] https://docs.openstack.org/api-ref/identity/v3-ext/index.html?expanded\u003dregister-an-identity-provider-detail#register-an-identity-provider\n[2] https://docs.openstack.org/api-ref/identity/v3-ext/index.html?expanded\u003dlist-identity-providers-detail#list-identity-providers","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"405a4e6c5a22cccf8c77ecab9b6ca66de469e38b","unresolved":true,"context_lines":[{"line_number":31,"context_line":"        body \u003d json.loads(body)"},{"line_number":32,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def list_identity_providers(self):"},{"line_number":35,"context_line":"        \"\"\"List identity providers.\"\"\""},{"line_number":36,"context_line":"        resp, body \u003d self.get(\u0027OS-FEDERATION/identity_providers\u0027)"},{"line_number":37,"context_line":"        self.expected_success(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":2,"id":"93679fc3_2e384683","line":34,"range":{"start_line":34,"start_character":36,"end_line":34,"end_character":37},"in_reply_to":"4290e97c_289e3f0e","updated":"2020-12-16 00:16:37.000000000","message":"oh I see, checking other clients it seems it\u0027s ok, f.e. list_roles here https://opendev.org/openstack/tempest/src/commit/2c3da54a82e8844ea575c93576324855793738e1/tempest/lib/services/identity/v3/roles_client.py#L52-L53 .. it\u0027s the same case as this - 2 optional params, none required","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":32693,"name":"Karthikeyan Narayanan","email":"kn.narayanan@samsung.com","username":"kn.narayanan"},"change_message_id":"b1d546a4bef576f43f67533a2c33b700aa841a81","unresolved":true,"context_lines":[{"line_number":31,"context_line":"        body \u003d json.loads(body)"},{"line_number":32,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def list_identity_providers(self):"},{"line_number":35,"context_line":"        \"\"\"List identity providers.\"\"\""},{"line_number":36,"context_line":"        resp, body \u003d self.get(\u0027OS-FEDERATION/identity_providers\u0027)"},{"line_number":37,"context_line":"        self.expected_success(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":2,"id":"4290e97c_289e3f0e","line":34,"range":{"start_line":34,"start_character":36,"end_line":34,"end_character":37},"in_reply_to":"fa7a2e65_7d0a7fe5","updated":"2020-12-11 08:19:38.000000000","message":"Yes that is correct. I can add the **kwargs parameter but the get() rest api call does not have a \u0027body\u0027 parameter. Can you please tell me if it can be included in \u0027headers\u0027 parameter?","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"dda3dc7783712c405a25c1be390a8aec574fc423","unresolved":true,"context_lines":[{"line_number":32,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def list_identity_providers(self):"},{"line_number":35,"context_line":"        \"\"\"List identity providers.\"\"\""},{"line_number":36,"context_line":"        resp, body \u003d self.get(\u0027OS-FEDERATION/identity_providers\u0027)"},{"line_number":37,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":38,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"027d30b7_2376ef43","line":35,"range":{"start_line":35,"start_character":35,"end_line":35,"end_character":36},"updated":"2020-11-25 23:19:19.000000000","message":"The link for this one is https://docs.openstack.org/api-ref/identity/v3-ext/#list-identity-providers and etc ...","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":32693,"name":"Karthikeyan Narayanan","email":"kn.narayanan@samsung.com","username":"kn.narayanan"},"change_message_id":"cc6ba239ed85809f12d97ca408a2e4054241cb8f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def list_identity_providers(self):"},{"line_number":35,"context_line":"        \"\"\"List identity providers.\"\"\""},{"line_number":36,"context_line":"        resp, body \u003d self.get(\u0027OS-FEDERATION/identity_providers\u0027)"},{"line_number":37,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":38,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"c6d9988e_92d72bfc","line":35,"range":{"start_line":35,"start_character":35,"end_line":35,"end_character":36},"in_reply_to":"027d30b7_2376ef43","updated":"2020-12-07 09:28:38.000000000","message":"Done","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"86b050f530d6332b08dff1c81a2db40d7e4e522d","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class IdentityProvidersClient(rest_client.RestClient):"},{"line_number":23,"context_line":"    api_version \u003d \"v3\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def register_identity_provider(self, identity_provider_id, **kwargs):"},{"line_number":26,"context_line":"        \"\"\"Register an identity provider."}],"source_content_type":"text/x-python","patch_set":7,"id":"a8e39e59_a516a808","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":22},"updated":"2021-02-01 22:53:33.000000000","message":"this is not needed. it is unused now","commit_id":"5c446dee982f100eeff8e164df51ac7b15aeb1a7"}],"tempest/lib/services/identity/v3/mappings_client.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"de0063e3059ae1e7f144ac4d5817c0dc09024b74","unresolved":false,"context_lines":[{"line_number":1,"context_line":"from oslo_serialization import jsonutils as json"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from tempest.lib.common import rest_client"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_cb3b10c6","line":1,"updated":"2020-11-18 15:43:26.000000000","message":"pep8: H102: Apache 2.0 license header not found","commit_id":"f6c56492ce0249a0a539bbeb6b693ca21e87f153"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"dda3dc7783712c405a25c1be390a8aec574fc423","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    api_version \u003d \"v3\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def create_mapping(self, mapping_id, **kwargs):"},{"line_number":25,"context_line":"        \"\"\"Create a mapping.\"\"\""},{"line_number":26,"context_line":"        post_body \u003d json.dumps({\u0027mapping\u0027: kwargs})"},{"line_number":27,"context_line":"        resp, body \u003d self.put("},{"line_number":28,"context_line":"            \u0027OS-FEDERATION/mappings/%s\u0027 % mapping_id, post_body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"16e0d918_576778b7","line":25,"range":{"start_line":25,"start_character":28,"end_line":25,"end_character":29},"updated":"2020-11-25 23:19:19.000000000","message":"https://docs.openstack.org/api-ref/identity/v3-ext/?expanded\u003d#create-a-mapping","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":32693,"name":"Karthikeyan Narayanan","email":"kn.narayanan@samsung.com","username":"kn.narayanan"},"change_message_id":"cc6ba239ed85809f12d97ca408a2e4054241cb8f","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    api_version \u003d \"v3\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def create_mapping(self, mapping_id, **kwargs):"},{"line_number":25,"context_line":"        \"\"\"Create a mapping.\"\"\""},{"line_number":26,"context_line":"        post_body \u003d json.dumps({\u0027mapping\u0027: kwargs})"},{"line_number":27,"context_line":"        resp, body \u003d self.put("},{"line_number":28,"context_line":"            \u0027OS-FEDERATION/mappings/%s\u0027 % mapping_id, post_body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"db9d334f_829b2268","line":25,"range":{"start_line":25,"start_character":28,"end_line":25,"end_character":29},"in_reply_to":"16e0d918_576778b7","updated":"2020-12-07 09:28:38.000000000","message":"Done","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"86b050f530d6332b08dff1c81a2db40d7e4e522d","unresolved":true,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class MappingsClient(rest_client.RestClient):"},{"line_number":22,"context_line":"    api_version \u003d \"v3\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def create_mapping(self, mapping_id, **kwargs):"},{"line_number":25,"context_line":"        \"\"\"Create a mapping."}],"source_content_type":"text/x-python","patch_set":7,"id":"f30c4106_979b3e0b","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":22},"updated":"2021-02-01 22:53:33.000000000","message":"ditto","commit_id":"5c446dee982f100eeff8e164df51ac7b15aeb1a7"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"86b050f530d6332b08dff1c81a2db40d7e4e522d","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        body \u003d json.loads(body)"},{"line_number":63,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def list_mappings(self):"},{"line_number":66,"context_line":"        \"\"\"List mappings."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        For a full list of available parameters, please refer to the official"}],"source_content_type":"text/x-python","patch_set":7,"id":"78e64619_95c1861a","line":65,"range":{"start_line":65,"start_character":26,"end_line":65,"end_character":27},"updated":"2021-02-01 22:53:33.000000000","message":"let\u0027s pass **kwargs for API filters","commit_id":"5c446dee982f100eeff8e164df51ac7b15aeb1a7"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f02b86f1c4820124605ce8873095a86a5cdb4870","unresolved":true,"context_lines":[{"line_number":68,"context_line":"        API reference:"},{"line_number":69,"context_line":"        https://docs.openstack.org/api-ref/identity/v3-ext/index.html#list-mappings"},{"line_number":70,"context_line":"        \"\"\""},{"line_number":71,"context_line":"        post_body \u003d json.dumps(kwargs)"},{"line_number":72,"context_line":"        resp, body \u003d self.get("},{"line_number":73,"context_line":"            \u0027OS-FEDERATION/mappings\u0027, post_body)"},{"line_number":74,"context_line":"        self.expected_success(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3508d8c4_cc35cb84","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":38},"updated":"2021-02-10 15:21:48.000000000","message":"we should not add this as request body but in query in url\n\n        url \u003d \u0027OS-FEDERATION/mappings\u0027\n        if kwargs:\n            url +\u003d \u0027?%s\u0027 % urllib.urlencode(kwargs)\n        resp, body \u003d self.get(url)","commit_id":"6c11d96782cd489ba03365ca698c542e678ebc63"}],"tempest/lib/services/identity/v3/protocols_client.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"de0063e3059ae1e7f144ac4d5817c0dc09024b74","unresolved":false,"context_lines":[{"line_number":1,"context_line":"from oslo_serialization import jsonutils as json"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from tempest.lib.common import rest_client"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_eb3eccb7","line":1,"updated":"2020-11-18 15:43:26.000000000","message":"pep8: H102: Apache 2.0 license header not found","commit_id":"f6c56492ce0249a0a539bbeb6b693ca21e87f153"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"dda3dc7783712c405a25c1be390a8aec574fc423","unresolved":true,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def add_protocol_to_identity_provider(self, idp_id, protocol_id,"},{"line_number":25,"context_line":"                                          **kwargs):"},{"line_number":26,"context_line":"        \"\"\"Add protocol to identity provider.\"\"\""},{"line_number":27,"context_line":"        post_body \u003d json.dumps({\u0027protocol\u0027: kwargs})"},{"line_number":28,"context_line":"        resp, body \u003d self.put("},{"line_number":29,"context_line":"            \u0027OS-FEDERATION/identity_providers/%s/protocols/%s\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"23a91985_85e4b1ce","line":26,"range":{"start_line":26,"start_character":44,"end_line":26,"end_character":45},"updated":"2020-11-25 23:19:19.000000000","message":"https://docs.openstack.org/api-ref/identity/v3-ext/#add-protocol-to-identity-provider","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":32693,"name":"Karthikeyan Narayanan","email":"kn.narayanan@samsung.com","username":"kn.narayanan"},"change_message_id":"cc6ba239ed85809f12d97ca408a2e4054241cb8f","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def add_protocol_to_identity_provider(self, idp_id, protocol_id,"},{"line_number":25,"context_line":"                                          **kwargs):"},{"line_number":26,"context_line":"        \"\"\"Add protocol to identity provider.\"\"\""},{"line_number":27,"context_line":"        post_body \u003d json.dumps({\u0027protocol\u0027: kwargs})"},{"line_number":28,"context_line":"        resp, body \u003d self.put("},{"line_number":29,"context_line":"            \u0027OS-FEDERATION/identity_providers/%s/protocols/%s\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"86e65cca_be46896d","line":26,"range":{"start_line":26,"start_character":44,"end_line":26,"end_character":45},"in_reply_to":"23a91985_85e4b1ce","updated":"2020-12-07 09:28:38.000000000","message":"Done","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"86b050f530d6332b08dff1c81a2db40d7e4e522d","unresolved":true,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class ProtocolsClient(rest_client.RestClient):"},{"line_number":22,"context_line":"    api_version \u003d \"v3\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def add_protocol_to_identity_provider(self, idp_id, protocol_id,"},{"line_number":25,"context_line":"                                          **kwargs):"}],"source_content_type":"text/x-python","patch_set":7,"id":"8d1b3763_4cc12f14","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":22},"updated":"2021-02-01 22:53:33.000000000","message":"ditto","commit_id":"5c446dee982f100eeff8e164df51ac7b15aeb1a7"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"86b050f530d6332b08dff1c81a2db40d7e4e522d","unresolved":true,"context_lines":[{"line_number":37,"context_line":"        body \u003d json.loads(body)"},{"line_number":38,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def list_protocols_of_identity_provider(self, idp_id):"},{"line_number":41,"context_line":"        \"\"\"List protocols of identity provider."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        For a full list of available parameters, please refer to the official"}],"source_content_type":"text/x-python","patch_set":7,"id":"af9049e3_28336750","line":40,"range":{"start_line":40,"start_character":56,"end_line":40,"end_character":57},"updated":"2021-02-01 22:53:33.000000000","message":"let\u0027s add **kwargs for list API filter","commit_id":"5c446dee982f100eeff8e164df51ac7b15aeb1a7"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f02b86f1c4820124605ce8873095a86a5cdb4870","unresolved":true,"context_lines":[{"line_number":43,"context_line":"        API reference:"},{"line_number":44,"context_line":"        https://docs.openstack.org/api-ref/identity/v3-ext/index.html#list-protocols-of-identity-provider"},{"line_number":45,"context_line":"        \"\"\""},{"line_number":46,"context_line":"        post_body \u003d json.dumps(kwargs)"},{"line_number":47,"context_line":"        resp, body \u003d self.get("},{"line_number":48,"context_line":"            \u0027OS-FEDERATION/identity_providers/%s/protocols\u0027 % idp_id,"},{"line_number":49,"context_line":"            post_body)"}],"source_content_type":"text/x-python","patch_set":9,"id":"a4e2f50d_bddd6fc4","line":46,"range":{"start_line":46,"start_character":0,"end_line":46,"end_character":38},"updated":"2021-02-10 15:21:48.000000000","message":"ditto","commit_id":"6c11d96782cd489ba03365ca698c542e678ebc63"}],"tempest/lib/services/identity/v3/service_providers_client.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"de0063e3059ae1e7f144ac4d5817c0dc09024b74","unresolved":false,"context_lines":[{"line_number":1,"context_line":"from oslo_serialization import jsonutils as json"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"from tempest.lib.common import rest_client"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_8b5ab827","line":1,"updated":"2020-11-18 15:43:26.000000000","message":"pep8: H102: Apache 2.0 license header not found","commit_id":"f6c56492ce0249a0a539bbeb6b693ca21e87f153"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"dda3dc7783712c405a25c1be390a8aec574fc423","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    api_version \u003d \"v3\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def register_service_provider(self, service_provider_id, **kwargs):"},{"line_number":25,"context_line":"        \"\"\"Register a service provider.\"\"\""},{"line_number":26,"context_line":"        post_body \u003d json.dumps({\u0027service_provider\u0027: kwargs})"},{"line_number":27,"context_line":"        resp, body \u003d self.put("},{"line_number":28,"context_line":"            \u0027OS-FEDERATION/service_providers/%s\u0027 % service_provider_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"f4bb6646_13a60eed","line":25,"range":{"start_line":25,"start_character":39,"end_line":25,"end_character":40},"updated":"2020-11-25 23:19:19.000000000","message":"https://docs.openstack.org/api-ref/identity/v3-ext/#register-a-service-provider and other methods below accordingly","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":32693,"name":"Karthikeyan Narayanan","email":"kn.narayanan@samsung.com","username":"kn.narayanan"},"change_message_id":"cc6ba239ed85809f12d97ca408a2e4054241cb8f","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    api_version \u003d \"v3\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def register_service_provider(self, service_provider_id, **kwargs):"},{"line_number":25,"context_line":"        \"\"\"Register a service provider.\"\"\""},{"line_number":26,"context_line":"        post_body \u003d json.dumps({\u0027service_provider\u0027: kwargs})"},{"line_number":27,"context_line":"        resp, body \u003d self.put("},{"line_number":28,"context_line":"            \u0027OS-FEDERATION/service_providers/%s\u0027 % service_provider_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7397e4ef_3e017efd","line":25,"range":{"start_line":25,"start_character":39,"end_line":25,"end_character":40},"in_reply_to":"f4bb6646_13a60eed","updated":"2020-12-07 09:28:38.000000000","message":"Done","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"86b050f530d6332b08dff1c81a2db40d7e4e522d","unresolved":true,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class ServiceProvidersClient(rest_client.RestClient):"},{"line_number":22,"context_line":"    api_version \u003d \"v3\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def register_service_provider(self, service_provider_id, **kwargs):"},{"line_number":25,"context_line":"        \"\"\"Register a service provider."}],"source_content_type":"text/x-python","patch_set":7,"id":"9ef88577_4cd1ed46","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":22},"updated":"2021-02-01 22:53:33.000000000","message":"ditto","commit_id":"5c446dee982f100eeff8e164df51ac7b15aeb1a7"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"86b050f530d6332b08dff1c81a2db40d7e4e522d","unresolved":true,"context_lines":[{"line_number":36,"context_line":"        body \u003d json.loads(body)"},{"line_number":37,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def list_service_providers(self):"},{"line_number":40,"context_line":"        \"\"\"List service providers."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        For a full list of available parameters, please refer to the official"}],"source_content_type":"text/x-python","patch_set":7,"id":"f6535367_fb736bb6","line":39,"range":{"start_line":39,"start_character":35,"end_line":39,"end_character":36},"updated":"2021-02-01 22:53:33.000000000","message":"ditto","commit_id":"5c446dee982f100eeff8e164df51ac7b15aeb1a7"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f02b86f1c4820124605ce8873095a86a5cdb4870","unresolved":true,"context_lines":[{"line_number":42,"context_line":"        API reference:"},{"line_number":43,"context_line":"        https://docs.openstack.org/api-ref/identity/v3-ext/index.html#list-service-providers"},{"line_number":44,"context_line":"        \"\"\""},{"line_number":45,"context_line":"        post_body \u003d json.dumps(kwargs)"},{"line_number":46,"context_line":"        resp, body \u003d self.get("},{"line_number":47,"context_line":"            \u0027OS-FEDERATION/service_providers\u0027, post_body)"},{"line_number":48,"context_line":"        self.expected_success(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":9,"id":"06fb61a1_4ac3b5c6","line":45,"range":{"start_line":45,"start_character":7,"end_line":45,"end_character":38},"updated":"2021-02-10 15:21:48.000000000","message":"ditto","commit_id":"6c11d96782cd489ba03365ca698c542e678ebc63"}],"tempest/tests/lib/services/identity/v3/test_identity_providers_client.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"de0063e3059ae1e7f144ac4d5817c0dc09024b74","unresolved":false,"context_lines":[{"line_number":1,"context_line":"from tempest.lib.services.identity.v3 import identity_providers_client"},{"line_number":2,"context_line":"from tempest.tests.lib import fake_auth_provider"},{"line_number":3,"context_line":"from tempest.tests.lib.services import base"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_4b79c091","line":1,"updated":"2020-11-18 15:43:26.000000000","message":"pep8: H102: Apache 2.0 license header not found","commit_id":"f6c56492ce0249a0a539bbeb6b693ca21e87f153"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"dda3dc7783712c405a25c1be390a8aec574fc423","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    FAKE_IDENTITY_PROVIDERS_INFO \u003d {"},{"line_number":23,"context_line":"        \"identity_providers\": ["},{"line_number":24,"context_line":"            {"},{"line_number":25,"context_line":"                \"domain_id\": \"FAKE_DOMAIN_ID\","},{"line_number":26,"context_line":"                \"description\": \"FAKE IDENTITY PROVIDER\","},{"line_number":27,"context_line":"                \"remote_ids\": [\"fake_id_1\", \"fake_id_2\"],"},{"line_number":28,"context_line":"                \"enabled\": True,"}],"source_content_type":"text/x-python","patch_set":2,"id":"d99e0285_415cc3f9","line":25,"range":{"start_line":25,"start_character":30,"end_line":25,"end_character":44},"updated":"2020-11-25 23:19:19.000000000","message":"I noticed that other tests use rather \"real\" values copied from the doc","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"23a7d100840eb23c20ee0a5e21a4e65fade488b4","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    FAKE_IDENTITY_PROVIDERS_INFO \u003d {"},{"line_number":23,"context_line":"        \"identity_providers\": ["},{"line_number":24,"context_line":"            {"},{"line_number":25,"context_line":"                \"domain_id\": \"FAKE_DOMAIN_ID\","},{"line_number":26,"context_line":"                \"description\": \"FAKE IDENTITY PROVIDER\","},{"line_number":27,"context_line":"                \"remote_ids\": [\"fake_id_1\", \"fake_id_2\"],"},{"line_number":28,"context_line":"                \"enabled\": True,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1de83b38_6080083e","line":25,"range":{"start_line":25,"start_character":30,"end_line":25,"end_character":44},"in_reply_to":"9c2c06e5_28a06411","updated":"2020-12-09 10:37:13.000000000","message":"fine by me, as there are a few tests who also have \"fake\" IDs, it should be fine","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":32693,"name":"Karthikeyan Narayanan","email":"kn.narayanan@samsung.com","username":"kn.narayanan"},"change_message_id":"cc6ba239ed85809f12d97ca408a2e4054241cb8f","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    FAKE_IDENTITY_PROVIDERS_INFO \u003d {"},{"line_number":23,"context_line":"        \"identity_providers\": ["},{"line_number":24,"context_line":"            {"},{"line_number":25,"context_line":"                \"domain_id\": \"FAKE_DOMAIN_ID\","},{"line_number":26,"context_line":"                \"description\": \"FAKE IDENTITY PROVIDER\","},{"line_number":27,"context_line":"                \"remote_ids\": [\"fake_id_1\", \"fake_id_2\"],"},{"line_number":28,"context_line":"                \"enabled\": True,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9c2c06e5_28a06411","line":25,"range":{"start_line":25,"start_character":30,"end_line":25,"end_character":44},"in_reply_to":"d99e0285_415cc3f9","updated":"2020-12-07 09:28:38.000000000","message":"I think some of the tests have declared fake descriptions and IDs; for example, \"https://opendev.org/openstack/tempest/src/commit/67fa941d3a471e15f25720895f99e692a9c1ea03/tempest/tests/lib/services/identity/v3/test_endpoint_groups_client.py#L25-L26\". Please let me know if \"real\" values from the doc should replace these values. Thank you.","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"dda3dc7783712c405a25c1be390a8aec574fc423","unresolved":true,"context_lines":[{"line_number":50,"context_line":"            \"domain_id\": \"FAKE_DOMAIN_ID\","},{"line_number":51,"context_line":"            \"description\": \"FAKE IDENTITY PROVIDER\","},{"line_number":52,"context_line":"            \"remote_ids\": [\"fake_id_1\", \"fake_id_2\"],"},{"line_number":53,"context_line":"            \"enabled\": None,"},{"line_number":54,"context_line":"            \"id\": \"ACME\","},{"line_number":55,"context_line":"            \"links\": {"},{"line_number":56,"context_line":"                \"protocols\": \"http://example.com/identity/v3/OS-FEDERATION/\" +"}],"source_content_type":"text/x-python","patch_set":2,"id":"846cae22_ee868163","line":53,"range":{"start_line":53,"start_character":23,"end_line":53,"end_character":27},"updated":"2020-11-25 23:19:19.000000000","message":"this should be a boolean","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"},{"author":{"_account_id":32693,"name":"Karthikeyan Narayanan","email":"kn.narayanan@samsung.com","username":"kn.narayanan"},"change_message_id":"cc6ba239ed85809f12d97ca408a2e4054241cb8f","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            \"domain_id\": \"FAKE_DOMAIN_ID\","},{"line_number":51,"context_line":"            \"description\": \"FAKE IDENTITY PROVIDER\","},{"line_number":52,"context_line":"            \"remote_ids\": [\"fake_id_1\", \"fake_id_2\"],"},{"line_number":53,"context_line":"            \"enabled\": None,"},{"line_number":54,"context_line":"            \"id\": \"ACME\","},{"line_number":55,"context_line":"            \"links\": {"},{"line_number":56,"context_line":"                \"protocols\": \"http://example.com/identity/v3/OS-FEDERATION/\" +"}],"source_content_type":"text/x-python","patch_set":2,"id":"d1e39541_4801f981","line":53,"range":{"start_line":53,"start_character":23,"end_line":53,"end_character":27},"in_reply_to":"846cae22_ee868163","updated":"2020-12-07 09:28:38.000000000","message":"Done","commit_id":"4078c45f941315f5cdfd40855c8de06e73ae9877"}],"tempest/tests/lib/services/identity/v3/test_mappings_client.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"de0063e3059ae1e7f144ac4d5817c0dc09024b74","unresolved":false,"context_lines":[{"line_number":1,"context_line":"from tempest.lib.services.identity.v3 import mappings_client"},{"line_number":2,"context_line":"from tempest.tests.lib import fake_auth_provider"},{"line_number":3,"context_line":"from tempest.tests.lib.services import base"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_0b46a850","line":1,"updated":"2020-11-18 15:43:26.000000000","message":"pep8: H102: Apache 2.0 license header not found","commit_id":"f6c56492ce0249a0a539bbeb6b693ca21e87f153"}],"tempest/tests/lib/services/identity/v3/test_protocols_client.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"de0063e3059ae1e7f144ac4d5817c0dc09024b74","unresolved":false,"context_lines":[{"line_number":1,"context_line":"from tempest.lib.services.identity.v3 import protocols_client"},{"line_number":2,"context_line":"from tempest.tests.lib import fake_auth_provider"},{"line_number":3,"context_line":"from tempest.tests.lib.services import base"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_2b49e45f","line":1,"updated":"2020-11-18 15:43:26.000000000","message":"pep8: H102: Apache 2.0 license header not found","commit_id":"f6c56492ce0249a0a539bbeb6b693ca21e87f153"}],"tempest/tests/lib/services/identity/v3/test_service_providers_client.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"de0063e3059ae1e7f144ac4d5817c0dc09024b74","unresolved":false,"context_lines":[{"line_number":1,"context_line":"from tempest.lib.services.identity.v3 import service_providers_client"},{"line_number":2,"context_line":"from tempest.tests.lib import fake_auth_provider"},{"line_number":3,"context_line":"from tempest.tests.lib.services import base"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_6b747c9d","line":1,"updated":"2020-11-18 15:43:26.000000000","message":"pep8: H102: Apache 2.0 license header not found","commit_id":"f6c56492ce0249a0a539bbeb6b693ca21e87f153"}]}
