)]}'
{"rally/plugins/openstack/context/keystone/api_versions.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"09d596058cf13d2f867d76c6cd0f1342d5847ee4","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            self.context.get(\"admin\", {}).get(\"endpoint\"))"},{"line_number":60,"context_line":"        clients \u003d osclients.Clients(random.choice("},{"line_number":61,"context_line":"            self.context[\"users\"])[\"endpoint\"])"},{"line_number":62,"context_line":"        services \u003d clients.keystone().service_catalog.get_endpoints()"},{"line_number":63,"context_line":"        services_from_admin \u003d None"},{"line_number":64,"context_line":"        for client_name, conf in six.iteritems(self.config):"},{"line_number":65,"context_line":"            if \"service_type\" in conf and conf[\"service_type\"] not in services:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_c4de493d","line":62,"updated":"2015-11-30 11:22:10.000000000","message":"Why not clients.services() (as that was before)?","commit_id":"09ac80e236ee9f85ff4ee35f9b1ed26cdef5a647"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a3d1020a1d43aa7e89d7073cbc6470abba2d2273","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            self.context.get(\"admin\", {}).get(\"endpoint\"))"},{"line_number":60,"context_line":"        clients \u003d osclients.Clients(random.choice("},{"line_number":61,"context_line":"            self.context[\"users\"])[\"endpoint\"])"},{"line_number":62,"context_line":"        services \u003d clients.keystone().service_catalog.get_endpoints()"},{"line_number":63,"context_line":"        services_from_admin \u003d None"},{"line_number":64,"context_line":"        for client_name, conf in six.iteritems(self.config):"},{"line_number":65,"context_line":"            if \"service_type\" in conf and conf[\"service_type\"] not in services:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_e7d58f1b","line":62,"in_reply_to":"9a8ffd7b_274ab755","updated":"2015-11-30 11:42:30.000000000","message":"Agreed","commit_id":"09ac80e236ee9f85ff4ee35f9b1ed26cdef5a647"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"ab2adc6978cc6e7f21a4f57bd23163b2ad929e91","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            self.context.get(\"admin\", {}).get(\"endpoint\"))"},{"line_number":60,"context_line":"        clients \u003d osclients.Clients(random.choice("},{"line_number":61,"context_line":"            self.context[\"users\"])[\"endpoint\"])"},{"line_number":62,"context_line":"        services \u003d clients.keystone().service_catalog.get_endpoints()"},{"line_number":63,"context_line":"        services_from_admin \u003d None"},{"line_number":64,"context_line":"        for client_name, conf in six.iteritems(self.config):"},{"line_number":65,"context_line":"            if \"service_type\" in conf and conf[\"service_type\"] not in services:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_274ab755","line":62,"in_reply_to":"9a8ffd7b_c4de493d","updated":"2015-11-30 11:36:48.000000000","message":"Because it sucks(actually, keystone sucks)\nThis context provides a way to use non-default service types and we should check that such types exists. Method \u0027Clients.services\u0027 doesn\u0027t return unknown services","commit_id":"09ac80e236ee9f85ff4ee35f9b1ed26cdef5a647"}],"tests/unit/plugins/openstack/context/keystone/test_api_versions.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a677889dc47f7015facc5ac3ab7ccc515fe5c336","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @mock.patch(\"%s.osclients.Clients\" % CTX)"},{"line_number":78,"context_line":"    def test_setup_with_wrong_service_name(self, mock_clients):"},{"line_number":79,"context_line":"        keystone \u003d mock_clients.return_value.keystone.return_value"},{"line_number":80,"context_line":"        keystone.service_catalog.get_endpoints.return_value \u003d []"},{"line_number":81,"context_line":"        keystone.services.list.return_value \u003d []"},{"line_number":82,"context_line":"        context \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_b1aee57e","line":79,"updated":"2015-11-30 11:14:08.000000000","message":"Maybe it\u0027s time to add a setUp() method and move duplicated code there","commit_id":"09ac80e236ee9f85ff4ee35f9b1ed26cdef5a647"}]}
