)]}'
{"cinder/test.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c3c8e7846cb2a0bdfae6bad339be3c1f6e1a227e","unresolved":false,"context_lines":[{"line_number":346,"context_line":"            self.assertEqual(call[0], posargs[0])"},{"line_number":347,"context_line":"            self.assertEqual(call[1], posargs[2])"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    def assertTrue(self, x, *args, **kwargs):"},{"line_number":350,"context_line":"        if isinstance(x, six.string_types):"},{"line_number":351,"context_line":"            raise AssertionError(\"%s (%s) is a string. Use a more \""},{"line_number":352,"context_line":"                                 \"specific assertion such as assertEqual.\" %"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_a753fe16","line":349,"updated":"2017-06-15 21:35:30.000000000","message":"There\u0027s a pylint error here:\n\ncinder/test.py:349: [E1002, TestCase.assertTrue] Use of super on an old style class","commit_id":"7a84172cb2bbd4b65781f130ce8c3393f399286c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"a81410e80a32c4402f4634e2c9e694bec5fc9b7e","unresolved":false,"context_lines":[{"line_number":346,"context_line":"            self.assertEqual(call[0], posargs[0])"},{"line_number":347,"context_line":"            self.assertEqual(call[1], posargs[2])"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    def assertTrue(self, x, *args, **kwargs):"},{"line_number":350,"context_line":"        if isinstance(x, six.string_types):"},{"line_number":351,"context_line":"            raise AssertionError(\"%s (%s) is a string. Use a more \""},{"line_number":352,"context_line":"                                 \"specific assertion such as assertEqual.\" %"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_d8fb6abe","line":349,"in_reply_to":"7f231b9d_a753fe16","updated":"2017-06-16 13:30:45.000000000","message":"It\u0027s not actually an old-style class -- this happens, I think, because pylint can\u0027t determine whether it\u0027s an old or new style class.\n\nThe inheritance chain is either\n    TestCase \u003c- testtools.TestCase \u003c- unittest.TestCase \u003c- object\nor\n    TestCase \u003c- testtools.TestCase \u003c- unittest2.TestCase \u003c- unittest.TestCase \u003c- object\n\npylint can\u0027t determine this because testtools does a\n    try_imports([\u0027unittest2\u0027, \u0027unittest\u0027])\n\n\nI tried disabling this warning, but am running into some pylint issues.  IMO it we better to just let this be until after we merge https://review.openstack.org/#/c/442857/ to get to a non-ancient version of pylint.","commit_id":"7a84172cb2bbd4b65781f130ce8c3393f399286c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"bd18bfdda45aceb29a029a63828c972b59423273","unresolved":false,"context_lines":[{"line_number":346,"context_line":"            self.assertEqual(call[0], posargs[0])"},{"line_number":347,"context_line":"            self.assertEqual(call[1], posargs[2])"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    def assertTrue(self, x, *args, **kwargs):"},{"line_number":350,"context_line":"        if isinstance(x, six.string_types):"},{"line_number":351,"context_line":"            raise AssertionError(\"%s (%s) is a string. Use a more \""},{"line_number":352,"context_line":"                                 \"specific assertion such as assertEqual.\" %"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_054f2e93","line":349,"in_reply_to":"7f231b9d_d8fb6abe","updated":"2017-06-16 19:34:13.000000000","message":"Sure.","commit_id":"7a84172cb2bbd4b65781f130ce8c3393f399286c"}],"cinder/tests/unit/message/test_defined_messages.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"9aa8169e7a7b98b5b5e4f691919ea4c567130fba","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            if not attr_name.startswith(\u0027_\u0027):"},{"line_number":41,"context_line":"                value \u003d getattr(defined_messages.EventIds, attr_name)"},{"line_number":42,"context_line":"                msg \u003d defined_messages.event_id_message_map.get(value)"},{"line_number":43,"context_line":"                self.assertGreater(len(msg), 1)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_94e03d28","line":43,"updated":"2017-06-15 15:25:51.000000000","message":"I believe the assertTrue was correct, as it would mean it\u0027s not either None or \u0027\u0027, but I think preventing errors is more important that these corner cases.","commit_id":"2d12313d5a799ed3be9b0382d6c4a3eff11ae3e8"}],"cinder/tests/unit/test_db_api.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"403f8f06cf5be81a37c4c0943a897683a0e30134","unresolved":false,"context_lines":[{"line_number":2525,"context_line":"    def test_backup_create(self):"},{"line_number":2526,"context_line":"        values \u003d self._get_values()"},{"line_number":2527,"context_line":"        for i, backup in enumerate(self.created):"},{"line_number":2528,"context_line":"            self.assertEqual(len(backup[\u0027id\u0027]), 36)  # dynamic UUID"},{"line_number":2529,"context_line":"            self._assertEqualObjects(values[i], backup, self._ignored_keys)"},{"line_number":2530,"context_line":""},{"line_number":2531,"context_line":"    def test_backup_get(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_4cc81c21","line":2528,"range":{"start_line":2528,"start_character":12,"end_line":2528,"end_character":51},"updated":"2017-06-13 21:53:17.000000000","message":"This should be expected, actual.  It is reversed.\n\nself.assertEqual(36, len(backup[\u0027id\u0027]))","commit_id":"2d12313d5a799ed3be9b0382d6c4a3eff11ae3e8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ca1d88a82b92555939c4f56f204781906fe26317","unresolved":false,"context_lines":[{"line_number":2525,"context_line":"    def test_backup_create(self):"},{"line_number":2526,"context_line":"        values \u003d self._get_values()"},{"line_number":2527,"context_line":"        for i, backup in enumerate(self.created):"},{"line_number":2528,"context_line":"            self.assertEqual(len(backup[\u0027id\u0027]), 36)  # dynamic UUID"},{"line_number":2529,"context_line":"            self._assertEqualObjects(values[i], backup, self._ignored_keys)"},{"line_number":2530,"context_line":""},{"line_number":2531,"context_line":"    def test_backup_get(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_27f019fd","line":2528,"range":{"start_line":2528,"start_character":12,"end_line":2528,"end_character":51},"in_reply_to":"7f231b9d_4cc81c21","updated":"2017-06-15 16:00:20.000000000","message":"Done\n\n(I will never remember this detail, apparently.)","commit_id":"2d12313d5a799ed3be9b0382d6c4a3eff11ae3e8"}],"cinder/tests/unit/volume/drivers/test_coprhd.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"403f8f06cf5be81a37c4c0943a897683a0e30134","unresolved":false,"context_lines":[{"line_number":444,"context_line":""},{"line_number":445,"context_line":"    def test_get_volume_stats(self):"},{"line_number":446,"context_line":"        vol_stats \u003d self.driver.get_volume_stats(True)"},{"line_number":447,"context_line":"        self.assertEqual(vol_stats[\u0027free_capacity_gb\u0027], \u0027unknown\u0027)"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    def test_create_volume_clone(self):"},{"line_number":450,"context_line":"        src_volume_data \u003d get_test_volume_data(self.volume_type_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_ccdb0ceb","line":447,"range":{"start_line":447,"start_character":25,"end_line":447,"end_character":65},"updated":"2017-06-13 21:53:17.000000000","message":"Should be expected, actual.  This is reversed.","commit_id":"2d12313d5a799ed3be9b0382d6c4a3eff11ae3e8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ca1d88a82b92555939c4f56f204781906fe26317","unresolved":false,"context_lines":[{"line_number":444,"context_line":""},{"line_number":445,"context_line":"    def test_get_volume_stats(self):"},{"line_number":446,"context_line":"        vol_stats \u003d self.driver.get_volume_stats(True)"},{"line_number":447,"context_line":"        self.assertEqual(vol_stats[\u0027free_capacity_gb\u0027], \u0027unknown\u0027)"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    def test_create_volume_clone(self):"},{"line_number":450,"context_line":"        src_volume_data \u003d get_test_volume_data(self.volume_type_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_e7c6a19a","line":447,"range":{"start_line":447,"start_character":25,"end_line":447,"end_character":65},"in_reply_to":"7f231b9d_ccdb0ceb","updated":"2017-06-15 16:00:20.000000000","message":"Done","commit_id":"2d12313d5a799ed3be9b0382d6c4a3eff11ae3e8"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"403f8f06cf5be81a37c4c0943a897683a0e30134","unresolved":false,"context_lines":[{"line_number":610,"context_line":""},{"line_number":611,"context_line":"    def test_get_volume_stats(self):"},{"line_number":612,"context_line":"        vol_stats \u003d self.driver.get_volume_stats(True)"},{"line_number":613,"context_line":"        self.assertEqual(vol_stats[\u0027free_capacity_gb\u0027], \u0027unknown\u0027)"},{"line_number":614,"context_line":""},{"line_number":615,"context_line":"    def test_create_volume_clone(self):"},{"line_number":616,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_8ce514ab","line":613,"updated":"2017-06-13 21:53:17.000000000","message":"Same.","commit_id":"2d12313d5a799ed3be9b0382d6c4a3eff11ae3e8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ca1d88a82b92555939c4f56f204781906fe26317","unresolved":false,"context_lines":[{"line_number":610,"context_line":""},{"line_number":611,"context_line":"    def test_get_volume_stats(self):"},{"line_number":612,"context_line":"        vol_stats \u003d self.driver.get_volume_stats(True)"},{"line_number":613,"context_line":"        self.assertEqual(vol_stats[\u0027free_capacity_gb\u0027], \u0027unknown\u0027)"},{"line_number":614,"context_line":""},{"line_number":615,"context_line":"    def test_create_volume_clone(self):"},{"line_number":616,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_a7bc2906","line":613,"in_reply_to":"7f231b9d_8ce514ab","updated":"2017-06-15 16:00:20.000000000","message":"Done","commit_id":"2d12313d5a799ed3be9b0382d6c4a3eff11ae3e8"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"403f8f06cf5be81a37c4c0943a897683a0e30134","unresolved":false,"context_lines":[{"line_number":827,"context_line":""},{"line_number":828,"context_line":"    def test_get_volume_stats(self):"},{"line_number":829,"context_line":"        vol_stats \u003d self.driver.get_volume_stats(True)"},{"line_number":830,"context_line":"        self.assertEqual(vol_stats[\u0027free_capacity_gb\u0027], \u0027unknown\u0027)"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"    def test_create_volume_clone(self):"},{"line_number":833,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_6ce07897","line":830,"updated":"2017-06-13 21:53:17.000000000","message":"Same","commit_id":"2d12313d5a799ed3be9b0382d6c4a3eff11ae3e8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ca1d88a82b92555939c4f56f204781906fe26317","unresolved":false,"context_lines":[{"line_number":827,"context_line":""},{"line_number":828,"context_line":"    def test_get_volume_stats(self):"},{"line_number":829,"context_line":"        vol_stats \u003d self.driver.get_volume_stats(True)"},{"line_number":830,"context_line":"        self.assertEqual(vol_stats[\u0027free_capacity_gb\u0027], \u0027unknown\u0027)"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"    def test_create_volume_clone(self):"},{"line_number":833,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_47343593","line":830,"in_reply_to":"7f231b9d_6ce07897","updated":"2017-06-15 16:00:20.000000000","message":"Done","commit_id":"2d12313d5a799ed3be9b0382d6c4a3eff11ae3e8"}],"cinder/tests/unit/volume/test_snapshot.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"403f8f06cf5be81a37c4c0943a897683a0e30134","unresolved":false,"context_lines":[{"line_number":389,"context_line":"        vol_glance_meta \u003d db.volume_glance_metadata_get(ctxt, volume_id)"},{"line_number":390,"context_line":"        self.assertTrue(vol_glance_meta)"},{"line_number":391,"context_line":"        snap \u003d create_snapshot(volume_id)"},{"line_number":392,"context_line":"        self.assertEqual(len(snap.id), 36)  # dynamically-generated UUID"},{"line_number":393,"context_line":"        self.assertEqual(\u0027creating\u0027, snap.status)"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"        # set to return DB exception"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_2c99601e","line":392,"range":{"start_line":392,"start_character":8,"end_line":392,"end_character":42},"updated":"2017-06-13 21:53:17.000000000","message":"Reversed.","commit_id":"2d12313d5a799ed3be9b0382d6c4a3eff11ae3e8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ca1d88a82b92555939c4f56f204781906fe26317","unresolved":false,"context_lines":[{"line_number":389,"context_line":"        vol_glance_meta \u003d db.volume_glance_metadata_get(ctxt, volume_id)"},{"line_number":390,"context_line":"        self.assertTrue(vol_glance_meta)"},{"line_number":391,"context_line":"        snap \u003d create_snapshot(volume_id)"},{"line_number":392,"context_line":"        self.assertEqual(len(snap.id), 36)  # dynamically-generated UUID"},{"line_number":393,"context_line":"        self.assertEqual(\u0027creating\u0027, snap.status)"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"        # set to return DB exception"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_67d4d120","line":392,"range":{"start_line":392,"start_character":8,"end_line":392,"end_character":42},"in_reply_to":"7f231b9d_2c99601e","updated":"2017-06-15 16:00:20.000000000","message":"Done","commit_id":"2d12313d5a799ed3be9b0382d6c4a3eff11ae3e8"}]}
