)]}'
{"nova/tests/db/test_db_api.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"5b9d63ac61c072142aff1ee66731133cffbfbcf1","unresolved":false,"context_lines":[{"line_number":4864,"context_line":"        db_cp \u003d db.console_pool_get_all_by_host_type("},{"line_number":4865,"context_line":"            self.ctxt, cp[\u0027host\u0027], cp[\u0027console_type\u0027])"},{"line_number":4866,"context_line":""},{"line_number":4867,"context_line":"        self.assertEqual(len(db_cp), 2)"},{"line_number":4868,"context_line":"        self._assertEqualObjects(cp, db_cp[0], ignored_keys)"},{"line_number":4869,"context_line":"        self._assertEqualObjects(cp, db_cp[1], ignored_keys)"},{"line_number":4870,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPX%2F%2FmhA%3D","line":4867,"updated":"2013-06-14 15:52:01.000000000","message":"why do you don\u0027t want to use assertEqualListOfObjects?","commit_id":"a5789d258ad850c60463e5cee29b46bc6d55cda7"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"cbaa5bf016e16d840fd70f91bf4768bf97180f2d","unresolved":false,"context_lines":[{"line_number":4864,"context_line":"        db_cp \u003d db.console_pool_get_all_by_host_type("},{"line_number":4865,"context_line":"            self.ctxt, cp[\u0027host\u0027], cp[\u0027console_type\u0027])"},{"line_number":4866,"context_line":""},{"line_number":4867,"context_line":"        self.assertEqual(len(db_cp), 2)"},{"line_number":4868,"context_line":"        self._assertEqualObjects(cp, db_cp[0], ignored_keys)"},{"line_number":4869,"context_line":"        self._assertEqualObjects(cp, db_cp[1], ignored_keys)"},{"line_number":4870,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2F%2Bbc%3D","line":4867,"in_reply_to":"AAAAPX%2F%2FmgE%3D","updated":"2013-06-16 15:26:51.000000000","message":"ahh... ok","commit_id":"a5789d258ad850c60463e5cee29b46bc6d55cda7"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"996115368fdd9cf21b0c91ba3a904352b5cc4953","unresolved":false,"context_lines":[{"line_number":4864,"context_line":"        db_cp \u003d db.console_pool_get_all_by_host_type("},{"line_number":4865,"context_line":"            self.ctxt, cp[\u0027host\u0027], cp[\u0027console_type\u0027])"},{"line_number":4866,"context_line":""},{"line_number":4867,"context_line":"        self.assertEqual(len(db_cp), 2)"},{"line_number":4868,"context_line":"        self._assertEqualObjects(cp, db_cp[0], ignored_keys)"},{"line_number":4869,"context_line":"        self._assertEqualObjects(cp, db_cp[1], ignored_keys)"},{"line_number":4870,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPX%2F%2FmgE%3D","line":4867,"in_reply_to":"AAAAPX%2F%2FmhA%3D","updated":"2013-06-14 15:58:17.000000000","message":"assertEqualListOfObjects requires `id`. We have no `id` in test console pool data","commit_id":"a5789d258ad850c60463e5cee29b46bc6d55cda7"}],"nova/tests/test_db_api.py":[{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"09fefa39b4e2f58ff6e471e70e48d13b580060dc","unresolved":false,"context_lines":[{"line_number":4442,"context_line":"        self._assertEqualObjects(console_pool, param, ignored_keys)"},{"line_number":4443,"context_line":""},{"line_number":4444,"context_line":"    @test.testtools.skip(\"bug 1185450\")"},{"line_number":4445,"context_line":"    def test_console_pool_create_dublicate(self):"},{"line_number":4446,"context_line":"        param \u003d {"},{"line_number":4447,"context_line":"            \u0027address\u0027: \u0027adress_1\u0027,"},{"line_number":4448,"context_line":"            \u0027username\u0027: \u0027user_1\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2Fmfo%3D","line":4445,"updated":"2013-05-29 15:26:50.000000000","message":"dublicate -\u003e duplicate","commit_id":"82c6561e88f8c6c4f188984c08387d5223d6d9b0"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"09fefa39b4e2f58ff6e471e70e48d13b580060dc","unresolved":false,"context_lines":[{"line_number":4443,"context_line":""},{"line_number":4444,"context_line":"    @test.testtools.skip(\"bug 1185450\")"},{"line_number":4445,"context_line":"    def test_console_pool_create_dublicate(self):"},{"line_number":4446,"context_line":"        param \u003d {"},{"line_number":4447,"context_line":"            \u0027address\u0027: \u0027adress_1\u0027,"},{"line_number":4448,"context_line":"            \u0027username\u0027: \u0027user_1\u0027,"},{"line_number":4449,"context_line":"            \u0027password\u0027: \u0027secret_123\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2Fmgc%3D","line":4446,"updated":"2013-05-29 15:26:50.000000000","message":"this duplicates one on line 4428","commit_id":"82c6561e88f8c6c4f188984c08387d5223d6d9b0"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"09fefa39b4e2f58ff6e471e70e48d13b580060dc","unresolved":false,"context_lines":[{"line_number":4485,"context_line":"            \u0027host\u0027, \u0027console_type\u0027)"},{"line_number":4486,"context_line":""},{"line_number":4487,"context_line":"    def test_console_pool_get_all_by_host_type(self):"},{"line_number":4488,"context_line":"        params \u003d ["},{"line_number":4489,"context_line":"            {\u0027address\u0027: \u0027adress_1\u0027, \u0027username\u0027: \u0027user_1\u0027,"},{"line_number":4490,"context_line":"             \u0027password\u0027: \u0027secret_123\u0027, \u0027console_type\u0027: \u0027type_1\u0027,"},{"line_number":4491,"context_line":"             \u0027public_hostname\u0027: \u0027public_hostname_123\u0027, \u0027host\u0027: \u0027localhost\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2FmgU%3D","line":4488,"updated":"2013-05-29 15:26:50.000000000","message":"this duplicates one on line 4461","commit_id":"82c6561e88f8c6c4f188984c08387d5223d6d9b0"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"09fefa39b4e2f58ff6e471e70e48d13b580060dc","unresolved":false,"context_lines":[{"line_number":4503,"context_line":"            db_cp \u003d db.console_pool_get_all_by_host_type(self.ctxt, cp[\u0027host\u0027],"},{"line_number":4504,"context_line":"                                                         cp[\u0027console_type\u0027])"},{"line_number":4505,"context_line":"            self.assertEqual(len(db_cp), 1)"},{"line_number":4506,"context_line":"            self._assertEqualObjects(cp, db_cp[0], ignored_keys)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2Fme8%3D","line":4506,"updated":"2013-05-29 15:26:50.000000000","message":"maybe is better to use self._assertEqualListOfObjects([cp], [db_cp], ignored_keys)","commit_id":"82c6561e88f8c6c4f188984c08387d5223d6d9b0"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"21bcd840981401ded1fab4f1a0edea7fc6249d0f","unresolved":false,"context_lines":[{"line_number":4440,"context_line":"            \u0027console_type\u0027: \u0027type_2\u0027,"},{"line_number":4441,"context_line":"            \u0027public_hostname\u0027: \u0027public_hostname_1234\u0027,"},{"line_number":4442,"context_line":"            \u0027host\u0027: \u0027127.0.0.1\u0027,"},{"line_number":4443,"context_line":"            \u0027compute_host\u0027: \u0027localhost\u0027"},{"line_number":4444,"context_line":"        }"},{"line_number":4445,"context_line":""},{"line_number":4446,"context_line":"    def test_console_pool_create(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPH%2F%2FmJg%3D","line":4443,"updated":"2013-05-29 17:12:05.000000000","message":"trailing commas should be consistent -- you have one on the first dict but not on the second","commit_id":"048be0dbb7791bc56615b0575f7444374fb93b0c"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"8c6d054baf37eec23a36f80a5812af251d3a98be","unresolved":false,"context_lines":[{"line_number":4440,"context_line":"            \u0027console_type\u0027: \u0027type_2\u0027,"},{"line_number":4441,"context_line":"            \u0027public_hostname\u0027: \u0027public_hostname_1234\u0027,"},{"line_number":4442,"context_line":"            \u0027host\u0027: \u0027127.0.0.1\u0027,"},{"line_number":4443,"context_line":"            \u0027compute_host\u0027: \u0027localhost\u0027"},{"line_number":4444,"context_line":"        }"},{"line_number":4445,"context_line":""},{"line_number":4446,"context_line":"    def test_console_pool_create(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPH%2F%2FkwM%3D","line":4443,"in_reply_to":"AAAAPH%2F%2Flu0%3D","updated":"2013-05-30 07:05:19.000000000","message":"ok, it makes sense","commit_id":"048be0dbb7791bc56615b0575f7444374fb93b0c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1d5edd7a807e3b1ea00c7f30b1deda7c4a5d53b7","unresolved":false,"context_lines":[{"line_number":4440,"context_line":"            \u0027console_type\u0027: \u0027type_2\u0027,"},{"line_number":4441,"context_line":"            \u0027public_hostname\u0027: \u0027public_hostname_1234\u0027,"},{"line_number":4442,"context_line":"            \u0027host\u0027: \u0027127.0.0.1\u0027,"},{"line_number":4443,"context_line":"            \u0027compute_host\u0027: \u0027localhost\u0027"},{"line_number":4444,"context_line":"        }"},{"line_number":4445,"context_line":""},{"line_number":4446,"context_line":"    def test_console_pool_create(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPH%2F%2Flu0%3D","line":4443,"in_reply_to":"AAAAPH%2F%2FmJg%3D","updated":"2013-05-29 20:35:02.000000000","message":"+1 for always a trailing comma. Makes adding things later change fewer lines :)","commit_id":"048be0dbb7791bc56615b0575f7444374fb93b0c"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"ad44a7ecedf0093620b934c5f40aa8d9795970ef","unresolved":false,"context_lines":[{"line_number":4418,"context_line":"        si_rows \u003d self.conn.execute(qsi).fetchall()"},{"line_number":4419,"context_line":"        self.assertEqual(len(siim_rows) + len(si_rows), 8)"},{"line_number":4420,"context_line":""},{"line_number":4421,"context_line":""},{"line_number":4422,"context_line":"class ConsolePoolTestCase(test.TestCase, ModelsObjectComparatorMixin):"},{"line_number":4423,"context_line":"    def setUp(self):"},{"line_number":4424,"context_line":"        super(ConsolePoolTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2FedM%3D","line":4421,"updated":"2013-06-02 18:12:09.000000000","message":"IMHO ConsolePoolTestCase should be before ArchiveTestCase","commit_id":"1d5f02a6ecb3c7925507c6fc45030012f2a18db9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dff5dde65c8b387728680702e40b675662799fc","unresolved":false,"context_lines":[{"line_number":4130,"context_line":"                                self.ctxt, \u0027class name\u0027, \u0027resource\u0027, 42)"},{"line_number":4131,"context_line":""},{"line_number":4132,"context_line":""},{"line_number":4133,"context_line":"class ConsolePoolTestCase(test.TestCase, ModelsObjectComparatorMixin):"},{"line_number":4134,"context_line":"    def setUp(self):"},{"line_number":4135,"context_line":"        super(ConsolePoolTestCase, self).setUp()"},{"line_number":4136,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2Fm6s%3D","line":4133,"updated":"2013-06-14 14:04:18.000000000","message":"Personally I would have put console and console pool into the same test case, and change set, but I am cool with separate too.","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"2e0b7652714a1b85813ab72e91bb9c4819ee4149","unresolved":false,"context_lines":[{"line_number":4130,"context_line":"                                self.ctxt, \u0027class name\u0027, \u0027resource\u0027, 42)"},{"line_number":4131,"context_line":""},{"line_number":4132,"context_line":""},{"line_number":4133,"context_line":"class ConsolePoolTestCase(test.TestCase, ModelsObjectComparatorMixin):"},{"line_number":4134,"context_line":"    def setUp(self):"},{"line_number":4135,"context_line":"        super(ConsolePoolTestCase, self).setUp()"},{"line_number":4136,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2FmkQ%3D","line":4133,"in_reply_to":"AAAAPX%2F%2Fm6s%3D","updated":"2013-06-14 15:58:26.000000000","message":"I think that it\u0027s better to have test case for every DB model.","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dff5dde65c8b387728680702e40b675662799fc","unresolved":false,"context_lines":[{"line_number":4152,"context_line":"            \u0027public_hostname\u0027: \u0027public_hostname_1234\u0027,"},{"line_number":4153,"context_line":"            \u0027host\u0027: \u0027127.0.0.1\u0027,"},{"line_number":4154,"context_line":"            \u0027compute_host\u0027: \u0027localhost\u0027,"},{"line_number":4155,"context_line":"        }"},{"line_number":4156,"context_line":""},{"line_number":4157,"context_line":"    def test_console_pool_create(self):"},{"line_number":4158,"context_line":"        console_pool \u003d db.console_pool_create("}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2Fm7Y%3D","line":4155,"updated":"2013-06-14 14:04:18.000000000","message":"It might be good to have a deleted one to test the read_deleted flags are accurate, and ensure it doesn\u0027t get returned.","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"2e0b7652714a1b85813ab72e91bb9c4819ee4149","unresolved":false,"context_lines":[{"line_number":4152,"context_line":"            \u0027public_hostname\u0027: \u0027public_hostname_1234\u0027,"},{"line_number":4153,"context_line":"            \u0027host\u0027: \u0027127.0.0.1\u0027,"},{"line_number":4154,"context_line":"            \u0027compute_host\u0027: \u0027localhost\u0027,"},{"line_number":4155,"context_line":"        }"},{"line_number":4156,"context_line":""},{"line_number":4157,"context_line":"    def test_console_pool_create(self):"},{"line_number":4158,"context_line":"        console_pool \u003d db.console_pool_create("}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2FmmU%3D","line":4155,"in_reply_to":"AAAAPX%2F%2Fm7Y%3D","updated":"2013-06-14 15:58:26.000000000","message":"we have no function to delete row from console_pool at the moment. So there is no `deleted` rows in table.","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"ee5bc72329b27c0e2c4bd5a00547f3ad84003b66","unresolved":false,"context_lines":[{"line_number":4158,"context_line":"        console_pool \u003d db.console_pool_create("},{"line_number":4159,"context_line":"            self.ctxt, self.test_console_pool_values_1"},{"line_number":4160,"context_line":"        )"},{"line_number":4161,"context_line":"        self.assertTrue(console_pool[\u0027id\u0027] is not None)"},{"line_number":4162,"context_line":"        ignored_keys \u003d [\u0027deleted\u0027, \u0027created_at\u0027, \u0027updated_at\u0027,"},{"line_number":4163,"context_line":"                        \u0027deleted_at\u0027, \u0027id\u0027]"},{"line_number":4164,"context_line":"        self._assertEqualObjects(console_pool, self.test_console_pool_values_1,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2F%2FQc%3D","line":4161,"updated":"2013-06-04 13:53:58.000000000","message":"self.assertTrue(console_pool[\u0027id\u0027]) must work also","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"2e0b7652714a1b85813ab72e91bb9c4819ee4149","unresolved":false,"context_lines":[{"line_number":4158,"context_line":"        console_pool \u003d db.console_pool_create("},{"line_number":4159,"context_line":"            self.ctxt, self.test_console_pool_values_1"},{"line_number":4160,"context_line":"        )"},{"line_number":4161,"context_line":"        self.assertTrue(console_pool[\u0027id\u0027] is not None)"},{"line_number":4162,"context_line":"        ignored_keys \u003d [\u0027deleted\u0027, \u0027created_at\u0027, \u0027updated_at\u0027,"},{"line_number":4163,"context_line":"                        \u0027deleted_at\u0027, \u0027id\u0027]"},{"line_number":4164,"context_line":"        self._assertEqualObjects(console_pool, self.test_console_pool_values_1,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2Fmjc%3D","line":4161,"in_reply_to":"AAAAPX%2F%2F%2FQc%3D","updated":"2013-06-14 15:58:26.000000000","message":"Done","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"ee5bc72329b27c0e2c4bd5a00547f3ad84003b66","unresolved":false,"context_lines":[{"line_number":4160,"context_line":"        )"},{"line_number":4161,"context_line":"        self.assertTrue(console_pool[\u0027id\u0027] is not None)"},{"line_number":4162,"context_line":"        ignored_keys \u003d [\u0027deleted\u0027, \u0027created_at\u0027, \u0027updated_at\u0027,"},{"line_number":4163,"context_line":"                        \u0027deleted_at\u0027, \u0027id\u0027]"},{"line_number":4164,"context_line":"        self._assertEqualObjects(console_pool, self.test_console_pool_values_1,"},{"line_number":4165,"context_line":"                                 ignored_keys)"},{"line_number":4166,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2F%2FRk%3D","line":4163,"updated":"2013-06-04 13:53:58.000000000","message":"May be better use self._ignored_keys and  self._ignored_keys + [\u0027consoles\u0027]?","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"2e0b7652714a1b85813ab72e91bb9c4819ee4149","unresolved":false,"context_lines":[{"line_number":4160,"context_line":"        )"},{"line_number":4161,"context_line":"        self.assertTrue(console_pool[\u0027id\u0027] is not None)"},{"line_number":4162,"context_line":"        ignored_keys \u003d [\u0027deleted\u0027, \u0027created_at\u0027, \u0027updated_at\u0027,"},{"line_number":4163,"context_line":"                        \u0027deleted_at\u0027, \u0027id\u0027]"},{"line_number":4164,"context_line":"        self._assertEqualObjects(console_pool, self.test_console_pool_values_1,"},{"line_number":4165,"context_line":"                                 ignored_keys)"},{"line_number":4166,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2FmjE%3D","line":4163,"in_reply_to":"AAAAPX%2F%2F%2FRk%3D","updated":"2013-06-14 15:58:26.000000000","message":"we will have the same amount of lists but it will be more difficult to read code (I think :) )","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dff5dde65c8b387728680702e40b675662799fc","unresolved":false,"context_lines":[{"line_number":4183,"context_line":"            db_cp \u003d db.console_pool_get_by_host_type("},{"line_number":4184,"context_line":"                self.ctxt, cp[\u0027compute_host\u0027], cp[\u0027host\u0027], cp[\u0027console_type\u0027]"},{"line_number":4185,"context_line":"            )"},{"line_number":4186,"context_line":"            self._assertEqualObjects(cp, db_cp, ignored_keys)"},{"line_number":4187,"context_line":""},{"line_number":4188,"context_line":"    def test_console_pool_get_by_host_type_no_resuls(self):"},{"line_number":4189,"context_line":"        self.assertRaises("}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2Fm68%3D","line":4186,"updated":"2013-06-14 14:04:18.000000000","message":"multiple asserts like this make tests harder to debug.\n\nJust testing you get back one result and it is the correct one would do the trick I think.","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"2e0b7652714a1b85813ab72e91bb9c4819ee4149","unresolved":false,"context_lines":[{"line_number":4183,"context_line":"            db_cp \u003d db.console_pool_get_by_host_type("},{"line_number":4184,"context_line":"                self.ctxt, cp[\u0027compute_host\u0027], cp[\u0027host\u0027], cp[\u0027console_type\u0027]"},{"line_number":4185,"context_line":"            )"},{"line_number":4186,"context_line":"            self._assertEqualObjects(cp, db_cp, ignored_keys)"},{"line_number":4187,"context_line":""},{"line_number":4188,"context_line":"    def test_console_pool_get_by_host_type_no_resuls(self):"},{"line_number":4189,"context_line":"        self.assertRaises("}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2FmpA%3D","line":4186,"in_reply_to":"AAAAPX%2F%2Fm68%3D","updated":"2013-06-14 15:58:26.000000000","message":"It\u0027s makes sense","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dff5dde65c8b387728680702e40b675662799fc","unresolved":false,"context_lines":[{"line_number":4204,"context_line":"            db_cp \u003d db.console_pool_get_all_by_host_type(self.ctxt, cp[\u0027host\u0027],"},{"line_number":4205,"context_line":"                                                         cp[\u0027console_type\u0027])"},{"line_number":4206,"context_line":"            self.assertEqual(len(db_cp), 1)"},{"line_number":4207,"context_line":"            self._assertEqualObjects(cp, db_cp[0], ignored_keys)"},{"line_number":4208,"context_line":""},{"line_number":4209,"context_line":""},{"line_number":4210,"context_line":"class ArchiveTestCase(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2Fm6k%3D","line":4207,"updated":"2013-06-14 14:04:18.000000000","message":"as above, not sure about the loop","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"2e0b7652714a1b85813ab72e91bb9c4819ee4149","unresolved":false,"context_lines":[{"line_number":4204,"context_line":"            db_cp \u003d db.console_pool_get_all_by_host_type(self.ctxt, cp[\u0027host\u0027],"},{"line_number":4205,"context_line":"                                                         cp[\u0027console_type\u0027])"},{"line_number":4206,"context_line":"            self.assertEqual(len(db_cp), 1)"},{"line_number":4207,"context_line":"            self._assertEqualObjects(cp, db_cp[0], ignored_keys)"},{"line_number":4208,"context_line":""},{"line_number":4209,"context_line":""},{"line_number":4210,"context_line":"class ArchiveTestCase(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2Fmo8%3D","line":4207,"in_reply_to":"AAAAPX%2F%2Fm6k%3D","updated":"2013-06-14 15:58:26.000000000","message":"Done","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dff5dde65c8b387728680702e40b675662799fc","unresolved":false,"context_lines":[{"line_number":4205,"context_line":"                                                         cp[\u0027console_type\u0027])"},{"line_number":4206,"context_line":"            self.assertEqual(len(db_cp), 1)"},{"line_number":4207,"context_line":"            self._assertEqualObjects(cp, db_cp[0], ignored_keys)"},{"line_number":4208,"context_line":""},{"line_number":4209,"context_line":""},{"line_number":4210,"context_line":"class ArchiveTestCase(test.TestCase):"},{"line_number":4211,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2Fm6E%3D","line":4208,"updated":"2013-06-14 14:04:18.000000000","message":"It would be good to see a test for geting back zero results from console_pool_get_all_by_host_type","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"2e0b7652714a1b85813ab72e91bb9c4819ee4149","unresolved":false,"context_lines":[{"line_number":4205,"context_line":"                                                         cp[\u0027console_type\u0027])"},{"line_number":4206,"context_line":"            self.assertEqual(len(db_cp), 1)"},{"line_number":4207,"context_line":"            self._assertEqualObjects(cp, db_cp[0], ignored_keys)"},{"line_number":4208,"context_line":""},{"line_number":4209,"context_line":""},{"line_number":4210,"context_line":"class ArchiveTestCase(test.TestCase):"},{"line_number":4211,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPX%2F%2FmoI%3D","line":4208,"in_reply_to":"AAAAPX%2F%2Fm6E%3D","updated":"2013-06-14 15:58:26.000000000","message":"Done","commit_id":"24b43fbb0291084afd89f5fb9434b24578eaeae4"}]}
