)]}'
{"nova/cells/rpcapi.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"ea1adbf96c26574c367635101d2552009932469e","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        existing methods in 1.x after that point should be done such that they"},{"line_number":96,"context_line":"        can handle the version_cap being set to 1.27."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        1.28 - Make bdm_update_or_create_at_top and use bdm objects"},{"line_number":99,"context_line":"    \u0027\u0027\u0027"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    VERSION_ALIASES \u003d {"}],"source_content_type":"text/x-python","patch_set":12,"id":"baada198_40ac428c","line":98,"updated":"2014-07-07 17:15:40.000000000","message":"s/and //","commit_id":"c7a7ec728968d54ad68a3692fb5a08b44faa9fd1"}],"nova/tests/objects/test_block_device.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"61a682c91f7fce9d7d8f95fcf559fc753d78dce1","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            if cell_type \u003d\u003d \u0027api\u0027:"},{"line_number":68,"context_line":"                self.assertFalse(cells_update_mock.called)"},{"line_number":69,"context_line":"            else:"},{"line_number":70,"context_line":"                self.assertIsInstance(cells_update_mock.call_args[0][1],"},{"line_number":71,"context_line":"                                      block_device_obj.BlockDeviceMapping)"},{"line_number":72,"context_line":"                self.assertEqual(cells_update_mock.call_args[1], {})"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_ff3a1be6","line":70,"updated":"2014-06-08 22:41:24.000000000","message":"Above here, I would advise putting a check for:\n\n self.assertEqual(2, cells_update_mock.call_count)\n self.assertGreaterThan(1, len(cells_update_mock.call_args[0]))\n\nOtherwise, if that assertion is not true, then the assertIsInstance() will throw an IndexError and the person trying to debug the test will not have a fun time figuring out what is going on...","commit_id":"35fff038e779efd8c59ac6195fadd2f44d1fee59"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"dadd974158e3939ea6e17c09c86bfaa24beae238","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            if cell_type \u003d\u003d \u0027api\u0027:"},{"line_number":68,"context_line":"                self.assertFalse(cells_update_mock.called)"},{"line_number":69,"context_line":"            else:"},{"line_number":70,"context_line":"                self.assertIsInstance(cells_update_mock.call_args[0][1],"},{"line_number":71,"context_line":"                                      block_device_obj.BlockDeviceMapping)"},{"line_number":72,"context_line":"                self.assertEqual(cells_update_mock.call_args[1], {})"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_94bd7605","line":70,"in_reply_to":"1ae5cdf2_ff3a1be6","updated":"2014-06-09 12:31:30.000000000","message":"Good point - making tests developer friendly is important to me :)","commit_id":"35fff038e779efd8c59ac6195fadd2f44d1fee59"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"61a682c91f7fce9d7d8f95fcf559fc753d78dce1","unresolved":false,"context_lines":[{"line_number":152,"context_line":"            else:"},{"line_number":153,"context_line":"                bdm_create_mock.assert_called_once_with("},{"line_number":154,"context_line":"                    self.context, values, legacy\u003dFalse)"},{"line_number":155,"context_line":"                self.assertIsInstance(cells_update_mock.call_args[0][1],"},{"line_number":156,"context_line":"                                      block_device_obj.BlockDeviceMapping)"},{"line_number":157,"context_line":"                self.assertEqual(cells_update_mock.call_args[1],"},{"line_number":158,"context_line":"                                 {\u0027create\u0027: True})"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_9f2bd793","line":155,"updated":"2014-06-08 22:41:24.000000000","message":"similar to above comment.","commit_id":"35fff038e779efd8c59ac6195fadd2f44d1fee59"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"ea1adbf96c26574c367635101d2552009932469e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                self.assertEqual(1, cells_update_mock.call_count)"},{"line_number":71,"context_line":"                self.assertTrue(len(cells_update_mock.call_args[0]) \u003e 1)"},{"line_number":72,"context_line":"                self.assertIsInstance(cells_update_mock.call_args[0][1],"},{"line_number":73,"context_line":"                                      block_device_obj.BlockDeviceMapping)"},{"line_number":74,"context_line":"                self.assertEqual(cells_update_mock.call_args[1], {})"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def test_save_nocells(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"baada198_7bb9f7ca","line":73,"updated":"2014-07-07 17:15:40.000000000","message":"It seems like mock should have a way to handle this, but nothing jumps out at me.","commit_id":"c7a7ec728968d54ad68a3692fb5a08b44faa9fd1"}]}
