)]}'
{"etc/policy.json":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e49225d95620d3d4c70bb1e5a42f286fd40351a7","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    \"identity:check_token\": \"rule:admin_or_token_subject\","},{"line_number":93,"context_line":"    \"identity:validate_token\": \"rule:service_admin_or_token_subject\","},{"line_number":94,"context_line":"    \"identity:validate_token_head\": \"rule:service_or_admin\","},{"line_number":95,"context_line":"    \"identity:revocation_list\": \"rule:service_or_admin\","},{"line_number":96,"context_line":"    \"identity:revoke_token\": \"rule:admin_or_token_subject\","},{"line_number":97,"context_line":""}],"source_content_type":"application/json","patch_set":1,"id":"9a80dd14_1cd06ef6","line":94,"updated":"2015-03-18 19:06:50.000000000","message":"what about this call?","commit_id":"9c0e112fcbb4c7ae05904578c49ee6a47fe06fba"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"34c5c68b0d26449603efafc906797e65395869ec","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    \"identity:check_token\": \"rule:admin_or_token_subject\","},{"line_number":93,"context_line":"    \"identity:validate_token\": \"rule:service_admin_or_token_subject\","},{"line_number":94,"context_line":"    \"identity:validate_token_head\": \"rule:service_or_admin\","},{"line_number":95,"context_line":"    \"identity:revocation_list\": \"rule:service_or_admin\","},{"line_number":96,"context_line":"    \"identity:revoke_token\": \"rule:admin_or_token_subject\","},{"line_number":97,"context_line":""}],"source_content_type":"application/json","patch_set":1,"id":"9a80dd14_fcd39ad2","line":94,"in_reply_to":"9a80dd14_1cd06ef6","updated":"2015-03-18 19:09:39.000000000","message":"This is used for v2, and as I said in the bug report I don\u0027t care about it.","commit_id":"9c0e112fcbb4c7ae05904578c49ee6a47fe06fba"}],"keystone/tests/unit/test_v3_protection.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"082ed94c15053c61671e8e8841015ade94fd42f1","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        token \u003d self.get_requested_token(auth)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        self.get(\u0027/auth/tokens\u0027, token\u003dtoken,"},{"line_number":401,"context_line":"                 headers\u003d{\u0027X-Subject-Token\u0027: token})"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def test_user_validate_user_token(self):"},{"line_number":404,"context_line":"        # A user can validate one of their own tokens."}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_d877dad2","line":401,"updated":"2015-05-27 13:59:42.000000000","message":"why not assert 200 is returned here?","commit_id":"680848613557a83d24bb99865f67c91a9433510d"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"8cd78838fa3237f7243748c7c0a6505b6a9bc81c","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        token \u003d self.get_requested_token(auth)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        self.get(\u0027/auth/tokens\u0027, token\u003dtoken,"},{"line_number":401,"context_line":"                 headers\u003d{\u0027X-Subject-Token\u0027: token})"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def test_user_validate_user_token(self):"},{"line_number":404,"context_line":"        # A user can validate one of their own tokens."}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_2a27ae65","line":401,"in_reply_to":"7a016987_0476b205","updated":"2015-06-03 06:35:26.000000000","message":"For 200 response, we don\u0027t seem to explicitly specify the expected_status\u003d200.\n\nThis is consistent with other tests, looks good to me.","commit_id":"680848613557a83d24bb99865f67c91a9433510d"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"74f2b9643b6c4e4f42ea286bce4efda6d5824647","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        token \u003d self.get_requested_token(auth)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        self.get(\u0027/auth/tokens\u0027, token\u003dtoken,"},{"line_number":401,"context_line":"                 headers\u003d{\u0027X-Subject-Token\u0027: token})"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def test_user_validate_user_token(self):"},{"line_number":404,"context_line":"        # A user can validate one of their own tokens."}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_bc2cf24a","line":401,"in_reply_to":"7a016987_8b6c6a9d","updated":"2015-05-28 06:05:46.000000000","message":"Lance, 200 check is done here\n\nhttps://github.com/openstack/keystone/blob/master/keystone/tests/unit/test_v3.py#L516","commit_id":"680848613557a83d24bb99865f67c91a9433510d"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"4bc8eeb80f9d1032ec815fff4f6693c67d5023d0","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        token \u003d self.get_requested_token(auth)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        self.get(\u0027/auth/tokens\u0027, token\u003dtoken,"},{"line_number":401,"context_line":"                 headers\u003d{\u0027X-Subject-Token\u0027: token})"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def test_user_validate_user_token(self):"},{"line_number":404,"context_line":"        # A user can validate one of their own tokens."}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_0476b205","line":401,"in_reply_to":"7a016987_bc2cf24a","updated":"2015-05-30 14:46:04.000000000","message":"This does assert that 200 is returned, since that\u0027s the default.","commit_id":"680848613557a83d24bb99865f67c91a9433510d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"eb57d236bfc9c066814ffc5dd9ac11eb6fd0fbbb","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        token \u003d self.get_requested_token(auth)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        self.get(\u0027/auth/tokens\u0027, token\u003dtoken,"},{"line_number":401,"context_line":"                 headers\u003d{\u0027X-Subject-Token\u0027: token})"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def test_user_validate_user_token(self):"},{"line_number":404,"context_line":"        # A user can validate one of their own tokens."}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_8b6c6a9d","line":401,"in_reply_to":"7a016987_d877dad2","updated":"2015-05-27 14:06:02.000000000","message":"Is this because the return code isn\u0027t included in the api specification for GET /auth/tokens/ ? \n\nhttps://github.com/openstack/keystone-specs/blob/master/api/v3/identity-api-v3.rst#validate-token\n\nThe return code is included for HEAD /auth/tokens/ though.","commit_id":"680848613557a83d24bb99865f67c91a9433510d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"082ed94c15053c61671e8e8841015ade94fd42f1","unresolved":false,"context_lines":[{"line_number":411,"context_line":"        token2 \u003d self.get_requested_token(auth)"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"        self.get(\u0027/auth/tokens\u0027, token\u003dtoken1,"},{"line_number":414,"context_line":"                 headers\u003d{\u0027X-Subject-Token\u0027: token2})"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"    def test_user_validate_other_user_token_rejected(self):"},{"line_number":417,"context_line":"        # A user cannot validate another user\u0027s token."}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_787c66b5","line":414,"updated":"2015-05-27 13:59:42.000000000","message":"why not assert 200 is returned here?","commit_id":"680848613557a83d24bb99865f67c91a9433510d"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"74f2b9643b6c4e4f42ea286bce4efda6d5824647","unresolved":false,"context_lines":[{"line_number":411,"context_line":"        token2 \u003d self.get_requested_token(auth)"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"        self.get(\u0027/auth/tokens\u0027, token\u003dtoken1,"},{"line_number":414,"context_line":"                 headers\u003d{\u0027X-Subject-Token\u0027: token2})"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"    def test_user_validate_other_user_token_rejected(self):"},{"line_number":417,"context_line":"        # A user cannot validate another user\u0027s token."}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_9c2ff63d","line":414,"in_reply_to":"7a016987_787c66b5","updated":"2015-05-28 06:05:46.000000000","message":"https://github.com/openstack/keystone/blob/master/keystone/tests/unit/test_v3.py#L516","commit_id":"680848613557a83d24bb99865f67c91a9433510d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"082ed94c15053c61671e8e8841015ade94fd42f1","unresolved":false,"context_lines":[{"line_number":971,"context_line":"        token \u003d self.get_requested_token(auth)"},{"line_number":972,"context_line":""},{"line_number":973,"context_line":"        self.get(\u0027/auth/tokens\u0027, token\u003dtoken,"},{"line_number":974,"context_line":"                 headers\u003d{\u0027X-Subject-Token\u0027: token})"},{"line_number":975,"context_line":""},{"line_number":976,"context_line":"    def test_user_validate_user_token(self):"},{"line_number":977,"context_line":"        # A user can validate one of their own tokens."}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_3866ee29","line":974,"updated":"2015-05-27 13:59:42.000000000","message":"why not assert 200 is returned here?","commit_id":"680848613557a83d24bb99865f67c91a9433510d"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"74f2b9643b6c4e4f42ea286bce4efda6d5824647","unresolved":false,"context_lines":[{"line_number":971,"context_line":"        token \u003d self.get_requested_token(auth)"},{"line_number":972,"context_line":""},{"line_number":973,"context_line":"        self.get(\u0027/auth/tokens\u0027, token\u003dtoken,"},{"line_number":974,"context_line":"                 headers\u003d{\u0027X-Subject-Token\u0027: token})"},{"line_number":975,"context_line":""},{"line_number":976,"context_line":"    def test_user_validate_user_token(self):"},{"line_number":977,"context_line":"        # A user can validate one of their own tokens."}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_5c297e36","line":974,"in_reply_to":"7a016987_3866ee29","updated":"2015-05-28 06:05:46.000000000","message":"https://github.com/openstack/keystone/blob/master/keystone/tests/unit/test_v3.py#L516","commit_id":"680848613557a83d24bb99865f67c91a9433510d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"082ed94c15053c61671e8e8841015ade94fd42f1","unresolved":false,"context_lines":[{"line_number":984,"context_line":"        token2 \u003d self.get_requested_token(auth)"},{"line_number":985,"context_line":""},{"line_number":986,"context_line":"        self.get(\u0027/auth/tokens\u0027, token\u003dtoken1,"},{"line_number":987,"context_line":"                 headers\u003d{\u0027X-Subject-Token\u0027: token2})"},{"line_number":988,"context_line":""},{"line_number":989,"context_line":"    def test_user_validate_other_user_token_rejected(self):"},{"line_number":990,"context_line":"        # A user cannot validate another user\u0027s token."}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_f86f36fa","line":987,"updated":"2015-05-27 13:59:42.000000000","message":"why not assert 200 is returned here?","commit_id":"680848613557a83d24bb99865f67c91a9433510d"}]}
