)]}'
{"nova/tests/unit/compute/test_compute_cells.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"969f98b3cee30032c7170b64337e8a49bbdb1d7b","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    @mock.patch.object(compute_api.API, \u0027_local_delete\u0027)"},{"line_number":166,"context_line":"    @mock.patch.object(compute_api.API, \u0027_lookup_instance\u0027,"},{"line_number":167,"context_line":"                       return_value\u003dNone)"},{"line_number":168,"context_line":"    def _test_delete_instance_no_cell(self, method_name,"},{"line_number":169,"context_line":"                                      mock_lookup, mock_local_delete):"},{"line_number":170,"context_line":"        cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":171,"context_line":"        inst \u003d self._create_fake_instance_obj()"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5da102_b8bbee74","line":168,"range":{"start_line":168,"start_character":44,"end_line":168,"end_character":56},"updated":"2016-10-26 13:00:16.000000000","message":"This argument should be after \u0027mock_local_delete\u0027 (at the end of arguments).","commit_id":"8f6257b8b76aeec78d57f349ef2427fd4cead0fe"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"649c2d2163bf57806d987201beae2ce421fa566d","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                                      mox.IsA(objects.BlockDeviceMappingList),"},{"line_number":180,"context_line":"                                      method_name, mox.IgnoreArg())"},{"line_number":181,"context_line":"        self.mox.ReplayAll()"},{"line_number":182,"context_line":"        self.stubs.Set(self.compute_api.network_api, \u0027deallocate_for_instance\u0027,"},{"line_number":183,"context_line":"                       lambda *a, **kw: None)"},{"line_number":184,"context_line":"        getattr(self.compute_api, method_name)(self.context, inst)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    def test_delete_instance_no_cell_constraint_failure_does_not_loop(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a77a97e_b9fe5036","side":"PARENT","line":183,"range":{"start_line":182,"start_character":9,"end_line":183,"end_character":45},"updated":"2016-11-16 06:56:29.000000000","message":"we do not need to mock this?","commit_id":"18e997156c1cfd2af718b442c7015849ad54ae9c"},{"author":{"_account_id":22771,"name":"Christopher Martin","email":"cm876n@att.com","username":"cm876n"},"change_message_id":"69a89fe5ad8af475666e4432af8b376d3d62e6ee","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                                      mox.IsA(objects.BlockDeviceMappingList),"},{"line_number":180,"context_line":"                                      method_name, mox.IgnoreArg())"},{"line_number":181,"context_line":"        self.mox.ReplayAll()"},{"line_number":182,"context_line":"        self.stubs.Set(self.compute_api.network_api, \u0027deallocate_for_instance\u0027,"},{"line_number":183,"context_line":"                       lambda *a, **kw: None)"},{"line_number":184,"context_line":"        getattr(self.compute_api, method_name)(self.context, inst)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    def test_delete_instance_no_cell_constraint_failure_does_not_loop(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_f2d321d3","side":"PARENT","line":183,"range":{"start_line":182,"start_character":9,"end_line":183,"end_character":45},"in_reply_to":"7a77a97e_b9fe5036","updated":"2016-12-05 19:29:17.000000000","message":"Done","commit_id":"18e997156c1cfd2af718b442c7015849ad54ae9c"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"649c2d2163bf57806d987201beae2ce421fa566d","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        test()"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @mock.patch.object(compute_api.API, \u0027_local_delete\u0027)"},{"line_number":166,"context_line":"    def _test_delete_instance_no_cell(self, mock_local_delete, method_name):"},{"line_number":167,"context_line":"        cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":168,"context_line":"        inst \u003d self._create_fake_instance_obj()"},{"line_number":169,"context_line":"        delete_type \u003d method_name \u003d\u003d \u0027soft_delete\u0027 and \u0027soft\u0027 or \u0027hard\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a77a97e_795e7877","line":166,"range":{"start_line":166,"start_character":44,"end_line":166,"end_character":61},"updated":"2016-11-16 06:56:29.000000000","message":"we should check for this method call also with assert_called_once_with","commit_id":"98ef9115e6e4c03f2f5a0fc534796077f0494d0e"},{"author":{"_account_id":22771,"name":"Christopher Martin","email":"cm876n@att.com","username":"cm876n"},"change_message_id":"69a89fe5ad8af475666e4432af8b376d3d62e6ee","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        test()"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @mock.patch.object(compute_api.API, \u0027_local_delete\u0027)"},{"line_number":166,"context_line":"    def _test_delete_instance_no_cell(self, mock_local_delete, method_name):"},{"line_number":167,"context_line":"        cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":168,"context_line":"        inst \u003d self._create_fake_instance_obj()"},{"line_number":169,"context_line":"        delete_type \u003d method_name \u003d\u003d \u0027soft_delete\u0027 and \u0027soft\u0027 or \u0027hard\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_d2ce252c","line":166,"range":{"start_line":166,"start_character":44,"end_line":166,"end_character":61},"in_reply_to":"7a77a97e_795e7877","updated":"2016-12-05 19:29:17.000000000","message":"Done","commit_id":"98ef9115e6e4c03f2f5a0fc534796077f0494d0e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"649c2d2163bf57806d987201beae2ce421fa566d","unresolved":false,"context_lines":[{"line_number":173,"context_line":"        @mock.patch.object(compute_api.API, \u0027_lookup_instance\u0027,"},{"line_number":174,"context_line":"                           return_value\u003dinst)"},{"line_number":175,"context_line":"        def test(mock_lookup, mock_inst_del):"},{"line_number":176,"context_line":"            self.compute_api.delete(self.context, inst)"},{"line_number":177,"context_line":"            mock_lookup.assert_called_once_with(self.context, inst.uuid)"},{"line_number":178,"context_line":"            mock_inst_del.assert_called_once_with(self.context,"},{"line_number":179,"context_line":"                                                  inst, delete_type)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a77a97e_39cb2020","line":176,"range":{"start_line":176,"start_character":29,"end_line":176,"end_character":35},"updated":"2016-11-16 06:56:29.000000000","message":"i think this should go with \u0027method_name\u0027 not only \u0027delete\u0027 method","commit_id":"98ef9115e6e4c03f2f5a0fc534796077f0494d0e"},{"author":{"_account_id":22771,"name":"Christopher Martin","email":"cm876n@att.com","username":"cm876n"},"change_message_id":"69a89fe5ad8af475666e4432af8b376d3d62e6ee","unresolved":false,"context_lines":[{"line_number":173,"context_line":"        @mock.patch.object(compute_api.API, \u0027_lookup_instance\u0027,"},{"line_number":174,"context_line":"                           return_value\u003dinst)"},{"line_number":175,"context_line":"        def test(mock_lookup, mock_inst_del):"},{"line_number":176,"context_line":"            self.compute_api.delete(self.context, inst)"},{"line_number":177,"context_line":"            mock_lookup.assert_called_once_with(self.context, inst.uuid)"},{"line_number":178,"context_line":"            mock_inst_del.assert_called_once_with(self.context,"},{"line_number":179,"context_line":"                                                  inst, delete_type)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_12ddfddf","line":176,"range":{"start_line":176,"start_character":29,"end_line":176,"end_character":35},"in_reply_to":"7a77a97e_39cb2020","updated":"2016-12-05 19:29:17.000000000","message":"Done","commit_id":"98ef9115e6e4c03f2f5a0fc534796077f0494d0e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"649c2d2163bf57806d987201beae2ce421fa566d","unresolved":false,"context_lines":[{"line_number":357,"context_line":"        def test(mock_cell_get_migrations):"},{"line_number":358,"context_line":"            mock_cell_get_migrations.return_value \u003d migrations"},{"line_number":359,"context_line":"            response \u003d self.compute_api.get_migrations(self.context,"},{"line_number":360,"context_line":"                                                       filters)"},{"line_number":361,"context_line":"            self.assertEqual(migrations, response)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"        test()"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a77a97e_f9e1a89b","line":360,"range":{"start_line":360,"start_character":62,"end_line":360,"end_character":63},"updated":"2016-11-16 06:56:29.000000000","message":"we should check for this method call also with assert_called_once_with","commit_id":"98ef9115e6e4c03f2f5a0fc534796077f0494d0e"},{"author":{"_account_id":22771,"name":"Christopher Martin","email":"cm876n@att.com","username":"cm876n"},"change_message_id":"69a89fe5ad8af475666e4432af8b376d3d62e6ee","unresolved":false,"context_lines":[{"line_number":357,"context_line":"        def test(mock_cell_get_migrations):"},{"line_number":358,"context_line":"            mock_cell_get_migrations.return_value \u003d migrations"},{"line_number":359,"context_line":"            response \u003d self.compute_api.get_migrations(self.context,"},{"line_number":360,"context_line":"                                                       filters)"},{"line_number":361,"context_line":"            self.assertEqual(migrations, response)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"        test()"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a71b18c_32daf9e8","line":360,"range":{"start_line":360,"start_character":62,"end_line":360,"end_character":63},"in_reply_to":"7a77a97e_f9e1a89b","updated":"2016-12-05 19:29:17.000000000","message":"Done","commit_id":"98ef9115e6e4c03f2f5a0fc534796077f0494d0e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9dcaab90aa21989de8fc735df06a419b7cc42ba9","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        value \u003d mock.MagicMock()"},{"line_number":170,"context_line":"        delete_type \u003d method_name \u003d\u003d \u0027soft_delete\u0027 and \u0027soft\u0027 or \u0027hard\u0027"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        @mock.patch.object(cells_rpcapi,"},{"line_number":173,"context_line":"                           \u0027instance_delete_everywhere\u0027)"},{"line_number":174,"context_line":"        @mock.patch.object(compute_api.API, \u0027_lookup_instance\u0027,"},{"line_number":175,"context_line":"                           return_value\u003dinst)"},{"line_number":176,"context_line":"        def test(mock_lookup, mock_inst_del):"},{"line_number":177,"context_line":"            cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":178,"context_line":"            cells_rpcapi.instance_delete_everywhere(self.context,"}],"source_content_type":"text/x-python","patch_set":7,"id":"da4df55a_55efeae7","line":175,"range":{"start_line":172,"start_character":0,"end_line":175,"end_character":45},"updated":"2016-12-22 19:38:16.000000000","message":"Any reason for using a nested function and decorators rather than context managers (with statements)","commit_id":"9c1d7e88eeff5c2ee7964e05581b70684a676c4a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ffd23e282d1ca2f65294d71497c4c72c32ee55a0","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        value \u003d mock.MagicMock()"},{"line_number":170,"context_line":"        delete_type \u003d method_name \u003d\u003d \u0027soft_delete\u0027 and \u0027soft\u0027 or \u0027hard\u0027"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        @mock.patch.object(cells_rpcapi,"},{"line_number":173,"context_line":"                           \u0027instance_delete_everywhere\u0027)"},{"line_number":174,"context_line":"        @mock.patch.object(compute_api.API, \u0027_lookup_instance\u0027,"},{"line_number":175,"context_line":"                           return_value\u003dinst)"},{"line_number":176,"context_line":"        def test(mock_lookup, mock_inst_del):"},{"line_number":177,"context_line":"            cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":178,"context_line":"            cells_rpcapi.instance_delete_everywhere(self.context,"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_fe5a784f","line":175,"range":{"start_line":172,"start_character":0,"end_line":175,"end_character":45},"in_reply_to":"ba5201f7_2429b88a","updated":"2017-01-10 11:14:13.000000000","message":"It\u0027s not my prefered style but that\u0027s as good a reason as any :)","commit_id":"9c1d7e88eeff5c2ee7964e05581b70684a676c4a"},{"author":{"_account_id":22771,"name":"Christopher Martin","email":"cm876n@att.com","username":"cm876n"},"change_message_id":"d95c0eb9050c84bb31123e5152926ea74e06782b","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        value \u003d mock.MagicMock()"},{"line_number":170,"context_line":"        delete_type \u003d method_name \u003d\u003d \u0027soft_delete\u0027 and \u0027soft\u0027 or \u0027hard\u0027"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        @mock.patch.object(cells_rpcapi,"},{"line_number":173,"context_line":"                           \u0027instance_delete_everywhere\u0027)"},{"line_number":174,"context_line":"        @mock.patch.object(compute_api.API, \u0027_lookup_instance\u0027,"},{"line_number":175,"context_line":"                           return_value\u003dinst)"},{"line_number":176,"context_line":"        def test(mock_lookup, mock_inst_del):"},{"line_number":177,"context_line":"            cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":178,"context_line":"            cells_rpcapi.instance_delete_everywhere(self.context,"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_2429b88a","line":175,"range":{"start_line":172,"start_character":0,"end_line":175,"end_character":45},"in_reply_to":"da4df55a_55efeae7","updated":"2017-01-06 18:39:11.000000000","message":"I was mirroring the formatting throughout the rest of the file","commit_id":"9c1d7e88eeff5c2ee7964e05581b70684a676c4a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9dcaab90aa21989de8fc735df06a419b7cc42ba9","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":178,"context_line":"            cells_rpcapi.instance_delete_everywhere(self.context,"},{"line_number":179,"context_line":"                                                    inst, delete_type)"},{"line_number":180,"context_line":"            self.compute_api._lookup_instance.return_value \u003d inst"},{"line_number":181,"context_line":"            self.compute_api._lookup_instance(self.context, inst.uuid)"},{"line_number":182,"context_line":"            self.compute_api._local_delete(self.context, inst, value,"},{"line_number":183,"context_line":"                                           method_name, value)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da4df55a_d55d9aea","line":180,"range":{"start_line":180,"start_character":12,"end_line":180,"end_character":65},"updated":"2016-12-22 19:38:16.000000000","message":"Isn\u0027t this duplicating what\u0027s described in the decorator on L175","commit_id":"9c1d7e88eeff5c2ee7964e05581b70684a676c4a"},{"author":{"_account_id":22771,"name":"Christopher Martin","email":"cm876n@att.com","username":"cm876n"},"change_message_id":"d95c0eb9050c84bb31123e5152926ea74e06782b","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":178,"context_line":"            cells_rpcapi.instance_delete_everywhere(self.context,"},{"line_number":179,"context_line":"                                                    inst, delete_type)"},{"line_number":180,"context_line":"            self.compute_api._lookup_instance.return_value \u003d inst"},{"line_number":181,"context_line":"            self.compute_api._lookup_instance(self.context, inst.uuid)"},{"line_number":182,"context_line":"            self.compute_api._local_delete(self.context, inst, value,"},{"line_number":183,"context_line":"                                           method_name, value)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_909b8265","line":180,"range":{"start_line":180,"start_character":12,"end_line":180,"end_character":65},"in_reply_to":"da4df55a_d55d9aea","updated":"2017-01-06 18:39:11.000000000","message":"Done","commit_id":"9c1d7e88eeff5c2ee7964e05581b70684a676c4a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9dcaab90aa21989de8fc735df06a419b7cc42ba9","unresolved":false,"context_lines":[{"line_number":178,"context_line":"            cells_rpcapi.instance_delete_everywhere(self.context,"},{"line_number":179,"context_line":"                                                    inst, delete_type)"},{"line_number":180,"context_line":"            self.compute_api._lookup_instance.return_value \u003d inst"},{"line_number":181,"context_line":"            self.compute_api._lookup_instance(self.context, inst.uuid)"},{"line_number":182,"context_line":"            self.compute_api._local_delete(self.context, inst, value,"},{"line_number":183,"context_line":"                                           method_name, value)"},{"line_number":184,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"da4df55a_d52bda2e","line":181,"range":{"start_line":181,"start_character":12,"end_line":181,"end_character":70},"updated":"2016-12-22 19:38:16.000000000","message":"Does this need to be called explicitly when using \u0027mock\u0027? I think the call previously was just a design implementation of how Mox works","commit_id":"9c1d7e88eeff5c2ee7964e05581b70684a676c4a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ffd23e282d1ca2f65294d71497c4c72c32ee55a0","unresolved":false,"context_lines":[{"line_number":178,"context_line":"            cells_rpcapi.instance_delete_everywhere(self.context,"},{"line_number":179,"context_line":"                                                    inst, delete_type)"},{"line_number":180,"context_line":"            self.compute_api._lookup_instance.return_value \u003d inst"},{"line_number":181,"context_line":"            self.compute_api._lookup_instance(self.context, inst.uuid)"},{"line_number":182,"context_line":"            self.compute_api._local_delete(self.context, inst, value,"},{"line_number":183,"context_line":"                                           method_name, value)"},{"line_number":184,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_7e4e8897","line":181,"range":{"start_line":181,"start_character":12,"end_line":181,"end_character":70},"in_reply_to":"ba5201f7_b485d3cf","updated":"2017-01-10 11:14:13.000000000","message":"Yes - the asserts should happen *after* you make the call to the function you\u0027re testing. That call happens on line 193 below (getattr). Move the asserts and drop these explicit calls","commit_id":"9c1d7e88eeff5c2ee7964e05581b70684a676c4a"},{"author":{"_account_id":22771,"name":"Christopher Martin","email":"cm876n@att.com","username":"cm876n"},"change_message_id":"d95c0eb9050c84bb31123e5152926ea74e06782b","unresolved":false,"context_lines":[{"line_number":178,"context_line":"            cells_rpcapi.instance_delete_everywhere(self.context,"},{"line_number":179,"context_line":"                                                    inst, delete_type)"},{"line_number":180,"context_line":"            self.compute_api._lookup_instance.return_value \u003d inst"},{"line_number":181,"context_line":"            self.compute_api._lookup_instance(self.context, inst.uuid)"},{"line_number":182,"context_line":"            self.compute_api._local_delete(self.context, inst, value,"},{"line_number":183,"context_line":"                                           method_name, value)"},{"line_number":184,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_b485d3cf","line":181,"range":{"start_line":181,"start_character":12,"end_line":181,"end_character":70},"in_reply_to":"da4df55a_d52bda2e","updated":"2017-01-06 18:39:11.000000000","message":"If I take on the explicit calls then the asserts don\u0027t work. Does that mean I have the test set up incorrectly? How would I fix it? Adding decorators?","commit_id":"9c1d7e88eeff5c2ee7964e05581b70684a676c4a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9dcaab90aa21989de8fc735df06a419b7cc42ba9","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                                                    inst, delete_type)"},{"line_number":180,"context_line":"            self.compute_api._lookup_instance.return_value \u003d inst"},{"line_number":181,"context_line":"            self.compute_api._lookup_instance(self.context, inst.uuid)"},{"line_number":182,"context_line":"            self.compute_api._local_delete(self.context, inst, value,"},{"line_number":183,"context_line":"                                           method_name, value)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"            mock_lookup.assert_called_once_with(self.context, inst.uuid)"},{"line_number":186,"context_line":"            mock_local_delete.assert_called_once_with(self.context, inst,"}],"source_content_type":"text/x-python","patch_set":7,"id":"da4df55a_95d87255","line":183,"range":{"start_line":182,"start_character":12,"end_line":183,"end_character":62},"updated":"2016-12-22 19:38:16.000000000","message":"ditto - I don\u0027t think this should be called explicitly. Rather, you should check that it was called.","commit_id":"9c1d7e88eeff5c2ee7964e05581b70684a676c4a"},{"author":{"_account_id":22771,"name":"Christopher Martin","email":"cm876n@att.com","username":"cm876n"},"change_message_id":"d95c0eb9050c84bb31123e5152926ea74e06782b","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                                                    inst, delete_type)"},{"line_number":180,"context_line":"            self.compute_api._lookup_instance.return_value \u003d inst"},{"line_number":181,"context_line":"            self.compute_api._lookup_instance(self.context, inst.uuid)"},{"line_number":182,"context_line":"            self.compute_api._local_delete(self.context, inst, value,"},{"line_number":183,"context_line":"                                           method_name, value)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"            mock_lookup.assert_called_once_with(self.context, inst.uuid)"},{"line_number":186,"context_line":"            mock_local_delete.assert_called_once_with(self.context, inst,"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_f46bdb1b","line":183,"range":{"start_line":182,"start_character":12,"end_line":183,"end_character":62},"in_reply_to":"da4df55a_95d87255","updated":"2017-01-06 18:39:11.000000000","message":"ditto to my above comment","commit_id":"9c1d7e88eeff5c2ee7964e05581b70684a676c4a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9dcaab90aa21989de8fc735df06a419b7cc42ba9","unresolved":false,"context_lines":[{"line_number":367,"context_line":"        filters \u003d {\u0027cell_name\u0027: \u0027ChildCell\u0027, \u0027status\u0027: \u0027confirmed\u0027}"},{"line_number":368,"context_line":"        migrations \u003d {\u0027migrations\u0027: [{\u0027id\u0027: 1234}]}"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"        @mock.patch.object(self.compute_api.cells_rpcapi, \u0027get_migrations\u0027)"},{"line_number":371,"context_line":"        def test(mock_cell_get_migrations):"},{"line_number":372,"context_line":"            mock_cell_get_migrations.return_value \u003d migrations"},{"line_number":373,"context_line":"            response \u003d self.compute_api.get_migrations(self.context,"},{"line_number":374,"context_line":"                                                       filters)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da4df55a_d5b03af7","line":371,"range":{"start_line":370,"start_character":8,"end_line":371,"end_character":43},"updated":"2016-12-22 19:38:16.000000000","message":"Again, why not (off the top of my head):\n\n     with mock.patch.object(...) as mock_cell_get_migrations:","commit_id":"9c1d7e88eeff5c2ee7964e05581b70684a676c4a"},{"author":{"_account_id":22771,"name":"Christopher Martin","email":"cm876n@att.com","username":"cm876n"},"change_message_id":"d95c0eb9050c84bb31123e5152926ea74e06782b","unresolved":false,"context_lines":[{"line_number":367,"context_line":"        filters \u003d {\u0027cell_name\u0027: \u0027ChildCell\u0027, \u0027status\u0027: \u0027confirmed\u0027}"},{"line_number":368,"context_line":"        migrations \u003d {\u0027migrations\u0027: [{\u0027id\u0027: 1234}]}"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"        @mock.patch.object(self.compute_api.cells_rpcapi, \u0027get_migrations\u0027)"},{"line_number":371,"context_line":"        def test(mock_cell_get_migrations):"},{"line_number":372,"context_line":"            mock_cell_get_migrations.return_value \u003d migrations"},{"line_number":373,"context_line":"            response \u003d self.compute_api.get_migrations(self.context,"},{"line_number":374,"context_line":"                                                       filters)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_2402980a","line":371,"range":{"start_line":370,"start_character":8,"end_line":371,"end_character":43},"in_reply_to":"da4df55a_d5b03af7","updated":"2017-01-06 18:39:11.000000000","message":"I was mirroring the format in the other tests throughout this file","commit_id":"9c1d7e88eeff5c2ee7964e05581b70684a676c4a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"62fc2a0c78375bcddac0739c8b2b24b609c4bbf6","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            getattr(self.compute_api, method_name)(self.context, inst)"},{"line_number":180,"context_line":"            mock_lookup.assert_called_once_with(self.context, inst.uuid)"},{"line_number":181,"context_line":"            mock_local_delete.assert_called_once_with(self.context, inst,"},{"line_number":182,"context_line":"                bdms, method_name, self.compute_api._do_delete)"},{"line_number":183,"context_line":"            mock_inst_del.assert_called_once_with(self.context,"},{"line_number":184,"context_line":"                                                  inst, delete_type)"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"ba5201f7_8ad3c35e","line":182,"range":{"start_line":182,"start_character":35,"end_line":182,"end_character":62},"updated":"2017-01-11 02:28:56.000000000","message":"this is not right always. when method_name is force_delete then, it will be _do_force_delete and same for soft delete request.\n\nI think we should do it with mock.ANY","commit_id":"3d6a652e9853cf0b85d2d4dc35d5902c2acd061e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"7eb58d37e3f35c8648aea03700c9cb8d7eb22aac","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":168,"context_line":"        inst \u003d self._create_fake_instance_obj()"},{"line_number":169,"context_line":"        delete_type \u003d method_name \u003d\u003d \u0027soft_delete\u0027 and \u0027soft\u0027 or \u0027hard\u0027"},{"line_number":170,"context_line":"        bdms \u003d mock.ANY"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        @mock.patch.object(cells_rpcapi,"},{"line_number":173,"context_line":"                           \u0027instance_delete_everywhere\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a3905b3_021ae516","line":170,"range":{"start_line":170,"start_character":0,"end_line":170,"end_character":23},"updated":"2017-01-24 04:31:39.000000000","message":"It should be removed.","commit_id":"9149a0fd5fd5cd1477a6a85a8a0e6fd1f448924c"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"7eb58d37e3f35c8648aea03700c9cb8d7eb22aac","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            getattr(self.compute_api, method_name)(self.context, inst)"},{"line_number":180,"context_line":"            mock_lookup.assert_called_once_with(self.context, inst.uuid)"},{"line_number":181,"context_line":"            mock_local_delete.assert_called_once_with(self.context, inst,"},{"line_number":182,"context_line":"                bdms, method_name, mock.ANY)"},{"line_number":183,"context_line":"            mock_inst_del.assert_called_once_with(self.context,"},{"line_number":184,"context_line":"                                                  inst, delete_type)"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"5a3905b3_8225f55c","line":182,"range":{"start_line":182,"start_character":16,"end_line":182,"end_character":20},"updated":"2017-01-24 04:31:39.000000000","message":"It should be \u0027test.MatchType(objects.BlockDeviceMappingList)\u0027.","commit_id":"9149a0fd5fd5cd1477a6a85a8a0e6fd1f448924c"},{"author":{"_account_id":20217,"name":"Anusha Unnam","email":"anusha.unnam25@gmail.com","username":"aunnam"},"change_message_id":"8f7d665c8a5c2133c954bc3c39a3017138709e57","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        @mock.patch.object(cells_rpcapi,"},{"line_number":182,"context_line":"                           \u0027instance_delete_everywhere\u0027)"},{"line_number":183,"context_line":"        @mock.patch.object(compute_api.API, \u0027_lookup_instance\u0027,"},{"line_number":184,"context_line":"                           return_value\u003dinst)"},{"line_number":185,"context_line":"        def test(mock_lookup, mock_inst_del):"},{"line_number":186,"context_line":"            self.stub_out(\u0027nova.network.api.deallocate_for_instance\u0027,"},{"line_number":187,"context_line":"                          lambda *a, **kw: None)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a461143_5d5adc51","line":184,"range":{"start_line":184,"start_character":27,"end_line":184,"end_character":44},"updated":"2017-02-01 18:38:34.000000000","message":"the return_value is (None, inst) in original mox test. Is there any reason why None is removed here?\nI think tests are failing because of that.","commit_id":"579a9a79ff6dedd46c7c9beb4fe335ffbc59d9d8"},{"author":{"_account_id":22771,"name":"Christopher Martin","email":"cm876n@att.com","username":"cm876n"},"change_message_id":"e7e07fb0279d38a0192ce99d486ddc0b3b32f6a4","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        @mock.patch.object(cells_rpcapi,"},{"line_number":182,"context_line":"                           \u0027instance_delete_everywhere\u0027)"},{"line_number":183,"context_line":"        @mock.patch.object(compute_api.API, \u0027_lookup_instance\u0027,"},{"line_number":184,"context_line":"                           return_value\u003dinst)"},{"line_number":185,"context_line":"        def test(mock_lookup, mock_inst_del):"},{"line_number":186,"context_line":"            self.stub_out(\u0027nova.network.api.deallocate_for_instance\u0027,"},{"line_number":187,"context_line":"                          lambda *a, **kw: None)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a461143_7e922fa1","line":184,"range":{"start_line":184,"start_character":27,"end_line":184,"end_character":44},"in_reply_to":"3a461143_5d5adc51","updated":"2017-02-01 18:50:52.000000000","message":"The tests aren\u0027t failing because of the absence of none. That\u0027s how it was in the last patch. The only thing I changed between the previous patch and this is the second comment of yours below where I inserted test.MatchType, before I had mock.ANY","commit_id":"579a9a79ff6dedd46c7c9beb4fe335ffbc59d9d8"},{"author":{"_account_id":20217,"name":"Anusha Unnam","email":"anusha.unnam25@gmail.com","username":"aunnam"},"change_message_id":"8f7d665c8a5c2133c954bc3c39a3017138709e57","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            getattr(self.compute_api, method_name)(self.context, inst)"},{"line_number":189,"context_line":"            mock_lookup.assert_called_once_with(self.context, inst.uuid)"},{"line_number":190,"context_line":"            mock_local_delete.assert_called_once_with(self.context, inst,"},{"line_number":191,"context_line":"                test.MatchType(objects.BlockDeviceMappingList),"},{"line_number":192,"context_line":"                method_name, mock.ANY)"},{"line_number":193,"context_line":"            mock_inst_del.assert_called_once_with(self.context,"},{"line_number":194,"context_line":"                                                  inst, delete_type)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a461143_98737215","line":191,"range":{"start_line":191,"start_character":16,"end_line":191,"end_character":20},"updated":"2017-02-01 18:38:34.000000000","message":"MatchType is in test module. The test here refers to the nested test method and it fails as there is no MatchType in your test method.\nPlease change your method name to something like _test(), so that it will not mask the original test module.","commit_id":"579a9a79ff6dedd46c7c9beb4fe335ffbc59d9d8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"aae414544b4c37ea3f3eb09cb9f0c2ebbc61fd97","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":178,"context_line":"        inst \u003d self._create_fake_instance_obj()"},{"line_number":179,"context_line":"        delete_type \u003d method_name \u003d\u003d \u0027soft_delete\u0027 and \u0027soft\u0027 or \u0027hard\u0027"},{"line_number":180,"context_line":"        bdms \u003d mock.ANY"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        @mock.patch.object(cells_rpcapi,"},{"line_number":183,"context_line":"                           \u0027instance_delete_everywhere\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa31d9ce_b8162253","line":180,"range":{"start_line":180,"start_character":8,"end_line":180,"end_character":23},"updated":"2017-02-13 12:53:54.000000000","message":"Any particular reason to declare this as a separate variable and not the other one?","commit_id":"72f4deae16d93c38985cf8db890c58fb432d9aac"},{"author":{"_account_id":22771,"name":"Christopher Martin","email":"cm876n@att.com","username":"cm876n"},"change_message_id":"338743da87edc9eed2cb4d5f110541e45e67133c","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":178,"context_line":"        inst \u003d self._create_fake_instance_obj()"},{"line_number":179,"context_line":"        delete_type \u003d method_name \u003d\u003d \u0027soft_delete\u0027 and \u0027soft\u0027 or \u0027hard\u0027"},{"line_number":180,"context_line":"        bdms \u003d mock.ANY"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        @mock.patch.object(cells_rpcapi,"},{"line_number":183,"context_line":"                           \u0027instance_delete_everywhere\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa31d9ce_f3831054","line":180,"range":{"start_line":180,"start_character":8,"end_line":180,"end_character":23},"in_reply_to":"fa31d9ce_b8162253","updated":"2017-02-14 19:14:09.000000000","message":"Done","commit_id":"72f4deae16d93c38985cf8db890c58fb432d9aac"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"aae414544b4c37ea3f3eb09cb9f0c2ebbc61fd97","unresolved":false,"context_lines":[{"line_number":371,"context_line":""},{"line_number":372,"context_line":"        @mock.patch.object(self.compute_api.cells_rpcapi, \u0027get_migrations\u0027)"},{"line_number":373,"context_line":"        def test(mock_cell_get_migrations):"},{"line_number":374,"context_line":"            mock_cell_get_migrations.return_value \u003d migrations"},{"line_number":375,"context_line":"            response \u003d self.compute_api.get_migrations(self.context,"},{"line_number":376,"context_line":"                                                       filters)"},{"line_number":377,"context_line":"            mock_cell_get_migrations.assert_called_once_with(self.context,"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa31d9ce_3855d21c","line":374,"range":{"start_line":374,"start_character":12,"end_line":374,"end_character":62},"updated":"2017-02-13 12:53:54.000000000","message":"nit: this could be part of the decorator, right?","commit_id":"72f4deae16d93c38985cf8db890c58fb432d9aac"},{"author":{"_account_id":22771,"name":"Christopher Martin","email":"cm876n@att.com","username":"cm876n"},"change_message_id":"338743da87edc9eed2cb4d5f110541e45e67133c","unresolved":false,"context_lines":[{"line_number":371,"context_line":""},{"line_number":372,"context_line":"        @mock.patch.object(self.compute_api.cells_rpcapi, \u0027get_migrations\u0027)"},{"line_number":373,"context_line":"        def test(mock_cell_get_migrations):"},{"line_number":374,"context_line":"            mock_cell_get_migrations.return_value \u003d migrations"},{"line_number":375,"context_line":"            response \u003d self.compute_api.get_migrations(self.context,"},{"line_number":376,"context_line":"                                                       filters)"},{"line_number":377,"context_line":"            mock_cell_get_migrations.assert_called_once_with(self.context,"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa31d9ce_337a0878","line":374,"range":{"start_line":374,"start_character":12,"end_line":374,"end_character":62},"in_reply_to":"fa31d9ce_3855d21c","updated":"2017-02-14 19:14:09.000000000","message":"Done","commit_id":"72f4deae16d93c38985cf8db890c58fb432d9aac"},{"author":{"_account_id":18335,"name":"Pushkar Umaranikar","email":"pushkar.umaranikar@intel.com","username":"pushkarumaranikar"},"change_message_id":"2bc08df047d19d8094e076a4dfe0d4cae46c1eaa","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        test()"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    @mock.patch.object(compute_api.API, \u0027_local_delete\u0027)"},{"line_number":176,"context_line":"    def _test_delete_instance_no_cell(self, method_name, mock_local_delete):"},{"line_number":177,"context_line":"        cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":178,"context_line":"        inst \u003d self._create_fake_instance_obj()"}],"source_content_type":"text/x-python","patch_set":15,"id":"da36d5c6_db4ace25","line":175,"range":{"start_line":175,"start_character":0,"end_line":175,"end_character":56},"updated":"2017-02-22 21:58:13.000000000","message":"I think this decorator can be moved to inner function test().","commit_id":"11574f659ddfa54d6270c0663514dd1a9086363d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"2abb333bd966ab38386a41682d1b0e358cf142ea","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        test()"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    @mock.patch.object(compute_api.API, \u0027_local_delete\u0027)"},{"line_number":176,"context_line":"    def _test_delete_instance_no_cell(self, method_name, mock_local_delete):"},{"line_number":177,"context_line":"        cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":178,"context_line":"        inst \u003d self._create_fake_instance_obj()"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a30ddce_bbad7633","line":175,"range":{"start_line":175,"start_character":0,"end_line":175,"end_character":56},"in_reply_to":"ba2be162_91753a65","updated":"2017-03-07 17:15:37.000000000","message":"I prefer it being here, when possible.","commit_id":"11574f659ddfa54d6270c0663514dd1a9086363d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2d0aa481dcee296e483a7c45fc7068310e94fa86","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        test()"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    @mock.patch.object(compute_api.API, \u0027_local_delete\u0027)"},{"line_number":176,"context_line":"    def _test_delete_instance_no_cell(self, method_name, mock_local_delete):"},{"line_number":177,"context_line":"        cells_rpcapi \u003d self.compute_api.cells_rpcapi"},{"line_number":178,"context_line":"        inst \u003d self._create_fake_instance_obj()"}],"source_content_type":"text/x-python","patch_set":15,"id":"ba2be162_91753a65","line":175,"range":{"start_line":175,"start_character":0,"end_line":175,"end_character":56},"in_reply_to":"da36d5c6_db4ace25","updated":"2017-03-06 05:57:19.000000000","message":"yea but its ok here too. not blocker anyways.","commit_id":"11574f659ddfa54d6270c0663514dd1a9086363d"}]}
