)]}'
{"keystone/api/users.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"08422a6f7b2ca8b7e3e8cd4f5bec52ce80e9c426","unresolved":false,"context_lines":[{"line_number":142,"context_line":"                flask.request.view_args.get(\u0027application_credential_id\u0027)"},{"line_number":143,"context_line":"            )"},{"line_number":144,"context_line":"        )"},{"line_number":145,"context_line":"    except exception.NotFound:  # nosec"},{"line_number":146,"context_line":"        # Defer existance in the event the application credential doesn\u0027t exist,"},{"line_number":147,"context_line":"        # we\u0027ll check this later anyway."},{"line_number":148,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_3ad610f3","line":145,"updated":"2020-11-03 02:09:58.000000000","message":"pep8: F821 undefined name \u0027exception\u0027","commit_id":"d667f14f6f906c2df9b3ba36ebc810d37fa3da71"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"08422a6f7b2ca8b7e3e8cd4f5bec52ce80e9c426","unresolved":false,"context_lines":[{"line_number":143,"context_line":"            )"},{"line_number":144,"context_line":"        )"},{"line_number":145,"context_line":"    except exception.NotFound:  # nosec"},{"line_number":146,"context_line":"        # Defer existance in the event the application credential doesn\u0027t exist,"},{"line_number":147,"context_line":"        # we\u0027ll check this later anyway."},{"line_number":148,"context_line":"        pass"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_9a064486","line":146,"updated":"2020-11-03 02:09:58.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"d667f14f6f906c2df9b3ba36ebc810d37fa3da71"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3428bc8f861d61c384fa537fda440b222e7f97d9","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        # we\u0027ll check this later anyway."},{"line_number":148,"context_line":"        pass"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    flask.request.view_args[\u0027user_id\u0027] \u003d app_cred[\u0027user_id\u0027]"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    # This target isn\u0027t really used in the default policy for application"},{"line_number":153,"context_line":"    # credentials, but we return it since we\u0027re using this method as a hook to"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_8a627b3d","line":150,"range":{"start_line":150,"start_character":0,"end_line":150,"end_character":60},"updated":"2020-11-02 17:33:27.000000000","message":"I\u0027m not sure how I feel about this because I feel like the flask request arguments should be immutable.\n\nAn alternative would be to rework the enforcement engine in keystone to allow callers to pass in first class target attributes.","commit_id":"d667f14f6f906c2df9b3ba36ebc810d37fa3da71"}],"keystone/tests/protection/v3/test_application_credential.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"08422a6f7b2ca8b7e3e8cd4f5bec52ce80e9c426","unresolved":false,"context_lines":[{"line_number":452,"context_line":"                headers\u003d{\u0027X-Auth-Token\u0027: another_user_token})"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"    def test_user_cannot_delete_application_credential_for_another_user(self):"},{"line_number":456,"context_line":"        # create another user"},{"line_number":457,"context_line":"        another_user \u003d unit.new_user_ref("},{"line_number":458,"context_line":"            domain_id\u003dCONF.identity.default_domain_id"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_7a09a893","line":455,"updated":"2020-11-03 02:09:58.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"d667f14f6f906c2df9b3ba36ebc810d37fa3da71"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e3fad34f1e555964b97652e95d05ec7aef39bc1e","unresolved":false,"context_lines":[{"line_number":483,"context_line":"                    another_user_id,"},{"line_number":484,"context_line":"                    app_cred[\u0027id\u0027]),"},{"line_number":485,"context_line":"                expected_status_code\u003dhttp.client.FORBIDDEN,"},{"line_number":486,"context_line":"                headers\u003d{\u0027X-Auth-Token\u0027: another_user_token})"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"class DomainAdminTests(_TestAppCredBase,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_0a566b5d","line":486,"updated":"2020-11-02 17:34:22.000000000","message":"We need to port these to tempest tests.","commit_id":"d667f14f6f906c2df9b3ba36ebc810d37fa3da71"}]}
