)]}'
{"tempest/api/network/test_versions.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"5946b09bbc56bd94180ad16e7119cdd6ebc7164a","unresolved":false,"context_lines":[{"line_number":19,"context_line":"class NetworksApiDiscovery(base.BaseNetworkTest):"},{"line_number":20,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":21,"context_line":"    @decorators.idempotent_id(\u0027cac8a836-c2e0-4304-b556-cd299c7281d1\u0027)"},{"line_number":22,"context_line":"    def test_list_api_versions(self):"},{"line_number":23,"context_line":"        \"\"\"Test that GET / returns expected resources."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"        The versions document returned by Neutron returns a few other"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_26f02267","line":22,"range":{"start_line":22,"start_character":8,"end_line":22,"end_character":30},"updated":"2018-09-19 15:52:50.000000000","message":"We can\u0027t rename this because interop relies on this name: http://codesearch.openstack.org/?q\u003dtest_api_version_resources\u0026i\u003dnope\u0026files\u003d\u0026repos\u003d\n\nhttps://docs.openstack.org/tempest/latest/REVIEWING.html#test-removal-and-refactoring","commit_id":"c8c23ae2e28d80948dff5050c6a91c2ccce969f2"},{"author":{"_account_id":8911,"name":"Sergey Vilgelm","email":"sergey@vilgelm.info","username":"sergey.vilgelm"},"change_message_id":"d538ee9c1638f2d03ea051e9c6340be0ae9e31d5","unresolved":false,"context_lines":[{"line_number":19,"context_line":"class NetworksApiDiscovery(base.BaseNetworkTest):"},{"line_number":20,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":21,"context_line":"    @decorators.idempotent_id(\u0027cac8a836-c2e0-4304-b556-cd299c7281d1\u0027)"},{"line_number":22,"context_line":"    def test_list_api_versions(self):"},{"line_number":23,"context_line":"        \"\"\"Test that GET / returns expected resources."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"        The versions document returned by Neutron returns a few other"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_e17f7414","line":22,"range":{"start_line":22,"start_character":8,"end_line":22,"end_character":30},"in_reply_to":"3f79a3b5_26f02267","updated":"2018-09-19 16:22:07.000000000","message":"Thanks Felipe, I didn\u0027t know. Will revert the name back.","commit_id":"c8c23ae2e28d80948dff5050c6a91c2ccce969f2"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"436ff24889ab296a95d88bc0f63058cb570c1439","unresolved":false,"context_lines":[{"line_number":39,"context_line":"                    self.assertIn(resource, version)"},{"line_number":40,"context_line":"                self.assertIn(version[\u0027id\u0027], expected_versions)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":43,"context_line":"    @decorators.idempotent_id(\u0027e64b7216-3178-4263-967c-d389290988bf\u0027)"},{"line_number":44,"context_line":"    def test_show_api_v2_details(self):"},{"line_number":45,"context_line":"        \"\"\"Test that GET /v2.0/ returns expected resources.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_aea29295","line":42,"range":{"start_line":42,"start_character":4,"end_line":42,"end_character":34},"updated":"2018-09-21 19:29:33.000000000","message":"++ I think it makes sense to make this smoke.","commit_id":"d9680cd03fc64739c313724df05ae01fec4a8bae"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"9357166e5f2300648c413100238d61fcf50def83","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def test_show_api_v2_details(self):"},{"line_number":45,"context_line":"        \"\"\"Test that GET /v2.0/ returns expected resources.\"\"\""},{"line_number":46,"context_line":"        current_version \u003d \u0027v2.0\u0027"},{"line_number":47,"context_line":"        expected_resources \u003d (\u0027subnet\u0027, \u0027network\u0027, \u0027port\u0027)"},{"line_number":48,"context_line":"        result \u003d self.network_versions_client.show_version(current_version)"},{"line_number":49,"context_line":"        actual_resources \u003d [r[\u0027name\u0027] for r in result[\u0027resources\u0027]]"},{"line_number":50,"context_line":"        for resource in expected_resources:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_68c92423","line":47,"updated":"2018-10-01 12:39:42.000000000","message":"I hope nobody thinks networking is working without \u0027network\u0027 or \u0027port\u0027 .","commit_id":"fb4d863703dd34a2fbc15521413f232653a4d25f"}],"tempest/lib/services/network/versions_client.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"2100616fa640bfa41a33df63c9d8389a37c9b434","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"        version_url \u003d self._get_base_version_url()"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        # Note: we do a raw_request here because we want to use"},{"line_number":30,"context_line":"        # an unversioned URL, not \"v2/$project_id/\"."},{"line_number":31,"context_line":"        # Since raw_request doesn\u0027t log anything, we do that too."},{"line_number":32,"context_line":"        start \u003d time.time()"},{"line_number":33,"context_line":"        self._log_request_start(\u0027GET\u0027, version_url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_b3083227","side":"PARENT","line":30,"range":{"start_line":29,"start_character":0,"end_line":30,"end_character":52},"updated":"2018-09-17 03:19:45.000000000","message":"This explains the reason why raw_request is used here, and there\u0027s no explaination about the reason of removing this in the commit message","commit_id":"3674fb13825a60be9eae6341ec5f7d1fdc7472b4"},{"author":{"_account_id":8911,"name":"Sergey Vilgelm","email":"sergey@vilgelm.info","username":"sergey.vilgelm"},"change_message_id":"113d6c9278721694b5be1387a7282b1f6b18e2d0","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"        version_url \u003d self._get_base_version_url()"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        # Note: we do a raw_request here because we want to use"},{"line_number":30,"context_line":"        # an unversioned URL, not \"v2/$project_id/\"."},{"line_number":31,"context_line":"        # Since raw_request doesn\u0027t log anything, we do that too."},{"line_number":32,"context_line":"        start \u003d time.time()"},{"line_number":33,"context_line":"        self._log_request_start(\u0027GET\u0027, version_url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_05fad975","side":"PARENT","line":30,"range":{"start_line":29,"start_character":0,"end_line":30,"end_character":52},"in_reply_to":"3f79a3b5_28ac9786","updated":"2018-09-18 14:53:15.000000000","message":"Thanks, will do that","commit_id":"3674fb13825a60be9eae6341ec5f7d1fdc7472b4"},{"author":{"_account_id":8911,"name":"Sergey Vilgelm","email":"sergey@vilgelm.info","username":"sergey.vilgelm"},"change_message_id":"ab83831e7ea876709b2e9e29d585b7ef3afae2fe","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"        version_url \u003d self._get_base_version_url()"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        # Note: we do a raw_request here because we want to use"},{"line_number":30,"context_line":"        # an unversioned URL, not \"v2/$project_id/\"."},{"line_number":31,"context_line":"        # Since raw_request doesn\u0027t log anything, we do that too."},{"line_number":32,"context_line":"        start \u003d time.time()"},{"line_number":33,"context_line":"        self._log_request_start(\u0027GET\u0027, version_url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_bc7237e2","side":"PARENT","line":30,"range":{"start_line":29,"start_character":0,"end_line":30,"end_character":52},"in_reply_to":"3f79a3b5_b3083227","updated":"2018-09-17 16:35:05.000000000","message":"Is this explanation not enough?:  \n\n    Update list_versions function of NetworkVersionsClient to re-use get\n    function of RestClient class that abstracts out the logging for us and\n    makes it possible to retry a request if necessary.\n\nI can add something like: the self.get() function does same as raw_request + logging and does some additional work, like retrying a request.","commit_id":"3674fb13825a60be9eae6341ec5f7d1fdc7472b4"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"dc451d0eefa3293b68217af12f105dd207135f2e","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"        version_url \u003d self._get_base_version_url()"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        # Note: we do a raw_request here because we want to use"},{"line_number":30,"context_line":"        # an unversioned URL, not \"v2/$project_id/\"."},{"line_number":31,"context_line":"        # Since raw_request doesn\u0027t log anything, we do that too."},{"line_number":32,"context_line":"        start \u003d time.time()"},{"line_number":33,"context_line":"        self._log_request_start(\u0027GET\u0027, version_url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_28ac9786","side":"PARENT","line":30,"range":{"start_line":29,"start_character":0,"end_line":30,"end_character":52},"in_reply_to":"3f79a3b5_bc7237e2","updated":"2018-09-18 07:18:30.000000000","message":"Thanks, comments for why \"self.get(\u0027/\u0027)\" is used here would be nice. \nMaybe in the commit message we can explain why raw_request is replaced by self.get(\u0027/\u0027), \nand in the code comments we can keep something like \"we want to use an unversioned URL, not v2/$project_id/\"\"","commit_id":"3674fb13825a60be9eae6341ec5f7d1fdc7472b4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"436ff24889ab296a95d88bc0f63058cb570c1439","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        version_url \u003d self._get_base_version_url()"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"        # Note: we do a raw_request here because we want to use"},{"line_number":30,"context_line":"        # an unversioned URL, not \"v2/$project_id/\"."},{"line_number":31,"context_line":"        # Since raw_request doesn\u0027t log anything, we do that too."},{"line_number":32,"context_line":"        start \u003d time.time()"},{"line_number":33,"context_line":"        self._log_request_start(\u0027GET\u0027, version_url)"},{"line_number":34,"context_line":"        response, body \u003d self.raw_request(version_url, \u0027GET\u0027)"},{"line_number":35,"context_line":"        self._error_checker(response, body)"},{"line_number":36,"context_line":"        end \u003d time.time()"},{"line_number":37,"context_line":"        self._log_request(\u0027GET\u0027, version_url, response,"},{"line_number":38,"context_line":"                          secs\u003d(end - start), resp_body\u003dbody)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        self.response_checker(\u0027GET\u0027, response, body)"},{"line_number":41,"context_line":"        self.expected_success(200, response.status)"},{"line_number":42,"context_line":"        body \u003d json.loads(body)"},{"line_number":43,"context_line":"        return body"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_cef82e7d","side":"PARENT","line":40,"range":{"start_line":30,"start_character":0,"end_line":40,"end_character":52},"updated":"2018-09-21 19:29:33.000000000","message":"I agree all this should be cleaned since self.get calls self.request which calls self._request which contains all this implementation already: https://github.com/openstack/tempest/blob/7e3c936898d05eb9f52e5ce37f463f903ee16ed5/tempest/lib/common/rest_client.py#L540","commit_id":"ecddd38ecbdb5df05543f106e10e14a9e7d0d3da"}]}
