)]}'
{"tempest/api/identity/admin/v3/test_endpoints.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a5aa8dbe5774a169ae9a2d85be2159f559c7dc9f","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        # Create endpoints so as to use for LIST and GET test cases"},{"line_number":36,"context_line":"        interfaces \u003d [\u0027public\u0027, \u0027internal\u0027]"},{"line_number":37,"context_line":"        service_ids \u003d [cls.service_id, cls.alt_service_id]"},{"line_number":38,"context_line":"        cls.setup_endpoints \u003d list()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        for i in range(2):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_8b868765","line":37,"range":{"start_line":37,"start_character":8,"end_line":37,"end_character":58},"updated":"2017-05-02 02:18:28.000000000","message":"this is not needed, we can directly use cls.service_ids","commit_id":"c9fd07f3b26d4ecea3bba0b23379a181bddfc05a"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"20bf69825b1afb9c33e1762674c06caf2525f2ac","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        # Create endpoints so as to use for LIST and GET test cases"},{"line_number":36,"context_line":"        interfaces \u003d [\u0027public\u0027, \u0027internal\u0027]"},{"line_number":37,"context_line":"        service_ids \u003d [cls.service_id, cls.alt_service_id]"},{"line_number":38,"context_line":"        cls.setup_endpoints \u003d list()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        for i in range(2):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_c6c36637","line":37,"range":{"start_line":37,"start_character":8,"end_line":37,"end_character":58},"in_reply_to":"5ff73747_8b868765","updated":"2017-05-02 03:29:33.000000000","message":"Done","commit_id":"c9fd07f3b26d4ecea3bba0b23379a181bddfc05a"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a5aa8dbe5774a169ae9a2d85be2159f559c7dc9f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        interfaces \u003d [\u0027public\u0027, \u0027internal\u0027]"},{"line_number":37,"context_line":"        service_ids \u003d [cls.service_id, cls.alt_service_id]"},{"line_number":38,"context_line":"        cls.setup_endpoints \u003d list()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        for i in range(2):"},{"line_number":41,"context_line":"            region \u003d data_utils.rand_name(\u0027region\u0027)"},{"line_number":42,"context_line":"            url \u003d data_utils.rand_url()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_2bcd33b6","line":39,"updated":"2017-05-02 02:18:28.000000000","message":"this blank line seems not needed","commit_id":"c9fd07f3b26d4ecea3bba0b23379a181bddfc05a"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"20bf69825b1afb9c33e1762674c06caf2525f2ac","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        interfaces \u003d [\u0027public\u0027, \u0027internal\u0027]"},{"line_number":37,"context_line":"        service_ids \u003d [cls.service_id, cls.alt_service_id]"},{"line_number":38,"context_line":"        cls.setup_endpoints \u003d list()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        for i in range(2):"},{"line_number":41,"context_line":"            region \u003d data_utils.rand_name(\u0027region\u0027)"},{"line_number":42,"context_line":"            url \u003d data_utils.rand_url()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_a6be1aab","line":39,"in_reply_to":"5ff73747_2bcd33b6","updated":"2017-05-02 03:29:33.000000000","message":"Done","commit_id":"c9fd07f3b26d4ecea3bba0b23379a181bddfc05a"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a5aa8dbe5774a169ae9a2d85be2159f559c7dc9f","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        # Assert that both filters returned the correct result."},{"line_number":88,"context_line":"        self.assertEqual(1, len(fetched_endpoints_for_service))"},{"line_number":89,"context_line":"        self.assertEqual(1, len(fetched_endpoints_for_alt_service))"},{"line_number":90,"context_line":"        self.assertNotEqual(fetched_endpoints_for_service[0][\u0027id\u0027],"},{"line_number":91,"context_line":"                            fetched_endpoints_for_alt_service[0][\u0027id\u0027])"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        # Check that filtering endpoints by interface works."},{"line_number":94,"context_line":"        fetched_public_endpoints \u003d self.client.list_endpoints("}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_ab4823b2","line":91,"range":{"start_line":90,"start_character":1,"end_line":91,"end_character":71},"updated":"2017-05-02 02:18:28.000000000","message":"will it be more accurate to check:\n    self.assertEqual(set(fetched_endpoints), set([fetched_endpoints_for_service, fetched_endpoints_for_alt_service]))","commit_id":"c9fd07f3b26d4ecea3bba0b23379a181bddfc05a"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"20bf69825b1afb9c33e1762674c06caf2525f2ac","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        # Assert that both filters returned the correct result."},{"line_number":88,"context_line":"        self.assertEqual(1, len(fetched_endpoints_for_service))"},{"line_number":89,"context_line":"        self.assertEqual(1, len(fetched_endpoints_for_alt_service))"},{"line_number":90,"context_line":"        self.assertNotEqual(fetched_endpoints_for_service[0][\u0027id\u0027],"},{"line_number":91,"context_line":"                            fetched_endpoints_for_alt_service[0][\u0027id\u0027])"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        # Check that filtering endpoints by interface works."},{"line_number":94,"context_line":"        fetched_public_endpoints \u003d self.client.list_endpoints("}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_2601ea6a","line":91,"range":{"start_line":90,"start_character":1,"end_line":91,"end_character":71},"in_reply_to":"5ff73747_ab4823b2","updated":"2017-05-02 03:29:33.000000000","message":"It\u0027s better to do \n\n    self.assertIn(fetched_endpoints_for_service[0][\u0027id\u0027], fetched_endpoints)\n\nbecause \"fetched_endpoints\" consists of all endpoints in system, but \"fetched_endpoints_for_service\" only returns 1 endpoint.","commit_id":"c9fd07f3b26d4ecea3bba0b23379a181bddfc05a"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a5aa8dbe5774a169ae9a2d85be2159f559c7dc9f","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            interface\u003d\u0027internal\u0027)[\u0027endpoints\u0027]"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        # Check that at least 1 result was returned per filter."},{"line_number":100,"context_line":"        self.assertGreater(len(fetched_public_endpoints), 0)"},{"line_number":101,"context_line":"        self.assertGreater(len(fetched_iternal_endpoints), 0)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        # Check that the expected endpoint_id is present per filter."}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_cbe24fa0","line":100,"range":{"start_line":100,"start_character":13,"end_line":100,"end_character":26},"updated":"2017-05-02 02:18:28.000000000","message":"assertNotEmpty","commit_id":"c9fd07f3b26d4ecea3bba0b23379a181bddfc05a"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"20bf69825b1afb9c33e1762674c06caf2525f2ac","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            interface\u003d\u0027internal\u0027)[\u0027endpoints\u0027]"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        # Check that at least 1 result was returned per filter."},{"line_number":100,"context_line":"        self.assertGreater(len(fetched_public_endpoints), 0)"},{"line_number":101,"context_line":"        self.assertGreater(len(fetched_iternal_endpoints), 0)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        # Check that the expected endpoint_id is present per filter."}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_e621c2b5","line":100,"range":{"start_line":100,"start_character":13,"end_line":100,"end_character":26},"in_reply_to":"5ff73747_cbe24fa0","updated":"2017-05-02 03:29:33.000000000","message":"Done","commit_id":"c9fd07f3b26d4ecea3bba0b23379a181bddfc05a"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a5aa8dbe5774a169ae9a2d85be2159f559c7dc9f","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        # Check that at least 1 result was returned per filter."},{"line_number":100,"context_line":"        self.assertGreater(len(fetched_public_endpoints), 0)"},{"line_number":101,"context_line":"        self.assertGreater(len(fetched_iternal_endpoints), 0)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        # Check that the expected endpoint_id is present per filter."},{"line_number":104,"context_line":"        public_endpoint_ids \u003d [e[\u0027id\u0027] for e in fetched_public_endpoints]"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_8bf2076f","line":101,"range":{"start_line":101,"start_character":13,"end_line":101,"end_character":26},"updated":"2017-05-02 02:18:28.000000000","message":"ditto","commit_id":"c9fd07f3b26d4ecea3bba0b23379a181bddfc05a"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"20bf69825b1afb9c33e1762674c06caf2525f2ac","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        # Check that at least 1 result was returned per filter."},{"line_number":100,"context_line":"        self.assertGreater(len(fetched_public_endpoints), 0)"},{"line_number":101,"context_line":"        self.assertGreater(len(fetched_iternal_endpoints), 0)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        # Check that the expected endpoint_id is present per filter."},{"line_number":104,"context_line":"        public_endpoint_ids \u003d [e[\u0027id\u0027] for e in fetched_public_endpoints]"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ff73747_c62c86ad","line":101,"range":{"start_line":101,"start_character":13,"end_line":101,"end_character":26},"in_reply_to":"5ff73747_8bf2076f","updated":"2017-05-02 03:29:33.000000000","message":"Done","commit_id":"c9fd07f3b26d4ecea3bba0b23379a181bddfc05a"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"43c3a47e650faa3faa73f7a0f3c5e0fff6aea6a2","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        # Assert that both filters returned the correct result."},{"line_number":88,"context_line":"        self.assertNotEmpty(fetched_endpoints_for_service)"},{"line_number":89,"context_line":"        self.assertNotEmpty(fetched_endpoints_for_alt_service)"},{"line_number":90,"context_line":"        self.assertIn(fetched_endpoints_for_service[0][\u0027id\u0027],"},{"line_number":91,"context_line":"                      fetched_endpoint_ids)"},{"line_number":92,"context_line":"        self.assertIn(fetched_endpoints_for_alt_service[0][\u0027id\u0027],"},{"line_number":93,"context_line":"                      fetched_endpoint_ids)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        # Check that filtering endpoints by interface works."},{"line_number":96,"context_line":"        fetched_public_endpoints \u003d self.client.list_endpoints("}],"source_content_type":"text/x-python","patch_set":3,"id":"5ff73747_9107daca","line":93,"range":{"start_line":90,"start_character":0,"end_line":93,"end_character":43},"updated":"2017-05-02 03:48:38.000000000","message":"sorry for my misstatement, I wanted to say:\n    self.assertEqual(set(self.setup_endpoints), set([fetched_endpoints_for_service[0], fetched_endpoints_for_alt_service[0]]))","commit_id":"bcbeb95c9ccf4af8d2b036a04e728f93bdb14f88"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a371823146bc28cb294ef4e6a8cf6669218ad6db","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            service_id\u003dself.service_ids[1])[\u0027endpoints\u0027]"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        # Assert that both filters returned the correct result."},{"line_number":89,"context_line":"        self.assertNotEmpty(fetched_endpoints_for_service)"},{"line_number":90,"context_line":"        self.assertNotEmpty(fetched_endpoints_for_alt_service)"},{"line_number":91,"context_line":"        self.assertEqual(set(self.setup_endpoint_ids),"},{"line_number":92,"context_line":"                         set([fetched_endpoints_for_service[0][\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f201791_fdf65263","line":89,"range":{"start_line":89,"start_character":13,"end_line":89,"end_character":27},"updated":"2017-06-26 03:50:17.000000000","message":"will it be more accurate to check assertEqual(1, len(fetched_endpoints_for_service))?","commit_id":"fd6e3cab56659e8c6d41d661fca54b96bc7a3653"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c1d83669b203c423029d08b1bd4329e97eade156","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            service_id\u003dself.service_ids[1])[\u0027endpoints\u0027]"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        # Assert that both filters returned the correct result."},{"line_number":89,"context_line":"        self.assertNotEmpty(fetched_endpoints_for_service)"},{"line_number":90,"context_line":"        self.assertNotEmpty(fetched_endpoints_for_alt_service)"},{"line_number":91,"context_line":"        self.assertEqual(set(self.setup_endpoint_ids),"},{"line_number":92,"context_line":"                         set([fetched_endpoints_for_service[0][\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f201791_be71d946","line":89,"range":{"start_line":89,"start_character":13,"end_line":89,"end_character":27},"in_reply_to":"5f201791_fdf65263","updated":"2017-06-26 19:28:40.000000000","message":"Agreed, that\u0027s a good idea","commit_id":"fd6e3cab56659e8c6d41d661fca54b96bc7a3653"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a371823146bc28cb294ef4e6a8cf6669218ad6db","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        # Assert that both filters returned the correct result."},{"line_number":89,"context_line":"        self.assertNotEmpty(fetched_endpoints_for_service)"},{"line_number":90,"context_line":"        self.assertNotEmpty(fetched_endpoints_for_alt_service)"},{"line_number":91,"context_line":"        self.assertEqual(set(self.setup_endpoint_ids),"},{"line_number":92,"context_line":"                         set([fetched_endpoints_for_service[0][\u0027id\u0027],"},{"line_number":93,"context_line":"                              fetched_endpoints_for_alt_service[0][\u0027id\u0027]]))"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f201791_5da9c621","line":90,"range":{"start_line":90,"start_character":13,"end_line":90,"end_character":27},"updated":"2017-06-26 03:50:17.000000000","message":"ditto","commit_id":"fd6e3cab56659e8c6d41d661fca54b96bc7a3653"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a371823146bc28cb294ef4e6a8cf6669218ad6db","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self.assertNotEmpty(fetched_public_endpoints)"},{"line_number":103,"context_line":"        self.assertNotEmpty(fetched_internal_endpoints)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        # Check that the expected endpoint_id is present per filter."},{"line_number":106,"context_line":"        endpoint_ids \u003d [e[\u0027id\u0027] for e in fetched_public_endpoints]"},{"line_number":107,"context_line":"        more_endpoint_ids \u003d [e[\u0027id\u0027] for e in fetched_internal_endpoints]"},{"line_number":108,"context_line":"        endpoint_ids.extend(more_endpoint_ids)"},{"line_number":109,"context_line":"        for endpoint_id in set(endpoint_ids):"},{"line_number":110,"context_line":"            self.assertIn(endpoint_id, fetched_endpoint_ids)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    @decorators.idempotent_id(\u00270e2446d2-c1fd-461b-a729-b9e73e3e3b37\u0027)"},{"line_number":113,"context_line":"    def test_create_list_show_delete_endpoint(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f201791_3d028a0c","line":110,"range":{"start_line":105,"start_character":0,"end_line":110,"end_character":60},"updated":"2017-06-26 03:50:17.000000000","message":"this check seems doesn\u0027t make sense, maybe you\u0027d rather check\n        for endpoint_id in cls.setup_endpoint_ids:\n            self.assertIn(endpoint_id, endpoint_ids)","commit_id":"fd6e3cab56659e8c6d41d661fca54b96bc7a3653"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c1d83669b203c423029d08b1bd4329e97eade156","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self.assertNotEmpty(fetched_public_endpoints)"},{"line_number":103,"context_line":"        self.assertNotEmpty(fetched_internal_endpoints)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        # Check that the expected endpoint_id is present per filter."},{"line_number":106,"context_line":"        endpoint_ids \u003d [e[\u0027id\u0027] for e in fetched_public_endpoints]"},{"line_number":107,"context_line":"        more_endpoint_ids \u003d [e[\u0027id\u0027] for e in fetched_internal_endpoints]"},{"line_number":108,"context_line":"        endpoint_ids.extend(more_endpoint_ids)"},{"line_number":109,"context_line":"        for endpoint_id in set(endpoint_ids):"},{"line_number":110,"context_line":"            self.assertIn(endpoint_id, fetched_endpoint_ids)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    @decorators.idempotent_id(\u00270e2446d2-c1fd-461b-a729-b9e73e3e3b37\u0027)"},{"line_number":113,"context_line":"    def test_create_list_show_delete_endpoint(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f201791_b2e34d34","line":110,"range":{"start_line":105,"start_character":0,"end_line":110,"end_character":60},"in_reply_to":"5f201791_3d028a0c","updated":"2017-06-26 19:28:40.000000000","message":"Done","commit_id":"fd6e3cab56659e8c6d41d661fca54b96bc7a3653"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"c9d2c6f81a56eb026310ec11f88748dc3ae23f95","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        fetched_internal_endpoints \u003d self.client.list_endpoints("},{"line_number":99,"context_line":"            interface\u003d\u0027internal\u0027)[\u0027endpoints\u0027]"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        # Assert that both filters returned the correct result."},{"line_number":102,"context_line":"        self.assertNotEmpty(fetched_public_endpoints)"},{"line_number":103,"context_line":"        self.assertNotEmpty(fetched_internal_endpoints)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        # Check that the expected endpoint_id is present per filter. [0] is"},{"line_number":106,"context_line":"        # public and [1] is internal."}],"source_content_type":"text/x-python","patch_set":12,"id":"5f201791_cbbde7d8","line":103,"range":{"start_line":101,"start_character":0,"end_line":103,"end_character":55},"updated":"2017-06-27 05:50:17.000000000","message":"nit: this is not needed","commit_id":"152ce1b7e6cd294605c6d999c495d69549f3ebdb"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"0f3150e23864e56eef3d326406aa4465f6fb69a2","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        fetched_internal_endpoints \u003d self.client.list_endpoints("},{"line_number":99,"context_line":"            interface\u003d\u0027internal\u0027)[\u0027endpoints\u0027]"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        # Assert that both filters returned the correct result."},{"line_number":102,"context_line":"        self.assertNotEmpty(fetched_public_endpoints)"},{"line_number":103,"context_line":"        self.assertNotEmpty(fetched_internal_endpoints)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        # Check that the expected endpoint_id is present per filter. [0] is"},{"line_number":106,"context_line":"        # public and [1] is internal."}],"source_content_type":"text/x-python","patch_set":12,"id":"5f201791_c1e80c7d","line":103,"range":{"start_line":101,"start_character":0,"end_line":103,"end_character":55},"in_reply_to":"5f201791_cbbde7d8","updated":"2017-06-27 19:38:33.000000000","message":"True, if false, 107 and 109 will catch this. Fixed in next patch.","commit_id":"152ce1b7e6cd294605c6d999c495d69549f3ebdb"}],"tempest/lib/services/identity/v3/endpoints_client.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f8c73b0fd58636abc68de9f6c51c93c16df57aa7","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class EndPointsClient(rest_client.RestClient):"},{"line_number":27,"context_line":"    api_version \u003d \"v3\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def list_endpoints(self, **params):"},{"line_number":30,"context_line":"        \"\"\"GET endpoints.\"\"\""},{"line_number":31,"context_line":"        url \u003d \u0027endpoints\u0027"},{"line_number":32,"context_line":"        if params:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f044301_03ad7087","line":29,"range":{"start_line":29,"start_character":8,"end_line":29,"end_character":39},"updated":"2017-05-05 17:44:38.000000000","message":"could you add a reno file for this tempest.lib change?","commit_id":"8f632a2b142b4c62c39563a23af785ddef9f1dbd"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0337fdcd3e66fa9b4214f30cb770606c830a79cf","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        \"\"\""},{"line_number":36,"context_line":"        url \u003d \u0027endpoints\u0027"},{"line_number":37,"context_line":"        if params:"},{"line_number":38,"context_line":"            url +\u003d \u0027?%s\u0027 % urllib.urlencode(params)"},{"line_number":39,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":40,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":41,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f201791_9899acc5","line":38,"updated":"2017-06-26 04:00:47.000000000","message":"Why not add a unit test for this?","commit_id":"fd6e3cab56659e8c6d41d661fca54b96bc7a3653"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c1d83669b203c423029d08b1bd4329e97eade156","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        \"\"\""},{"line_number":36,"context_line":"        url \u003d \u0027endpoints\u0027"},{"line_number":37,"context_line":"        if params:"},{"line_number":38,"context_line":"            url +\u003d \u0027?%s\u0027 % urllib.urlencode(params)"},{"line_number":39,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":40,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":41,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f201791_32c97dab","line":38,"in_reply_to":"5f201791_9899acc5","updated":"2017-06-26 19:28:40.000000000","message":"Done","commit_id":"fd6e3cab56659e8c6d41d661fca54b96bc7a3653"}],"tempest/lib/services/identity/v3/services_client.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f8c73b0fd58636abc68de9f6c51c93c16df57aa7","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        url \u003d \u0027services\u0027"},{"line_number":77,"context_line":"        if params:"},{"line_number":78,"context_line":"            url +\u003d \u0027?%s\u0027 % urllib.urlencode(params)"},{"line_number":79,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":80,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":81,"context_line":"        body \u003d json.loads(body)"},{"line_number":82,"context_line":"        return rest_client.ResponseBody(resp, body)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f044301_c38ae819","line":79,"range":{"start_line":79,"start_character":0,"end_line":79,"end_character":34},"updated":"2017-05-05 17:44:38.000000000","message":"Oops, nice catch","commit_id":"8f632a2b142b4c62c39563a23af785ddef9f1dbd"}]}
