)]}'
{"tempest/api/queuing/base.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c6957cdda5be0ae815605297aeefcbe02ebd2b76","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        return resp, body"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    @classmethod"},{"line_number":58,"context_line":"    def check_queue(cls, queue_name):"},{"line_number":59,"context_line":"        \"\"\"Wrapper utility that checks the existence of a test queue.\"\"\""},{"line_number":60,"context_line":"        resp, body \u003d cls.client.get_queue(queue_name)"},{"line_number":61,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_81597f00","line":58,"updated":"2014-05-07 06:16:38.000000000","message":"This method does not check anything, just gets queue info. so the name seems wrong.","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"24bd42fe57c6ce36061526c74bfad1643897783f","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        return resp, body"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    @classmethod"},{"line_number":58,"context_line":"    def check_queue(cls, queue_name):"},{"line_number":59,"context_line":"        \"\"\"Wrapper utility that checks the existence of a test queue.\"\"\""},{"line_number":60,"context_line":"        resp, body \u003d cls.client.get_queue(queue_name)"},{"line_number":61,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":8,"id":"7adec928_9990fa44","line":58,"in_reply_to":"9ad9bd40_81597f00","updated":"2014-05-14 20:10:20.000000000","message":"We could rename this to check_queue_exists, to make it more explicit","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c6957cdda5be0ae815605297aeefcbe02ebd2b76","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        return resp, body"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    @classmethod"},{"line_number":64,"context_line":"    def check_queue_head(cls, queue_name):"},{"line_number":65,"context_line":"        \"\"\"Wrapper utility that checks the head of a test queue.\"\"\""},{"line_number":66,"context_line":"        resp, body \u003d cls.client.head_queue(queue_name)"},{"line_number":67,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_a15cc3ee","line":64,"updated":"2014-05-07 06:16:38.000000000","message":"ditto","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"24bd42fe57c6ce36061526c74bfad1643897783f","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        return resp, body"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    @classmethod"},{"line_number":64,"context_line":"    def check_queue_head(cls, queue_name):"},{"line_number":65,"context_line":"        \"\"\"Wrapper utility that checks the head of a test queue.\"\"\""},{"line_number":66,"context_line":"        resp, body \u003d cls.client.head_queue(queue_name)"},{"line_number":67,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":8,"id":"7adec928_d99a8262","line":64,"in_reply_to":"9ad9bd40_a15cc3ee","updated":"2014-05-14 20:10:20.000000000","message":"We could rename this to check_queue_exists_head, to make it more explicit","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"24bd42fe57c6ce36061526c74bfad1643897783f","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    @classmethod"},{"line_number":64,"context_line":"    def check_queue_head(cls, queue_name):"},{"line_number":65,"context_line":"        \"\"\"Wrapper utility that checks the head of a test queue.\"\"\""},{"line_number":66,"context_line":"        resp, body \u003d cls.client.head_queue(queue_name)"},{"line_number":67,"context_line":"        return resp, body"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7adec928_19a4eaa4","line":65,"updated":"2014-05-14 20:10:20.000000000","message":"\"\"\"Wrapper utility that checks the existence of a test queue via http HEAD.\"\"\"","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c6957cdda5be0ae815605297aeefcbe02ebd2b76","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        return resp, body"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    @classmethod"},{"line_number":70,"context_line":"    def list_queues(cls):"},{"line_number":71,"context_line":"        \"\"\"Wrapper utility that lists queues.\"\"\""},{"line_number":72,"context_line":"        resp, body \u003d cls.client.list_queues()"},{"line_number":73,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_e16deb9a","line":70,"updated":"2014-05-07 06:16:38.000000000","message":"ditto","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"24bd42fe57c6ce36061526c74bfad1643897783f","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        return resp, body"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    @classmethod"},{"line_number":70,"context_line":"    def list_queues(cls):"},{"line_number":71,"context_line":"        \"\"\"Wrapper utility that lists queues.\"\"\""},{"line_number":72,"context_line":"        resp, body \u003d cls.client.list_queues()"},{"line_number":73,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":8,"id":"7adec928_99b71ad8","line":70,"in_reply_to":"9ad9bd40_e16deb9a","updated":"2014-05-14 20:10:20.000000000","message":"All this API does is list queues..So I cant think of anything more explicit than this.","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"}],"tempest/api/queuing/test_queues.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c6957cdda5be0ae815605297aeefcbe02ebd2b76","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    def test_list_queues(self):"},{"line_number":82,"context_line":"        # Listing queues"},{"line_number":83,"context_line":"        resp, body \u003d self.list_queues()"},{"line_number":84,"context_line":"        self.client.validate_response(queues_schema.list_queues, resp, body)"},{"line_number":85,"context_line":"        self.assertEqual(len(body[\u0027queues\u0027]), len(self.queues))"},{"line_number":86,"context_line":"        for item in body[\u0027queues\u0027]:"},{"line_number":87,"context_line":"            self.assertIn(item[\u0027name\u0027], self.queues)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_31498a60","line":84,"updated":"2014-05-07 06:16:38.000000000","message":"Please move validate_response() calls into client methods under tempest/services/queuing/json/ for validating all REST API calls.","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"f768e51dffecf3775263ae8b25a5fc2533cab65d","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    def test_list_queues(self):"},{"line_number":82,"context_line":"        # Listing queues"},{"line_number":83,"context_line":"        resp, body \u003d self.list_queues()"},{"line_number":84,"context_line":"        self.client.validate_response(queues_schema.list_queues, resp, body)"},{"line_number":85,"context_line":"        self.assertEqual(len(body[\u0027queues\u0027]), len(self.queues))"},{"line_number":86,"context_line":"        for item in body[\u0027queues\u0027]:"},{"line_number":87,"context_line":"            self.assertIn(item[\u0027name\u0027], self.queues)"}],"source_content_type":"text/x-python","patch_set":8,"id":"7adec928_ff0d50e9","line":84,"in_reply_to":"7adec928_4b53ea6a","updated":"2014-05-15 18:40:37.000000000","message":"After the discussion at the summit session, agree with Ken\u0027ichi\u0027s comments. let\u0027s move this to the client.","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"06f5211c91bc7651e26f1cfb0c4e580de1e6190f","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    def test_list_queues(self):"},{"line_number":82,"context_line":"        # Listing queues"},{"line_number":83,"context_line":"        resp, body \u003d self.list_queues()"},{"line_number":84,"context_line":"        self.client.validate_response(queues_schema.list_queues, resp, body)"},{"line_number":85,"context_line":"        self.assertEqual(len(body[\u0027queues\u0027]), len(self.queues))"},{"line_number":86,"context_line":"        for item in body[\u0027queues\u0027]:"},{"line_number":87,"context_line":"            self.assertIn(item[\u0027name\u0027], self.queues)"}],"source_content_type":"text/x-python","patch_set":8,"id":"7adec928_4b53ea6a","line":84,"in_reply_to":"9ad9bd40_31498a60","updated":"2014-05-15 15:18:50.000000000","message":"Keeping the validate_response to  tempest/services/queuing/json/ makes the test not explicit. It will result in a test, tht will just have the list_queues call -since the verification happens elsewhere. This makes the test difficult to understand - especially for new developers.","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c6957cdda5be0ae815605297aeefcbe02ebd2b76","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                                                        len(self.queues) - 1)]"},{"line_number":94,"context_line":"        # Get Queue Stats for a newly created Queue"},{"line_number":95,"context_line":"        resp, body \u003d self.get_queue_stats(queue_name)"},{"line_number":96,"context_line":"        self.client.validate_response(queues_schema.queue_stats, resp, body)"},{"line_number":97,"context_line":"        msgs \u003d body[\u0027messages\u0027]"},{"line_number":98,"context_line":"        self.assertEqual(0, msgs[\u0027free\u0027])"},{"line_number":99,"context_line":"        self.assertEqual(0, msgs[\u0027claimed\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_b16cbad1","line":96,"updated":"2014-05-07 06:16:38.000000000","message":"ditto","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"06f5211c91bc7651e26f1cfb0c4e580de1e6190f","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                                                        len(self.queues) - 1)]"},{"line_number":94,"context_line":"        # Get Queue Stats for a newly created Queue"},{"line_number":95,"context_line":"        resp, body \u003d self.get_queue_stats(queue_name)"},{"line_number":96,"context_line":"        self.client.validate_response(queues_schema.queue_stats, resp, body)"},{"line_number":97,"context_line":"        msgs \u003d body[\u0027messages\u0027]"},{"line_number":98,"context_line":"        self.assertEqual(0, msgs[\u0027free\u0027])"},{"line_number":99,"context_line":"        self.assertEqual(0, msgs[\u0027claimed\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"7adec928_abc9ce27","line":96,"in_reply_to":"9ad9bd40_b16cbad1","updated":"2014-05-15 15:18:50.000000000","message":"ditto :)","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"657b78b8ff2d8d85ee531c133a776ec4756edfe0","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":80,"context_line":"    def test_list_queues(self):"},{"line_number":81,"context_line":"        # Listing queues"},{"line_number":82,"context_line":"        resp, body \u003d self.list_queues()"},{"line_number":83,"context_line":"        self.assertEqual(len(body[\u0027queues\u0027]), len(self.queues))"},{"line_number":84,"context_line":"        for item in body[\u0027queues\u0027]:"},{"line_number":85,"context_line":"            self.assertIn(item[\u0027name\u0027], self.queues)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7adec928_e106c720","line":82,"updated":"2014-05-23 05:36:59.000000000","message":"unused variable \u0027resp\u0027","commit_id":"fcfee58d295cd0e15eb4c9054b9732e7afce039e"},{"author":{"_account_id":10351,"name":"Jorge Chai","email":"jorge.chai@rackspace.com","username":"jchai"},"change_message_id":"700e8374f14f7316d8733a6a6c623b2b3be9b286","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":80,"context_line":"    def test_list_queues(self):"},{"line_number":81,"context_line":"        # Listing queues"},{"line_number":82,"context_line":"        resp, body \u003d self.list_queues()"},{"line_number":83,"context_line":"        self.assertEqual(len(body[\u0027queues\u0027]), len(self.queues))"},{"line_number":84,"context_line":"        for item in body[\u0027queues\u0027]:"},{"line_number":85,"context_line":"            self.assertIn(item[\u0027name\u0027], self.queues)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7adec928_149688f0","line":82,"in_reply_to":"7adec928_e106c720","updated":"2014-05-23 13:20:58.000000000","message":"I encountered other api tests under compute that left the variable \u0027resp\u0027 unused. I think it makes sense to leave it as it is, since the status code validation is being done using the json schema.","commit_id":"fcfee58d295cd0e15eb4c9054b9732e7afce039e"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"657b78b8ff2d8d85ee531c133a776ec4756edfe0","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        queue_name \u003d self.queues[data_utils.rand_int_id(0,"},{"line_number":91,"context_line":"                                                        len(self.queues) - 1)]"},{"line_number":92,"context_line":"        # Get Queue Stats for a newly created Queue"},{"line_number":93,"context_line":"        resp, body \u003d self.get_queue_stats(queue_name)"},{"line_number":94,"context_line":"        msgs \u003d body[\u0027messages\u0027]"},{"line_number":95,"context_line":"        self.assertEqual(0, msgs[\u0027free\u0027])"},{"line_number":96,"context_line":"        self.assertEqual(0, msgs[\u0027claimed\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"7adec928_21018f06","line":93,"updated":"2014-05-23 05:36:59.000000000","message":"unused variable \u0027resp\u0027","commit_id":"fcfee58d295cd0e15eb4c9054b9732e7afce039e"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"657b78b8ff2d8d85ee531c133a776ec4756edfe0","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        # Get Queue Stats for a newly created Queue"},{"line_number":93,"context_line":"        resp, body \u003d self.get_queue_stats(queue_name)"},{"line_number":94,"context_line":"        msgs \u003d body[\u0027messages\u0027]"},{"line_number":95,"context_line":"        self.assertEqual(0, msgs[\u0027free\u0027])"},{"line_number":96,"context_line":"        self.assertEqual(0, msgs[\u0027claimed\u0027])"},{"line_number":97,"context_line":"        self.assertEqual(0, msgs[\u0027total\u0027])"},{"line_number":98,"context_line":"        self.assertNotIn(\u0027oldest\u0027, msgs)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7adec928_2418bd74","line":95,"updated":"2014-05-23 05:36:59.000000000","message":"Redundant code.\nI would prefer to use a loop instead.","commit_id":"fcfee58d295cd0e15eb4c9054b9732e7afce039e"}],"tempest/api_schema/queuing/v1/queues.py":[{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"f768e51dffecf3775263ae8b25a5fc2533cab65d","unresolved":false,"context_lines":[{"line_number":44,"context_line":"}"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"list_queues \u003d {"},{"line_number":47,"context_line":"    \u0027status_code\u0027: [200],"},{"line_number":48,"context_line":"    \u0027response_body\u0027: {"},{"line_number":49,"context_line":"        \u0027type\u0027: \u0027object\u0027,"},{"line_number":50,"context_line":"        \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"7adec928_ff3f1085","line":47,"updated":"2014-05-15 18:40:37.000000000","message":"We need the list to include 204 as well, since there could be no queues.\n[200, 204]","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"f768e51dffecf3775263ae8b25a5fc2533cab65d","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        \u0027properties\u0027: {"},{"line_number":99,"context_line":"            \u0027messages\u0027: messages"},{"line_number":100,"context_line":"        },"},{"line_number":101,"context_line":"        \u0027required\u0027: [\u0027messages\u0027]"},{"line_number":102,"context_line":"    }"},{"line_number":103,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":8,"id":"7adec928_7f6a2082","line":101,"updated":"2014-05-15 18:40:37.000000000","message":"If the queue has no messages, the response json will not have messages. So it cannot be a required field in schema definition. We should probably do the assertion in the test to make sure the message key actually exists, when it needs to \u0026 vice versa (in addition to jsonschema validation)","commit_id":"9f10a56a324b8b541b491fc1a799e9c22f242684"}]}
