)]}'
{"keystonemiddleware/auth_token/_identity.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"047de0e7a9e78bcdc287f15d0e76ae0716f371cf","unresolved":false,"context_lines":[{"line_number":236,"context_line":"            self._LOG.error("},{"line_number":237,"context_line":"                \u0027Bad response code while validating token: %s %s\u0027,"},{"line_number":238,"context_line":"                e.http_status, e.message)"},{"line_number":239,"context_line":"            if hasattr(e.response, \u0027text\u0027):"},{"line_number":240,"context_line":"                self._LOG.warning(\u0027Identity response: %s\u0027, e.response.text)"},{"line_number":241,"context_line":"            msg \u003d _(\u0027Failed to fetch token data from identity server\u0027)"},{"line_number":242,"context_line":"            raise ksm_exceptions.ServiceError(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_03356046","line":239,"updated":"2018-01-26 01:49:44.000000000","message":"Maybe better as just\n\n if e.response:\n\n? *shrug*","commit_id":"eb0e31dc3fa33abe776d2c74a7279cc756eebaa2"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"8ef16702e98b29e533164722210a96c2dde87bc9","unresolved":false,"context_lines":[{"line_number":234,"context_line":"            raise ksm_exceptions.ServiceError(msg)"},{"line_number":235,"context_line":"        except ksa_exceptions.HttpError as e:"},{"line_number":236,"context_line":"            self._LOG.error("},{"line_number":237,"context_line":"                \u0027Bad response code while validating token: %s %s\u0027,"},{"line_number":238,"context_line":"                e.http_status, e.message)"},{"line_number":239,"context_line":"            if hasattr(e.response, \u0027text\u0027):"},{"line_number":240,"context_line":"                self._LOG.warning(\u0027Identity response: %s\u0027, e.response.text)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_8591de54","line":237,"range":{"start_line":237,"start_character":30,"end_line":237,"end_character":34},"updated":"2018-04-13 09:04:33.000000000","message":"how about removing the \"code\" word since \"e.message\" is added now.","commit_id":"e503fbd9412d94be43962af3b3ef7067d7f7f49b"}],"keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"f37417eca315ecdc278fe7ce42dedd2808b8a8a5","unresolved":false,"context_lines":[{"line_number":1085,"context_line":"        self.assertEqual(mock_obj.call_count, times_retry)"},{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"    def test_request_timeout(self):"},{"line_number":1088,"context_line":"        self.set_middleware(conf\u003d{\u0027http_request_max_retries\u0027: \u00273\u0027})"},{"line_number":1089,"context_line":"        with mock.patch(\u0027time.sleep\u0027) as mock_obj:"},{"line_number":1090,"context_line":"            self.call_middleware(headers\u003d{\u0027X-Auth-Token\u0027: TIMEOUT_TOKEN},"},{"line_number":1091,"context_line":"                                 expected_status\u003d503)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_67b7bcda","line":1088,"updated":"2018-03-23 19:10:39.000000000","message":"This test is about a server timeout, not request retries, I think you can omit this.","commit_id":"c18d3012b223a76193204b61ade20561ff6922ba"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"786ae7f1811b930174a7b7908a4dde3cbfe23800","unresolved":false,"context_lines":[{"line_number":1085,"context_line":"        self.assertEqual(mock_obj.call_count, times_retry)"},{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"    def test_request_timeout(self):"},{"line_number":1088,"context_line":"        self.set_middleware(conf\u003d{\u0027http_request_max_retries\u0027: \u00273\u0027})"},{"line_number":1089,"context_line":"        with mock.patch(\u0027time.sleep\u0027) as mock_obj:"},{"line_number":1090,"context_line":"            self.call_middleware(headers\u003d{\u0027X-Auth-Token\u0027: TIMEOUT_TOKEN},"},{"line_number":1091,"context_line":"                                 expected_status\u003d503)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_4b4b292a","line":1088,"in_reply_to":"bf659307_67b7bcda","updated":"2018-04-10 22:49:24.000000000","message":"Done","commit_id":"c18d3012b223a76193204b61ade20561ff6922ba"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"f37417eca315ecdc278fe7ce42dedd2808b8a8a5","unresolved":false,"context_lines":[{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"    def test_request_timeout(self):"},{"line_number":1088,"context_line":"        self.set_middleware(conf\u003d{\u0027http_request_max_retries\u0027: \u00273\u0027})"},{"line_number":1089,"context_line":"        with mock.patch(\u0027time.sleep\u0027) as mock_obj:"},{"line_number":1090,"context_line":"            self.call_middleware(headers\u003d{\u0027X-Auth-Token\u0027: TIMEOUT_TOKEN},"},{"line_number":1091,"context_line":"                                 expected_status\u003d503)"},{"line_number":1092,"context_line":"        self.assertEqual(mock_obj.call_count, 0)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_e7a18c97","line":1089,"updated":"2018-03-23 19:10:39.000000000","message":"In the above test this mock is for ensuring that a particular code path in keystoneauth was being used. You don\u0027t need it here.","commit_id":"c18d3012b223a76193204b61ade20561ff6922ba"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"786ae7f1811b930174a7b7908a4dde3cbfe23800","unresolved":false,"context_lines":[{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"    def test_request_timeout(self):"},{"line_number":1088,"context_line":"        self.set_middleware(conf\u003d{\u0027http_request_max_retries\u0027: \u00273\u0027})"},{"line_number":1089,"context_line":"        with mock.patch(\u0027time.sleep\u0027) as mock_obj:"},{"line_number":1090,"context_line":"            self.call_middleware(headers\u003d{\u0027X-Auth-Token\u0027: TIMEOUT_TOKEN},"},{"line_number":1091,"context_line":"                                 expected_status\u003d503)"},{"line_number":1092,"context_line":"        self.assertEqual(mock_obj.call_count, 0)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_ab42050e","line":1089,"in_reply_to":"bf659307_e7a18c97","updated":"2018-04-10 22:49:24.000000000","message":"I wanted to demonstrate that a particular code path *was not* used (hence the assertion on line 1092) but w/e. Done.","commit_id":"c18d3012b223a76193204b61ade20561ff6922ba"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"22b230de613f26fe5ba053b4dbb25a72a6792064","unresolved":false,"context_lines":[{"line_number":1631,"context_line":"        self.requests_mock.get(url, text\u003dnetwork_error_response)"},{"line_number":1632,"context_line":""},{"line_number":1633,"context_line":"        url \u003d \u0027%s/v2.0/tokens/%s\u0027 % (BASE_URI, TIMEOUT_TOKEN)"},{"line_number":1634,"context_line":"        self.requests_mock.get(url, text\u003drequest_timeout_response)"},{"line_number":1635,"context_line":""},{"line_number":1636,"context_line":"        self.set_middleware()"},{"line_number":1637,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_67c72014","line":1634,"updated":"2018-04-11 21:17:34.000000000","message":"is this used somewhere? the testing being added looks v3 specific but this appears to be adding plumbing for v2?","commit_id":"e503fbd9412d94be43962af3b3ef7067d7f7f49b"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a330cbbadb49704f289832a4c48386610f08b363","unresolved":false,"context_lines":[{"line_number":1631,"context_line":"        self.requests_mock.get(url, text\u003dnetwork_error_response)"},{"line_number":1632,"context_line":""},{"line_number":1633,"context_line":"        url \u003d \u0027%s/v2.0/tokens/%s\u0027 % (BASE_URI, TIMEOUT_TOKEN)"},{"line_number":1634,"context_line":"        self.requests_mock.get(url, text\u003drequest_timeout_response)"},{"line_number":1635,"context_line":""},{"line_number":1636,"context_line":"        self.set_middleware()"},{"line_number":1637,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_8b102b02","line":1634,"in_reply_to":"bf659307_2dfca970","updated":"2018-04-12 14:17:23.000000000","message":"Oh - interesting... Thanks for the update. Much of this code needs to get reworked now that v2.0 isn\u0027t supported anymore.","commit_id":"e503fbd9412d94be43962af3b3ef7067d7f7f49b"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"cc47612e00e7a1e7bc80bdef88efb01d8fad252b","unresolved":false,"context_lines":[{"line_number":1631,"context_line":"        self.requests_mock.get(url, text\u003dnetwork_error_response)"},{"line_number":1632,"context_line":""},{"line_number":1633,"context_line":"        url \u003d \u0027%s/v2.0/tokens/%s\u0027 % (BASE_URI, TIMEOUT_TOKEN)"},{"line_number":1634,"context_line":"        self.requests_mock.get(url, text\u003drequest_timeout_response)"},{"line_number":1635,"context_line":""},{"line_number":1636,"context_line":"        self.set_middleware()"},{"line_number":1637,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_2dfca970","line":1634,"in_reply_to":"bf659307_67c72014","updated":"2018-04-11 22:59:58.000000000","message":"Dropping it causes v2AuthTokenMiddlewareTest.test_request_timeout to fail:\n\n Traceback (most recent call last):\n   File \".../keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py\", line 1089, in test_request_timeout\n     expected_status\u003d503)\n   File \".../keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py\", line 311, in call_middleware\n     return self.call(self.middleware, **kwargs)\n   ...\n   a ton more stack frames\n   ...\n   File \".../requests_mock/adapter.py\", line 233, in send\n     raise exceptions.NoMockAddress(request)\n requests_mock.exceptions.NoMockAddress: No mock address: GET https://keystone.example.com:1234/testadmin/v2.0/tokens/4ed1c5e53beee59458adcf8261a8cae2","commit_id":"e503fbd9412d94be43962af3b3ef7067d7f7f49b"}]}
