)]}'
{"nova/tests/unit/objects/test_instance.py":[{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ea0e970708e1fab9193c8c1d351173202664b2b4","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        self.assertEqual(netaddr.IPAddress(\u0027::1\u0027), inst2.access_ip_v6)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    @mock.patch(\u0027nova.db.instance_get_by_uuid\u0027)"},{"line_number":116,"context_line":"    def test_get_without_expected("},{"line_number":117,"context_line":"            self,"},{"line_number":118,"context_line":"            mock_instance_get_by_uuid):"},{"line_number":119,"context_line":"        mock_instance_get_by_uuid.return_value \u003d self.fake_instance"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_f17be179","line":116,"updated":"2016-01-20 20:00:21.000000000","message":"This fits fine on one line. Why wrap it into three?","commit_id":"426739d76807ad031c92dc9580bd50c93da4e79a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ea0e970708e1fab9193c8c1d351173202664b2b4","unresolved":false,"context_lines":[{"line_number":181,"context_line":"            self.context, \u0027uuid\u0027,"},{"line_number":182,"context_line":"            columns_to_join\u003dexp_cols,"},{"line_number":183,"context_line":"            use_slave\u003dFalse"},{"line_number":184,"context_line":"            )"},{"line_number":185,"context_line":"        mock_instance_fault_get_by_instance_uuids.assert_called_with("},{"line_number":186,"context_line":"                self.context, [fake_instance[\u0027uuid\u0027]])"},{"line_number":187,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_11879510","line":184,"range":{"start_line":184,"start_character":12,"end_line":184,"end_character":13},"updated":"2016-01-20 20:00:21.000000000","message":"This looks odd to me. I would do one of the following: http://paste.openstack.org/show/484445/","commit_id":"426739d76807ad031c92dc9580bd50c93da4e79a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ea0e970708e1fab9193c8c1d351173202664b2b4","unresolved":false,"context_lines":[{"line_number":191,"context_line":"        inst \u003d objects.Instance.get_by_id(self.context, \u0027instid\u0027)"},{"line_number":192,"context_line":"        self.assertEqual(self.fake_instance[\u0027uuid\u0027], inst.uuid)"},{"line_number":193,"context_line":"        mock_instance_get.assert_called_with(self.context, \u0027instid\u0027,"},{"line_number":194,"context_line":"                        columns_to_join\u003d[\u0027info_cache\u0027, \u0027security_groups\u0027])"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    @mock.patch(\u0027nova.db.instance_get_by_uuid\u0027)"},{"line_number":197,"context_line":"    def test_load(self, mock_instance_get_by_uuid):"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_51942d36","line":194,"updated":"2016-01-20 20:00:21.000000000","message":"Why the 16 char indent?","commit_id":"426739d76807ad031c92dc9580bd50c93da4e79a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ea0e970708e1fab9193c8c1d351173202664b2b4","unresolved":false,"context_lines":[{"line_number":203,"context_line":"        inst \u003d objects.Instance.get_by_uuid(self.context, fake_uuid)"},{"line_number":204,"context_line":"        self.assertFalse(hasattr(inst, \u0027_obj_metadata\u0027))"},{"line_number":205,"context_line":"        mock_instance_get_by_uuid.assert_called_with(self.context, fake_uuid,"},{"line_number":206,"context_line":"                                columns_to_join\u003d[\u0027info_cache\u0027,"},{"line_number":207,"context_line":"                                                 \u0027security_groups\u0027],"},{"line_number":208,"context_line":"                                use_slave\u003dFalse)"},{"line_number":209,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_d1c7bd43","line":206,"updated":"2016-01-20 20:00:21.000000000","message":"Why the 24 char indent?","commit_id":"426739d76807ad031c92dc9580bd50c93da4e79a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ea0e970708e1fab9193c8c1d351173202664b2b4","unresolved":false,"context_lines":[{"line_number":217,"context_line":"        meta2 \u003d inst.metadata"},{"line_number":218,"context_line":"        self.assertEqual({\u0027foo\u0027: \u0027bar\u0027}, meta2)"},{"line_number":219,"context_line":"        mock_instance_get_by_uuid.assert_called_with(self.context, fake_uuid,"},{"line_number":220,"context_line":"                                columns_to_join\u003d[\u0027metadata\u0027],"},{"line_number":221,"context_line":"                                use_slave\u003dFalse)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def test_load_invalid(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_76e5a7a6","line":220,"updated":"2016-01-20 20:00:21.000000000","message":"What rule of thumb are you using for line wrapping? It seems inconsistent in a number of places in this diff.","commit_id":"426739d76807ad031c92dc9580bd50c93da4e79a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ea0e970708e1fab9193c8c1d351173202664b2b4","unresolved":false,"context_lines":[{"line_number":282,"context_line":"        mock_get_by_uuid.assert_called_with(self.context, uuid\u003dinst.uuid,"},{"line_number":283,"context_line":"                                     expected_attrs\u003d[\u0027metadata\u0027],"},{"line_number":284,"context_line":"                                     use_slave\u003dFalse"},{"line_number":285,"context_line":"                                     )"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    def _save_test_helper(self, cell_type, save_kwargs):"},{"line_number":288,"context_line":"        \"\"\"Common code for testing save() for cells/non-cells.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_312bb9ed","line":285,"updated":"2016-01-20 20:00:21.000000000","message":"Why the 29 char indent?","commit_id":"426739d76807ad031c92dc9580bd50c93da4e79a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ea0e970708e1fab9193c8c1d351173202664b2b4","unresolved":false,"context_lines":[{"line_number":613,"context_line":"        self._test_skip_cells_sync_helper(cell_type\u003d\u0027compute\u0027)"},{"line_number":614,"context_line":""},{"line_number":615,"context_line":"    @mock.patch(\u0027nova.db.instance_get_by_uuid\u0027)"},{"line_number":616,"context_line":"    def test_get_deleted("},{"line_number":617,"context_line":"            self,"},{"line_number":618,"context_line":"            mock_instance_get_by_uuid):"},{"line_number":619,"context_line":"        fake_inst \u003d dict(self.fake_instance, id\u003d123, deleted\u003d123)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_d16a5d1a","line":616,"updated":"2016-01-20 20:00:21.000000000","message":"This fits on one line. Why make it three?","commit_id":"426739d76807ad031c92dc9580bd50c93da4e79a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ea0e970708e1fab9193c8c1d351173202664b2b4","unresolved":false,"context_lines":[{"line_number":631,"context_line":"                                use_slave\u003dFalse)"},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"    @mock.patch(\u0027nova.db.instance_get_by_uuid\u0027)"},{"line_number":634,"context_line":"    def test_get_not_cleaned("},{"line_number":635,"context_line":"            self,"},{"line_number":636,"context_line":"            mock_instance_get_by_uuid):"},{"line_number":637,"context_line":"        fake_inst \u003d dict(self.fake_instance, id\u003d123, cleaned\u003dNone)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_b1db29ed","line":634,"updated":"2016-01-20 20:00:21.000000000","message":"This fits on one line. Why make it three?","commit_id":"426739d76807ad031c92dc9580bd50c93da4e79a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ea0e970708e1fab9193c8c1d351173202664b2b4","unresolved":false,"context_lines":[{"line_number":649,"context_line":"                                use_slave\u003dFalse)"},{"line_number":650,"context_line":""},{"line_number":651,"context_line":"    @mock.patch(\u0027nova.db.instance_get_by_uuid\u0027)"},{"line_number":652,"context_line":"    def test_get_cleaned("},{"line_number":653,"context_line":"            self,"},{"line_number":654,"context_line":"            mock_instance_get_by_uuid):"},{"line_number":655,"context_line":"        fake_inst \u003d dict(self.fake_instance, id\u003d123, cleaned\u003d1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_3195f9e3","line":652,"updated":"2016-01-20 20:00:21.000000000","message":"Same: why wrap this?","commit_id":"426739d76807ad031c92dc9580bd50c93da4e79a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ea0e970708e1fab9193c8c1d351173202664b2b4","unresolved":false,"context_lines":[{"line_number":685,"context_line":"            instance_uuid\u003dfake_uuid)"},{"line_number":686,"context_line":"        mock_instance_get_by_uuid.return_value \u003d fake_inst"},{"line_number":687,"context_line":"        mock_instance_info_cache_update.return_value \u003d fake_info_cache"},{"line_number":688,"context_line":"        # db.instance_get_by_uuid(self.context, fake_uuid,"},{"line_number":689,"context_line":"        #                         columns_to_join\u003d[\u0027info_cache\u0027,"},{"line_number":690,"context_line":"        #                                          \u0027security_groups\u0027],"},{"line_number":691,"context_line":"        #                         use_slave\u003dFalse"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_3163b91c","line":688,"updated":"2016-01-20 20:00:21.000000000","message":"Did you mean to come back to this?","commit_id":"426739d76807ad031c92dc9580bd50c93da4e79a"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"9b082fa8aba350a811cee3a952fc11067fa44e92","unresolved":false,"context_lines":[{"line_number":685,"context_line":"            instance_uuid\u003dfake_uuid)"},{"line_number":686,"context_line":"        mock_instance_get_by_uuid.return_value \u003d fake_inst"},{"line_number":687,"context_line":"        mock_instance_info_cache_update.return_value \u003d fake_info_cache"},{"line_number":688,"context_line":"        # db.instance_get_by_uuid(self.context, fake_uuid,"},{"line_number":689,"context_line":"        #                         columns_to_join\u003d[\u0027info_cache\u0027,"},{"line_number":690,"context_line":"        #                                          \u0027security_groups\u0027],"},{"line_number":691,"context_line":"        #                         use_slave\u003dFalse"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_5b1e750d","line":688,"in_reply_to":"9a68dd71_3163b91c","updated":"2016-01-21 05:30:27.000000000","message":"Yes, thanks! Fixed.","commit_id":"426739d76807ad031c92dc9580bd50c93da4e79a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ea0e970708e1fab9193c8c1d351173202664b2b4","unresolved":false,"context_lines":[{"line_number":700,"context_line":"        inst.save()"},{"line_number":701,"context_line":""},{"line_number":702,"context_line":"        mock_instance_get_by_uuid.assert_called_with(self.context, fake_uuid,"},{"line_number":703,"context_line":"                                columns_to_join\u003d[\u0027info_cache\u0027,"},{"line_number":704,"context_line":"                                                 \u0027security_groups\u0027],"},{"line_number":705,"context_line":"                                use_slave\u003dFalse)"},{"line_number":706,"context_line":"        mock_instance_info_cache_update.assert_called_with(self.context,"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_4ca014f5","line":703,"updated":"2016-01-20 20:00:21.000000000","message":"Why the large indent? I would do the following to match the line under it: http://paste.openstack.org/show/484447/","commit_id":"426739d76807ad031c92dc9580bd50c93da4e79a"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"065ad712cdb9ece304d028d3bb799fee8eb636cc","unresolved":false,"context_lines":[{"line_number":996,"context_line":"             \u0027security_groups\u0027: [\u0027foo\u0027, \u0027bar\u0027],"},{"line_number":997,"context_line":"             \u0027info_cache\u0027: {\u0027network_info\u0027: \u0027[]\u0027},"},{"line_number":998,"context_line":"             \u0027extra\u0027: {},"},{"line_number":999,"context_line":"             })"},{"line_number":1000,"context_line":""},{"line_number":1001,"context_line":"    @mock.patch(\u0027nova.db.instance_destroy\u0027)"},{"line_number":1002,"context_line":"    def test_destroy_stubbed(self, mock_instance_destroy):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_2e3e4fc1","line":999,"range":{"start_line":999,"start_character":13,"end_line":999,"end_character":14},"updated":"2016-01-25 03:05:07.000000000","message":"The position of the braces should be aligned.","commit_id":"884946d19da45addd266ad46afd1b5f7bb354504"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"6727159ccab6bd5d035df8c71d33a88bcc73bc36","unresolved":false,"context_lines":[{"line_number":996,"context_line":"             \u0027security_groups\u0027: [\u0027foo\u0027, \u0027bar\u0027],"},{"line_number":997,"context_line":"             \u0027info_cache\u0027: {\u0027network_info\u0027: \u0027[]\u0027},"},{"line_number":998,"context_line":"             \u0027extra\u0027: {},"},{"line_number":999,"context_line":"             })"},{"line_number":1000,"context_line":""},{"line_number":1001,"context_line":"    @mock.patch(\u0027nova.db.instance_destroy\u0027)"},{"line_number":1002,"context_line":"    def test_destroy_stubbed(self, mock_instance_destroy):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_74b3b60a","line":999,"range":{"start_line":999,"start_character":13,"end_line":999,"end_character":14},"in_reply_to":"9a68dd71_2e3e4fc1","updated":"2016-01-25 05:17:45.000000000","message":"Done","commit_id":"884946d19da45addd266ad46afd1b5f7bb354504"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"065ad712cdb9ece304d028d3bb799fee8eb636cc","unresolved":false,"context_lines":[{"line_number":1507,"context_line":"            self.assertIsInstance(inst_list.objects[i], instance.Instance)"},{"line_number":1508,"context_line":"            self.assertEqual(fakes[i][\u0027uuid\u0027], inst_list.objects[i].uuid)"},{"line_number":1509,"context_line":""},{"line_number":1510,"context_line":"        mock_get.assert_called_with("},{"line_number":1511,"context_line":"            self.context, dt)"},{"line_number":1512,"context_line":""},{"line_number":1513,"context_line":"    def test_get_active_by_window_joined(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_530b2c2a","line":1510,"updated":"2016-01-25 03:05:07.000000000","message":"This line need not to be wrapped.","commit_id":"884946d19da45addd266ad46afd1b5f7bb354504"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"6727159ccab6bd5d035df8c71d33a88bcc73bc36","unresolved":false,"context_lines":[{"line_number":1507,"context_line":"            self.assertIsInstance(inst_list.objects[i], instance.Instance)"},{"line_number":1508,"context_line":"            self.assertEqual(fakes[i][\u0027uuid\u0027], inst_list.objects[i].uuid)"},{"line_number":1509,"context_line":""},{"line_number":1510,"context_line":"        mock_get.assert_called_with("},{"line_number":1511,"context_line":"            self.context, dt)"},{"line_number":1512,"context_line":""},{"line_number":1513,"context_line":"    def test_get_active_by_window_joined(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_d48e222d","line":1510,"in_reply_to":"9a68dd71_530b2c2a","updated":"2016-01-25 05:17:45.000000000","message":"Done","commit_id":"884946d19da45addd266ad46afd1b5f7bb354504"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"f75ceecbf8860f0738c3016384169b61a7ca8423","unresolved":false,"context_lines":[{"line_number":406,"context_line":"        mock_get.return_value \u003d old_ref"},{"line_number":407,"context_line":"        mock_update_and_get.return_value \u003d (old_ref, new_ref)"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        notifications.send_update(self.context, mock.sentinel.val1,"},{"line_number":410,"context_line":"                mock.sentinel.val2)"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"        inst \u003d objects.Instance.get_by_uuid(self.context, old_ref[\u0027uuid\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a5de9d1_332a32dc","line":409,"updated":"2016-02-01 10:29:33.000000000","message":"I don\u0027t understand why this is called in this test.","commit_id":"3d28fbea454d691192fc3ba69572e315d97d45a2"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"f75ceecbf8860f0738c3016384169b61a7ca8423","unresolved":false,"context_lines":[{"line_number":418,"context_line":"        self.assertEqual(\u0027goodbye\u0027, inst.display_name)"},{"line_number":419,"context_line":"        # NOTE(danms): Ignore flavor migrations for the moment"},{"line_number":420,"context_line":"        self.assertEqual(set([]), inst.obj_what_changed() - set([\u0027flavor\u0027]))"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"        mock_get.assert_called_with("},{"line_number":423,"context_line":"            self.context, fake_uuid,"},{"line_number":424,"context_line":"            columns_to_join\u003d[\u0027info_cache\u0027, \u0027security_groups\u0027])"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a5de9d1_73d0aac9","line":421,"updated":"2016-02-01 10:29:33.000000000","message":"here there should be a test for the send, that\u0027s the important part of the test. The asserts on mock_get aren\u0027t really interesting for this test.","commit_id":"3d28fbea454d691192fc3ba69572e315d97d45a2"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"a33a64683b8da913bde1860e4dbb919e5ec462e6","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        mock_get.assert_called_with("},{"line_number":131,"context_line":"           self.context, \u0027uuid\u0027, columns_to_join\u003d[])"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def test_get_with_expected(self):"},{"line_number":135,"context_line":"        self.mox.StubOutWithMock(db, \u0027instance_get_by_uuid\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a5de9d1_f9ac51a0","line":132,"updated":"2016-02-02 02:01:45.000000000","message":"nit: remove this line","commit_id":"c66872599b35142f716384f6fa8de9fb16b7d9a3"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        for attr in instance.INSTANCE_OPTIONAL_ATTRS:"},{"line_number":128,"context_line":"            self.assertFalse(inst.obj_attr_is_set(attr))"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        mock_get.assert_called_with("},{"line_number":131,"context_line":"           self.context, \u0027uuid\u0027, columns_to_join\u003d[])"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def test_get_with_expected(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_39ea8374","line":130,"updated":"2016-02-18 14:19:56.000000000","message":"You are using assert_called_with which is weaker than old mox stub. It should be assert_called_once_with","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        mock_instance_get.return_value \u003d self.fake_instance"},{"line_number":198,"context_line":"        inst \u003d objects.Instance.get_by_id(self.context, \u0027instid\u0027)"},{"line_number":199,"context_line":"        self.assertEqual(self.fake_instance[\u0027uuid\u0027], inst.uuid)"},{"line_number":200,"context_line":"        mock_instance_get.assert_called_with("},{"line_number":201,"context_line":"            self.context, \u0027instid\u0027,"},{"line_number":202,"context_line":"            columns_to_join\u003d[\u0027info_cache\u0027, \u0027security_groups\u0027])"},{"line_number":203,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_d9fb9745","line":200,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":241,"context_line":"                         str(inst.access_ip_v4))"},{"line_number":242,"context_line":"        self.assertEqual(fake_instance[\u0027access_ip_v6\u0027],"},{"line_number":243,"context_line":"                         str(inst.access_ip_v6))"},{"line_number":244,"context_line":"        mock_get.assert_called_with("},{"line_number":245,"context_line":"            self.context, uuids.instance,"},{"line_number":246,"context_line":"            columns_to_join\u003d[\u0027info_cache\u0027, \u0027security_groups\u0027])"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_f487825e","line":244,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":726,"context_line":"        inst \u003d objects.Instance.get_by_uuid(self.context, fake_uuid)"},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"        self.assertEqual(0, len(inst.security_groups))"},{"line_number":729,"context_line":"        mock_get.assert_called_with("},{"line_number":730,"context_line":"            self.context, fake_uuid,"},{"line_number":731,"context_line":"            columns_to_join\u003d[\u0027info_cache\u0027, \u0027security_groups\u0027])"},{"line_number":732,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_b4b85a12","line":729,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":738,"context_line":"        inst \u003d objects.Instance.get_by_uuid(self.context, fake_uuid,"},{"line_number":739,"context_line":"            [\u0027pci_devices\u0027])"},{"line_number":740,"context_line":"        self.assertEqual(0, len(inst.pci_devices))"},{"line_number":741,"context_line":"        mock_get.assert_called_with("},{"line_number":742,"context_line":"            self.context, fake_uuid, columns_to_join\u003d[\u0027pci_devices\u0027])"},{"line_number":743,"context_line":""},{"line_number":744,"context_line":"    @mock.patch(\u0027nova.db.instance_get_by_uuid\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_d454feca","line":741,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":792,"context_line":"        self.assertEqual(2, len(inst.pci_devices))"},{"line_number":793,"context_line":"        self.assertEqual(fake_uuid, inst.pci_devices[0].instance_uuid)"},{"line_number":794,"context_line":"        self.assertEqual(fake_uuid, inst.pci_devices[1].instance_uuid)"},{"line_number":795,"context_line":"        mock_get.assert_called_with(self.context, fake_uuid,"},{"line_number":796,"context_line":"            columns_to_join\u003d[\u0027pci_devices\u0027])"},{"line_number":797,"context_line":""},{"line_number":798,"context_line":"    def test_with_fault(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_b44fba32","line":795,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":878,"context_line":"        inst.create()"},{"line_number":879,"context_line":""},{"line_number":880,"context_line":"        self.assertEqual(\u0027foo-host\u0027, inst.host)"},{"line_number":881,"context_line":"        mock_instance_create.assert_called_with(self.context, vals)"},{"line_number":882,"context_line":""},{"line_number":883,"context_line":"    def test_metadata_change_tracking(self):"},{"line_number":884,"context_line":"        self._test_metadata_change_tracking(\u0027metadata\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_345a8af2","line":881,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":904,"context_line":"                                system_metadata\u003d{\u0027foo\u0027: \u0027bar\u0027})"},{"line_number":905,"context_line":"        inst.create()"},{"line_number":906,"context_line":""},{"line_number":907,"context_line":"        mock_instance_create.assert_called_with(self.context, vals)"},{"line_number":908,"context_line":""},{"line_number":909,"context_line":"    @mock.patch(\u0027nova.db.instance_create\u0027)"},{"line_number":910,"context_line":"    def test_create(self, mock_instance_create):"}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_d46b5e83","line":907,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":918,"context_line":"        inst.create()"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"        self.assertEqual(self.fake_instance[\u0027id\u0027], inst.id)"},{"line_number":921,"context_line":"        mock_instance_create.assert_called_with(self.context,"},{"line_number":922,"context_line":"                                                {\u0027extra\u0027: extras})"},{"line_number":923,"context_line":""},{"line_number":924,"context_line":"    def test_create_with_values(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_f40ae2d0","line":921,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":1365,"context_line":"            self.context, {\u0027foo\u0027: \u0027bar\u0027}, \u0027uuid\u0027, \u0027asc\u0027,"},{"line_number":1366,"context_line":"            expected_attrs\u003d[\u0027metadata\u0027], use_slave\u003dFalse)"},{"line_number":1367,"context_line":""},{"line_number":1368,"context_line":"        mock_get.assert_called_with(self.context, {\u0027foo\u0027: \u0027bar\u0027},"},{"line_number":1369,"context_line":"            \u0027uuid\u0027, \u0027asc\u0027, limit\u003dNone, marker\u003dNone,"},{"line_number":1370,"context_line":"            columns_to_join\u003d[\u0027metadata\u0027])"},{"line_number":1371,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_94fc36b9","line":1368,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":1382,"context_line":"            self.context, {\u0027foo\u0027: \u0027bar\u0027}, expected_attrs\u003d[\u0027metadata\u0027],"},{"line_number":1383,"context_line":"            use_slave\u003dFalse, sort_keys\u003d[\u0027uuid\u0027], sort_dirs\u003d[\u0027asc\u0027])"},{"line_number":1384,"context_line":""},{"line_number":1385,"context_line":"        mock_get.assert_called_with(self.context, {\u0027foo\u0027: \u0027bar\u0027}, limit\u003dNone,"},{"line_number":1386,"context_line":"            marker\u003dNone, columns_to_join\u003d[\u0027metadata\u0027],"},{"line_number":1387,"context_line":"            sort_keys\u003d[\u0027uuid\u0027], sort_dirs\u003d[\u0027asc\u0027])"},{"line_number":1388,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_142f863f","line":1385,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":1438,"context_line":"        self.assertIsInstance(inst_list.objects[0], instance.Instance)"},{"line_number":1439,"context_line":"        self.assertEqual(fakes[1][\u0027uuid\u0027], inst_list.objects[0].uuid)"},{"line_number":1440,"context_line":""},{"line_number":1441,"context_line":"        mock_get.assert_called_with("},{"line_number":1442,"context_line":"            self.context, {\u0027deleted\u0027: True, \u0027cleaned\u0027: False}, \u0027uuid\u0027, \u0027asc\u0027,"},{"line_number":1443,"context_line":"            limit\u003dNone, marker\u003dNone, columns_to_join\u003d[\u0027metadata\u0027])"},{"line_number":1444,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_b414dae8","line":1441,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":1456,"context_line":"            self.assertEqual(self.context, inst_list.objects[i]._context)"},{"line_number":1457,"context_line":"        self.assertEqual(set(), inst_list.obj_what_changed())"},{"line_number":1458,"context_line":""},{"line_number":1459,"context_line":"        mock_get.assert_called_with(self.context, \u0027foo\u0027, columns_to_join\u003dNone)"},{"line_number":1460,"context_line":""},{"line_number":1461,"context_line":"    @mock.patch(\u0027nova.db.instance_get_all_by_host_and_node\u0027)"},{"line_number":1462,"context_line":"    def test_get_by_host_and_node(self, mock_get):"}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_f4d82255","line":1459,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":1470,"context_line":"            self.assertIsInstance(inst_list.objects[i], instance.Instance)"},{"line_number":1471,"context_line":"            self.assertEqual(fakes[i][\u0027uuid\u0027], inst_list.objects[i].uuid)"},{"line_number":1472,"context_line":""},{"line_number":1473,"context_line":"        mock_get.assert_called_with("},{"line_number":1474,"context_line":"            self.context, \u0027foo\u0027, \u0027bar\u0027, columns_to_join\u003dNone)"},{"line_number":1475,"context_line":""},{"line_number":1476,"context_line":"    @mock.patch(\u0027nova.db.instance_get_all_by_host_and_not_type\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_74e53207","line":1473,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":1485,"context_line":"            self.assertIsInstance(inst_list.objects[i], instance.Instance)"},{"line_number":1486,"context_line":"            self.assertEqual(fakes[i][\u0027uuid\u0027], inst_list.objects[i].uuid)"},{"line_number":1487,"context_line":""},{"line_number":1488,"context_line":"        mock_get.assert_called_with(self.context, \u0027foo\u0027, type_id\u003d\u0027bar\u0027)"},{"line_number":1489,"context_line":""},{"line_number":1490,"context_line":"    @mock.patch(\u0027nova.objects.instance._expected_cols\u0027)"},{"line_number":1491,"context_line":"    @mock.patch(\u0027nova.db.instance_get_all\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_14bdc6d7","line":1488,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":1514,"context_line":"            self.assertIsInstance(inst_list.objects[i], instance.Instance)"},{"line_number":1515,"context_line":"            self.assertEqual(fakes[i][\u0027uuid\u0027], inst_list.objects[i].uuid)"},{"line_number":1516,"context_line":""},{"line_number":1517,"context_line":"        mock_get.assert_called_with(self.context, dt)"},{"line_number":1518,"context_line":""},{"line_number":1519,"context_line":"    def test_get_active_by_window_joined(self):"},{"line_number":1520,"context_line":"        fakes \u003d [self.fake_instance(1), self.fake_instance(2)]"}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_94d1d625","line":1517,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"eda1d45ad260b83d61ffc56a62637cdb83fdaadc","unresolved":false,"context_lines":[{"line_number":1601,"context_line":"        for inst in inst_list:"},{"line_number":1602,"context_line":"            self.assertEqual(set(), inst.obj_what_changed())"},{"line_number":1603,"context_line":""},{"line_number":1604,"context_line":"        mock_get.assert_called_with(self.context, [x.uuid for x in insts])"},{"line_number":1605,"context_line":""},{"line_number":1606,"context_line":"    @mock.patch(\u0027nova.objects.instance.Instance.obj_make_compatible\u0027)"},{"line_number":1607,"context_line":"    def test_get_by_security_group(self, mock_compat):"}],"source_content_type":"text/x-python","patch_set":15,"id":"dae33548_d4c7de61","line":1604,"updated":"2016-02-18 14:19:56.000000000","message":"ditto","commit_id":"672451ecf6fc5d363d7ebce82103385e903d4034"}]}
