)]}'
{"shade/__init__.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"5af528058e1ed5a5c8627dee50439e9788e5c1ed","unresolved":false,"context_lines":[{"line_number":576,"context_line":"        if self._swift_client is None:"},{"line_number":577,"context_line":"            token \u003d self.auth_token"},{"line_number":578,"context_line":"            endpoint \u003d self.get_endpoint("},{"line_number":579,"context_line":"                service_key\u003d\u0027object-store\u0027)"},{"line_number":580,"context_line":"            self._swift_client \u003d swift_client.Connection("},{"line_number":581,"context_line":"                preauthurl\u003dendpoint,"},{"line_number":582,"context_line":"                preauthtoken\u003dtoken,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7ad32947_40743ffc","line":579,"updated":"2015-04-27 16:42:28.000000000","message":"No need to specify \u0027service_key\u0027 arg name. Remove it.","commit_id":"7a018df1efc27b78a774065e51383ed067b8dbb4"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"5ebef612b171926344792ac78d1f720f5e9bad34","unresolved":false,"context_lines":[{"line_number":576,"context_line":"        if self._swift_client is None:"},{"line_number":577,"context_line":"            token \u003d self.auth_token"},{"line_number":578,"context_line":"            endpoint \u003d self.get_endpoint("},{"line_number":579,"context_line":"                service_key\u003d\u0027object-store\u0027)"},{"line_number":580,"context_line":"            self._swift_client \u003d swift_client.Connection("},{"line_number":581,"context_line":"                preauthurl\u003dendpoint,"},{"line_number":582,"context_line":"                preauthtoken\u003dtoken,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7ad32947_11e21bd6","line":579,"in_reply_to":"7ad32947_40743ffc","updated":"2015-04-27 17:39:17.000000000","message":"Done","commit_id":"7a018df1efc27b78a774065e51383ed067b8dbb4"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"5af528058e1ed5a5c8627dee50439e9788e5c1ed","unresolved":false,"context_lines":[{"line_number":618,"context_line":"    def trove_client(self):"},{"line_number":619,"context_line":"        if self._trove_client is None:"},{"line_number":620,"context_line":"            endpoint \u003d self.get_endpoint("},{"line_number":621,"context_line":"                service_key\u003d\u0027database\u0027)"},{"line_number":622,"context_line":"            trove_api_version \u003d self._get_trove_api_version(endpoint)"},{"line_number":623,"context_line":"            # Make the connection - can\u0027t use keystone session until there"},{"line_number":624,"context_line":"            # is one"}],"source_content_type":"text/x-python","patch_set":11,"id":"7ad32947_00652744","line":621,"updated":"2015-04-27 16:42:28.000000000","message":"Same as above.","commit_id":"7a018df1efc27b78a774065e51383ed067b8dbb4"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"5ebef612b171926344792ac78d1f720f5e9bad34","unresolved":false,"context_lines":[{"line_number":618,"context_line":"    def trove_client(self):"},{"line_number":619,"context_line":"        if self._trove_client is None:"},{"line_number":620,"context_line":"            endpoint \u003d self.get_endpoint("},{"line_number":621,"context_line":"                service_key\u003d\u0027database\u0027)"},{"line_number":622,"context_line":"            trove_api_version \u003d self._get_trove_api_version(endpoint)"},{"line_number":623,"context_line":"            # Make the connection - can\u0027t use keystone session until there"},{"line_number":624,"context_line":"            # is one"}],"source_content_type":"text/x-python","patch_set":11,"id":"7ad32947_f1e67fe7","line":621,"in_reply_to":"7ad32947_00652744","updated":"2015-04-27 17:39:17.000000000","message":"Done","commit_id":"7a018df1efc27b78a774065e51383ed067b8dbb4"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"5af528058e1ed5a5c8627dee50439e9788e5c1ed","unresolved":false,"context_lines":[{"line_number":2085,"context_line":"                # dict as the endpoint."},{"line_number":2086,"context_line":"                endpoint \u003d self.auth[\u0027endpoint\u0027]"},{"line_number":2087,"context_line":"            else:"},{"line_number":2088,"context_line":"                endpoint \u003d self.get_endpoint(service_key\u003d\u0027baremetal\u0027)"},{"line_number":2089,"context_line":"            try:"},{"line_number":2090,"context_line":"                self._ironic_client \u003d ironic_client.Client("},{"line_number":2091,"context_line":"                    \u00271\u0027, endpoint, token\u003dtoken,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7ad32947_e0d0ebcb","line":2088,"updated":"2015-04-27 16:42:28.000000000","message":"Same as above.","commit_id":"7a018df1efc27b78a774065e51383ed067b8dbb4"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"5ebef612b171926344792ac78d1f720f5e9bad34","unresolved":false,"context_lines":[{"line_number":2085,"context_line":"                # dict as the endpoint."},{"line_number":2086,"context_line":"                endpoint \u003d self.auth[\u0027endpoint\u0027]"},{"line_number":2087,"context_line":"            else:"},{"line_number":2088,"context_line":"                endpoint \u003d self.get_endpoint(service_key\u003d\u0027baremetal\u0027)"},{"line_number":2089,"context_line":"            try:"},{"line_number":2090,"context_line":"                self._ironic_client \u003d ironic_client.Client("},{"line_number":2091,"context_line":"                    \u00271\u0027, endpoint, token\u003dtoken,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7ad32947_d1eb83af","line":2088,"in_reply_to":"7ad32947_e0d0ebcb","updated":"2015-04-27 17:39:17.000000000","message":"Done","commit_id":"7a018df1efc27b78a774065e51383ed067b8dbb4"}],"shade/tests/unit/test_shade.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"5af528058e1ed5a5c8627dee50439e9788e5c1ed","unresolved":false,"context_lines":[{"line_number":565,"context_line":"        with testtools.ExpectedException("},{"line_number":566,"context_line":"                exc.OpenStackCloudException,"},{"line_number":567,"context_line":"                \"Error getting image endpoint: No service\"):"},{"line_number":568,"context_line":"            self.cloud.get_endpoint(\"image\")"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    @mock.patch.object(shade.OpenStackCloud, \u0027keystone_session\u0027)"},{"line_number":571,"context_line":"    def test_get_endpoint_identity(self, session_mock):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7ad32947_40555f1b","line":568,"updated":"2015-04-27 16:42:28.000000000","message":"Use assertRaises here:\n\nself.assertRaises(exc.OpenStackCloudException, self.cloud.get_endpoint, \"image\")","commit_id":"7a018df1efc27b78a774065e51383ed067b8dbb4"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"5ebef612b171926344792ac78d1f720f5e9bad34","unresolved":false,"context_lines":[{"line_number":565,"context_line":"        with testtools.ExpectedException("},{"line_number":566,"context_line":"                exc.OpenStackCloudException,"},{"line_number":567,"context_line":"                \"Error getting image endpoint: No service\"):"},{"line_number":568,"context_line":"            self.cloud.get_endpoint(\"image\")"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    @mock.patch.object(shade.OpenStackCloud, \u0027keystone_session\u0027)"},{"line_number":571,"context_line":"    def test_get_endpoint_identity(self, session_mock):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7ad32947_b1a3679e","line":568,"in_reply_to":"7ad32947_40555f1b","updated":"2015-04-27 17:39:17.000000000","message":"I used with ExpectedException so that I could also verify that the text from the exception matched as well, which is not possible with assertRaises.","commit_id":"7a018df1efc27b78a774065e51383ed067b8dbb4"}]}
