)]}'
{"tempest/api/orchestration/stacks/test_stacks.py":[{"author":{"_account_id":19587,"name":"Joshua White","email":"joshua.l.white@intel.com","username":"jwhite"},"change_message_id":"73c9d1ef2018894e03ba5b05ed1db2699081265e","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                                validate_params\u003dFalse, **filter_kwargs):"},{"line_number":108,"context_line":"        stacks \u003d self.client.list_stacks(params\u003dfilter_kwargs)[\u0027stacks\u0027]"},{"line_number":109,"context_line":"        self.assertIsInstance(stacks, list)"},{"line_number":110,"context_line":"        if expected_num is not None:"},{"line_number":111,"context_line":"            msg \u003d \u0027Incorrect number of stacks in the list.\u0027"},{"line_number":112,"context_line":"            self.assertEqual(expected_num, len(stacks), msg)"},{"line_number":113,"context_line":"        if expected_num !\u003d 0:"},{"line_number":114,"context_line":"            msg \u003d (\u0027An empty list was returned, \u0027"},{"line_number":115,"context_line":"                   \u0027one or more stacks were expected.\u0027)"},{"line_number":116,"context_line":"            self.assertNotEmpty(stacks, msg)"},{"line_number":117,"context_line":"        if validate_params:"},{"line_number":118,"context_line":"            for stack in stacks:"},{"line_number":119,"context_line":"                for key in filter_kwargs:"},{"line_number":120,"context_line":"                    msg \u003d \u0027The list of stacks was not filtered correctly.\u0027"},{"line_number":121,"context_line":"                    self.assertEqual(filter_kwargs[key], stack[key], msg)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def _list_sorted_stacks_and_assert(self, key\u003d\u0027creation_time\u0027,"},{"line_number":124,"context_line":"                                       descending\u003dFalse, **filter_kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_9625820a","line":121,"range":{"start_line":110,"start_character":6,"end_line":121,"end_character":73},"updated":"2016-06-08 08:32:29.000000000","message":"All looks good.  I was wondering if it would be better if the order was switched a bit to: expected_num !\u003d 0, validate_params, then expected_num is not None.  Since you would want to know the first two before ever asserting on the length of stacks. Given that the first 2 conditions mentioned (expected_num !\u003d 0, validate_params) are true.","commit_id":"f9daa2e1e0c3560f5519ab3c9d406a51d8226120"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"3f91ea66983ec7c6f797ae4dfce6be014ed332d1","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                                validate_params\u003dFalse, **filter_kwargs):"},{"line_number":108,"context_line":"        stacks \u003d self.client.list_stacks(params\u003dfilter_kwargs)[\u0027stacks\u0027]"},{"line_number":109,"context_line":"        self.assertIsInstance(stacks, list)"},{"line_number":110,"context_line":"        if expected_num is not None:"},{"line_number":111,"context_line":"            msg \u003d \u0027Incorrect number of stacks in the list.\u0027"},{"line_number":112,"context_line":"            self.assertEqual(expected_num, len(stacks), msg)"},{"line_number":113,"context_line":"        if expected_num !\u003d 0:"},{"line_number":114,"context_line":"            msg \u003d (\u0027An empty list was returned, \u0027"},{"line_number":115,"context_line":"                   \u0027one or more stacks were expected.\u0027)"},{"line_number":116,"context_line":"            self.assertNotEmpty(stacks, msg)"},{"line_number":117,"context_line":"        if validate_params:"},{"line_number":118,"context_line":"            for stack in stacks:"},{"line_number":119,"context_line":"                for key in filter_kwargs:"},{"line_number":120,"context_line":"                    msg \u003d \u0027The list of stacks was not filtered correctly.\u0027"},{"line_number":121,"context_line":"                    self.assertEqual(filter_kwargs[key], stack[key], msg)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def _list_sorted_stacks_and_assert(self, key\u003d\u0027creation_time\u0027,"},{"line_number":124,"context_line":"                                       descending\u003dFalse, **filter_kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_3a7a8888","line":121,"range":{"start_line":110,"start_character":6,"end_line":121,"end_character":73},"in_reply_to":"7aa08908_9625820a","updated":"2016-06-08 17:56:21.000000000","message":"Thanks for your review Josh.\n\nAlthough all three checks are independent from each other, you are right that it may make more sense to have \"expected_num !\u003d 0\" before \"expected_num is not None\" just so we get a more appropriate error message if you are expecting a list of n elements and an empty list is returned instead. I\u0027ll swap those two.","commit_id":"f9daa2e1e0c3560f5519ab3c9d406a51d8226120"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"2aa217f9cf0d2331bc48ed9f4c971e8b2ad1d9d4","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                },"},{"line_number":102,"context_line":"                tags\u003dtags)"},{"line_number":103,"context_line":"            stack_id \u003d stack_identifier.split(\u0027/\u0027)[1]"},{"line_number":104,"context_line":"            cls.client.wait_for_stack_status(stack_id, \u0027CREATE_COMPLETE\u0027)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def _list_stacks_and_assert(self, expected_num\u003dNone,"},{"line_number":107,"context_line":"                                validate_params\u003dFalse, **filter_kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a9d85d2_4a79492f","line":104,"updated":"2016-06-20 09:28:58.000000000","message":"You need to wait in another \"for\" loop. You should fire the 3 stacks creation and then wait for the 3 to finish. Not:create/wait then create/wait, then create/wait. It\u0027s too slow.","commit_id":"c92b50959608e26558a477473e7261406e1ed989"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"bdd85bc5c88beed841fabf3b44e2f924e175485d","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                },"},{"line_number":102,"context_line":"                tags\u003dtags)"},{"line_number":103,"context_line":"            stack_id \u003d stack_identifier.split(\u0027/\u0027)[1]"},{"line_number":104,"context_line":"            cls.client.wait_for_stack_status(stack_id, \u0027CREATE_COMPLETE\u0027)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def _list_stacks_and_assert(self, expected_num\u003dNone,"},{"line_number":107,"context_line":"                                validate_params\u003dFalse, **filter_kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a9d85d2_65941ce2","line":104,"in_reply_to":"5a9d85d2_4a79492f","updated":"2016-06-20 18:31:00.000000000","message":"Done","commit_id":"c92b50959608e26558a477473e7261406e1ed989"}]}
