)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"e625d08da2afb095d63310607a56629991f20d9d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"backups: allow name to be specified during restore"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds the ability to specify a `name` attribute which could"},{"line_number":10,"context_line":"be specified during backup restore. This will create a volume with the"},{"line_number":11,"context_line":"specified name during restore, instead of the default pattern of the"},{"line_number":12,"context_line":"form `restore-backup-\u003cid\u003e`"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa32b979_2c200a49","line":9,"updated":"2015-06-22 08:33:01.000000000","message":"I would remove \"which could be specified\" since you already said it is specified a few words before.","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"e625d08da2afb095d63310607a56629991f20d9d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This commit adds the ability to specify a `name` attribute which could"},{"line_number":10,"context_line":"be specified during backup restore. This will create a volume with the"},{"line_number":11,"context_line":"specified name during restore, instead of the default pattern of the"},{"line_number":12,"context_line":"form `restore-backup-\u003cid\u003e`"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Implements: blueprint backup-restore-display-name"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa32b979_4c922e59","line":12,"updated":"2015-06-22 08:33:01.000000000","message":"It should be mentioned what happens if volume already exist: this argument is ignored.\n\nI think that should not be the behavior and it should change the volume\u0027s name.","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"},{"author":{"_account_id":12160,"name":"Abhishek Lekshmanan","email":"abhishek.lekshmanan@gmail.com","username":"abhishekl"},"change_message_id":"84134da35606439caf201191a9d9cb6d0a09c419","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This commit adds the ability to specify a `name` attribute which could"},{"line_number":10,"context_line":"be specified during backup restore. This will create a volume with the"},{"line_number":11,"context_line":"specified name during restore, instead of the default pattern of the"},{"line_number":12,"context_line":"form `restore-backup-\u003cid\u003e`"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Implements: blueprint backup-restore-display-name"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa32b979_a2262fb8","line":12,"in_reply_to":"fa32b979_4c922e59","updated":"2015-06-23 06:22:10.000000000","message":"As of now that is the behaviour ie. ignore name when id is specified; but I\u0027m not strongly against overriding the volume\u0027s name either. I\u0027ll mention this line in the blueprint.. if the general opinion is to override, I\u0027m ready to implement that instead","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"e625d08da2afb095d63310607a56629991f20d9d","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Implements: blueprint backup-restore-display-name"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I23730834058d88e30be62624ada3b24cdaeaa6f3"},{"line_number":17,"context_line":"Signed-off-by: Abhishek Lekshmanan \u003cabhishek.lekshmanan@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa32b979_2cca4a50","line":17,"updated":"2015-06-22 08:33:01.000000000","message":"This is missing APIImpact and DocImpact","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"},{"author":{"_account_id":12160,"name":"Abhishek Lekshmanan","email":"abhishek.lekshmanan@gmail.com","username":"abhishekl"},"change_message_id":"84134da35606439caf201191a9d9cb6d0a09c419","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Implements: blueprint backup-restore-display-name"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I23730834058d88e30be62624ada3b24cdaeaa6f3"},{"line_number":17,"context_line":"Signed-off-by: Abhishek Lekshmanan \u003cabhishek.lekshmanan@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa32b979_8223eba6","line":17,"in_reply_to":"fa32b979_2cca4a50","updated":"2015-06-23 06:22:10.000000000","message":"Done","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"e6a7248f9944edec1842497da418399ad4b27398","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Abhishek Lekshmanan \u003cabhishek.lekshmanan@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-06-23 14:36:51 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"backups: allow name to be specified during restore"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds the ability to specify a `name` attribute during backup"},{"line_number":10,"context_line":"restore. This will create a volume with the specified name during"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa32b979_9afca83f","line":7,"updated":"2015-06-23 11:41:56.000000000","message":"Capital letter first.","commit_id":"daef8e97080e4cfeec57b8f4d31e471571d44595"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"e6a7248f9944edec1842497da418399ad4b27398","unresolved":false,"context_lines":[{"line_number":10,"context_line":"restore. This will create a volume with the specified name during"},{"line_number":11,"context_line":"restore, instead of the default pattern of the form"},{"line_number":12,"context_line":"`restore-backup-\u003cid\u003e`. In case volume id is specified the `name`"},{"line_number":13,"context_line":"attribute is ignored"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"DocImpact"},{"line_number":16,"context_line":"APIImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa32b979_7abf6460","line":13,"updated":"2015-06-23 11:41:56.000000000","message":"stop in the end.","commit_id":"daef8e97080e4cfeec57b8f4d31e471571d44595"}],"cinder/backup/api.py":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"c86572769af1733f0d93ac5f154a8f57adff259f","unresolved":false,"context_lines":[{"line_number":246,"context_line":"            description \u003d \u0027auto-created_from_restore_from_backup\u0027"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"            LOG.info(_LI(\"Creating volume of %(size)s GB for restore of \""},{"line_number":249,"context_line":"                         \"backup %(backup_id)s\"),"},{"line_number":250,"context_line":"                     {\u0027size\u0027: size, \u0027backup_id\u0027: backup_id},"},{"line_number":251,"context_line":"                     context\u003dcontext)"},{"line_number":252,"context_line":"            volume \u003d self.volume_api.create(context, size, name, description)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_cbddb271","line":249,"updated":"2015-06-22 15:01:14.000000000","message":"\".\" at EOL","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"}],"cinder/tests/unit/api/contrib/test_backups.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"e625d08da2afb095d63310607a56629991f20d9d","unresolved":false,"context_lines":[{"line_number":966,"context_line":"    def test_restore_backup_name_specified(self,"},{"line_number":967,"context_line":"                                           _mock_volume_api_create):"},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"        # intercept volume creation to ensure created volume"},{"line_number":970,"context_line":"        # has status of available"},{"line_number":971,"context_line":"        def fake_volume_api_create(context, size, name, description):"},{"line_number":972,"context_line":"            volume_id \u003d utils.create_volume(self.context, size\u003dsize,"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_6c8292ca","line":969,"updated":"2015-06-22 08:33:01.000000000","message":"PEP8 specifies first letter should be capitalized.","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"},{"author":{"_account_id":12160,"name":"Abhishek Lekshmanan","email":"abhishek.lekshmanan@gmail.com","username":"abhishekl"},"change_message_id":"d1dfac68695beeffd6b58192c56fa18d476627f9","unresolved":false,"context_lines":[{"line_number":966,"context_line":"    def test_restore_backup_name_specified(self,"},{"line_number":967,"context_line":"                                           _mock_volume_api_create):"},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"        # intercept volume creation to ensure created volume"},{"line_number":970,"context_line":"        # has status of available"},{"line_number":971,"context_line":"        def fake_volume_api_create(context, size, name, description):"},{"line_number":972,"context_line":"            volume_id \u003d utils.create_volume(self.context, size\u003dsize,"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_b4dd3872","line":969,"in_reply_to":"fa32b979_6c8292ca","updated":"2015-06-22 13:38:24.000000000","message":"Fixing in the next rev.","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"e625d08da2afb095d63310607a56629991f20d9d","unresolved":false,"context_lines":[{"line_number":987,"context_line":"        res_dict \u003d json.loads(res.body)"},{"line_number":988,"context_line":""},{"line_number":989,"context_line":"        description \u003d \u0027auto-created_from_restore_from_backup\u0027"},{"line_number":990,"context_line":"        # assert that we have indeed passed on the name parameter"},{"line_number":991,"context_line":"        _mock_volume_api_create.assert_called_with(mock.ANY,"},{"line_number":992,"context_line":"                                                   5,"},{"line_number":993,"context_line":"                                                   \u0027vol-01\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_6ce7f2ac","line":990,"updated":"2015-06-22 08:33:01.000000000","message":"Capitalize.","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"},{"author":{"_account_id":12160,"name":"Abhishek Lekshmanan","email":"abhishek.lekshmanan@gmail.com","username":"abhishekl"},"change_message_id":"d1dfac68695beeffd6b58192c56fa18d476627f9","unresolved":false,"context_lines":[{"line_number":987,"context_line":"        res_dict \u003d json.loads(res.body)"},{"line_number":988,"context_line":""},{"line_number":989,"context_line":"        description \u003d \u0027auto-created_from_restore_from_backup\u0027"},{"line_number":990,"context_line":"        # assert that we have indeed passed on the name parameter"},{"line_number":991,"context_line":"        _mock_volume_api_create.assert_called_with(mock.ANY,"},{"line_number":992,"context_line":"                                                   5,"},{"line_number":993,"context_line":"                                                   \u0027vol-01\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_14f664f9","line":990,"in_reply_to":"fa32b979_6ce7f2ac","updated":"2015-06-22 13:38:24.000000000","message":"Fixing","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"e625d08da2afb095d63310607a56629991f20d9d","unresolved":false,"context_lines":[{"line_number":990,"context_line":"        # assert that we have indeed passed on the name parameter"},{"line_number":991,"context_line":"        _mock_volume_api_create.assert_called_with(mock.ANY,"},{"line_number":992,"context_line":"                                                   5,"},{"line_number":993,"context_line":"                                                   \u0027vol-01\u0027,"},{"line_number":994,"context_line":"                                                   description)"},{"line_number":995,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":996,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_ccc07ee3","line":993,"updated":"2015-06-22 08:33:01.000000000","message":"body[\u0027restore\u0027][\u0027name\u0027]","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"},{"author":{"_account_id":12160,"name":"Abhishek Lekshmanan","email":"abhishek.lekshmanan@gmail.com","username":"abhishekl"},"change_message_id":"d1dfac68695beeffd6b58192c56fa18d476627f9","unresolved":false,"context_lines":[{"line_number":990,"context_line":"        # assert that we have indeed passed on the name parameter"},{"line_number":991,"context_line":"        _mock_volume_api_create.assert_called_with(mock.ANY,"},{"line_number":992,"context_line":"                                                   5,"},{"line_number":993,"context_line":"                                                   \u0027vol-01\u0027,"},{"line_number":994,"context_line":"                                                   description)"},{"line_number":995,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":996,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_b4969892","line":993,"in_reply_to":"fa32b979_ccc07ee3","updated":"2015-06-22 13:38:24.000000000","message":"Good catch.. fixing","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"e625d08da2afb095d63310607a56629991f20d9d","unresolved":false,"context_lines":[{"line_number":994,"context_line":"                                                   description)"},{"line_number":995,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":996,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":997,"context_line":""},{"line_number":998,"context_line":"    @mock.patch(\u0027cinder.backup.API.restore\u0027)"},{"line_number":999,"context_line":"    def test_restore_backup_with_InvalidInput(self,"},{"line_number":1000,"context_line":"                                              _mock_volume_api_restore):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_27dd8370","line":997,"updated":"2015-06-22 08:33:01.000000000","message":"This is missing a test for restore when destination volume (specified by Volume ID) already exist so we check that the name is not changed.","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"},{"author":{"_account_id":12160,"name":"Abhishek Lekshmanan","email":"abhishek.lekshmanan@gmail.com","username":"abhishekl"},"change_message_id":"d1dfac68695beeffd6b58192c56fa18d476627f9","unresolved":false,"context_lines":[{"line_number":994,"context_line":"                                                   description)"},{"line_number":995,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":996,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":997,"context_line":""},{"line_number":998,"context_line":"    @mock.patch(\u0027cinder.backup.API.restore\u0027)"},{"line_number":999,"context_line":"    def test_restore_backup_with_InvalidInput(self,"},{"line_number":1000,"context_line":"                                              _mock_volume_api_restore):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_b4af78e2","line":997,"in_reply_to":"fa32b979_27dd8370","updated":"2015-06-22 13:38:24.000000000","message":"Will add a test with destination volume","commit_id":"e52d9a3594c5c604aca06944ece44ea6f076c0fa"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"529c4d1aab94d7034068a5fc0bac49dc9efb5366","unresolved":false,"context_lines":[{"line_number":1011,"context_line":"        res_dict \u003d json.loads(res.body)"},{"line_number":1012,"context_line":""},{"line_number":1013,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1014,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":1015,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":1016,"context_line":"        restored_vol \u003d db.volume_get(self.context,"},{"line_number":1017,"context_line":"                                     res_dict[\u0027restore\u0027][\u0027volume_id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_13364ce7","line":1014,"updated":"2015-06-23 09:00:25.000000000","message":"The order of arguments in asserts must be (expected, actual)","commit_id":"6e49942d63dfde670fa3bcec873262aaca39fb0d"},{"author":{"_account_id":12160,"name":"Abhishek Lekshmanan","email":"abhishek.lekshmanan@gmail.com","username":"abhishekl"},"change_message_id":"925cb4423ca427355c7f91f004b85f3df1b912b0","unresolved":false,"context_lines":[{"line_number":1011,"context_line":"        res_dict \u003d json.loads(res.body)"},{"line_number":1012,"context_line":""},{"line_number":1013,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1014,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":1015,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":1016,"context_line":"        restored_vol \u003d db.volume_get(self.context,"},{"line_number":1017,"context_line":"                                     res_dict[\u0027restore\u0027][\u0027volume_id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_93a49cb9","line":1014,"in_reply_to":"fa32b979_13364ce7","updated":"2015-06-23 09:10:06.000000000","message":"Ah missed again :) Fixing","commit_id":"6e49942d63dfde670fa3bcec873262aaca39fb0d"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"529c4d1aab94d7034068a5fc0bac49dc9efb5366","unresolved":false,"context_lines":[{"line_number":1012,"context_line":""},{"line_number":1013,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1014,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":1015,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":1016,"context_line":"        restored_vol \u003d db.volume_get(self.context,"},{"line_number":1017,"context_line":"                                     res_dict[\u0027restore\u0027][\u0027volume_id\u0027])"},{"line_number":1018,"context_line":"        # Ensure that the original volume name wasn\u0027t overridden"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_734d5871","line":1015,"updated":"2015-06-23 09:00:25.000000000","message":"Same here.","commit_id":"6e49942d63dfde670fa3bcec873262aaca39fb0d"},{"author":{"_account_id":12160,"name":"Abhishek Lekshmanan","email":"abhishek.lekshmanan@gmail.com","username":"abhishekl"},"change_message_id":"925cb4423ca427355c7f91f004b85f3df1b912b0","unresolved":false,"context_lines":[{"line_number":1012,"context_line":""},{"line_number":1013,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1014,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":1015,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":1016,"context_line":"        restored_vol \u003d db.volume_get(self.context,"},{"line_number":1017,"context_line":"                                     res_dict[\u0027restore\u0027][\u0027volume_id\u0027])"},{"line_number":1018,"context_line":"        # Ensure that the original volume name wasn\u0027t overridden"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_93b9fccd","line":1015,"in_reply_to":"fa32b979_734d5871","updated":"2015-06-23 09:10:06.000000000","message":"Done","commit_id":"6e49942d63dfde670fa3bcec873262aaca39fb0d"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"e6a7248f9944edec1842497da418399ad4b27398","unresolved":false,"context_lines":[{"line_number":988,"context_line":""},{"line_number":989,"context_line":"        description \u003d \u0027auto-created_from_restore_from_backup\u0027"},{"line_number":990,"context_line":"        # Assert that we have indeed passed on the name parameter"},{"line_number":991,"context_line":"        _mock_volume_api_create.assert_called_with(mock.ANY,"},{"line_number":992,"context_line":"                                                   5,"},{"line_number":993,"context_line":"                                                   body[\u0027restore\u0027][\u0027name\u0027],"},{"line_number":994,"context_line":"                                                   description)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_5aee208c","line":991,"updated":"2015-06-23 11:41:56.000000000","message":"If _mock_volume_api_create is called once, please use \r\nassert_called_once_with","commit_id":"daef8e97080e4cfeec57b8f4d31e471571d44595"},{"author":{"_account_id":12160,"name":"Abhishek Lekshmanan","email":"abhishek.lekshmanan@gmail.com","username":"abhishekl"},"change_message_id":"7b478bd204628a3ef3bcff86b3db7916715891a2","unresolved":false,"context_lines":[{"line_number":988,"context_line":""},{"line_number":989,"context_line":"        description \u003d \u0027auto-created_from_restore_from_backup\u0027"},{"line_number":990,"context_line":"        # Assert that we have indeed passed on the name parameter"},{"line_number":991,"context_line":"        _mock_volume_api_create.assert_called_with(mock.ANY,"},{"line_number":992,"context_line":"                                                   5,"},{"line_number":993,"context_line":"                                                   body[\u0027restore\u0027][\u0027name\u0027],"},{"line_number":994,"context_line":"                                                   description)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_f56385db","line":991,"in_reply_to":"fa32b979_5aee208c","updated":"2015-06-23 11:47:58.000000000","message":"Done","commit_id":"daef8e97080e4cfeec57b8f4d31e471571d44595"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"e6a7248f9944edec1842497da418399ad4b27398","unresolved":false,"context_lines":[{"line_number":992,"context_line":"                                                   5,"},{"line_number":993,"context_line":"                                                   body[\u0027restore\u0027][\u0027name\u0027],"},{"line_number":994,"context_line":"                                                   description)"},{"line_number":995,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":996,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":997,"context_line":""},{"line_number":998,"context_line":"    def test_restore_backup_name_volume_id_specified(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_1a83b8cd","line":995,"updated":"2015-06-23 11:41:56.000000000","message":"put 202 in front.","commit_id":"daef8e97080e4cfeec57b8f4d31e471571d44595"},{"author":{"_account_id":12160,"name":"Abhishek Lekshmanan","email":"abhishek.lekshmanan@gmail.com","username":"abhishekl"},"change_message_id":"7b478bd204628a3ef3bcff86b3db7916715891a2","unresolved":false,"context_lines":[{"line_number":992,"context_line":"                                                   5,"},{"line_number":993,"context_line":"                                                   body[\u0027restore\u0027][\u0027name\u0027],"},{"line_number":994,"context_line":"                                                   description)"},{"line_number":995,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":996,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":997,"context_line":""},{"line_number":998,"context_line":"    def test_restore_backup_name_volume_id_specified(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_d568c1bc","line":995,"in_reply_to":"fa32b979_1a83b8cd","updated":"2015-06-23 11:47:58.000000000","message":"Done","commit_id":"daef8e97080e4cfeec57b8f4d31e471571d44595"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"e6a7248f9944edec1842497da418399ad4b27398","unresolved":false,"context_lines":[{"line_number":1010,"context_line":"        res \u003d req.get_response(fakes.wsgi_app())"},{"line_number":1011,"context_line":"        res_dict \u003d json.loads(res.body)"},{"line_number":1012,"context_line":""},{"line_number":1013,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1014,"context_line":"        self.assertEqual(backup_id, res_dict[\u0027restore\u0027][\u0027backup_id\u0027])"},{"line_number":1015,"context_line":"        self.assertEqual(volume_id, res_dict[\u0027restore\u0027][\u0027volume_id\u0027])"},{"line_number":1016,"context_line":"        restored_vol \u003d db.volume_get(self.context,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_fa4ff4bb","line":1013,"updated":"2015-06-23 11:41:56.000000000","message":"202 first","commit_id":"daef8e97080e4cfeec57b8f4d31e471571d44595"},{"author":{"_account_id":12160,"name":"Abhishek Lekshmanan","email":"abhishek.lekshmanan@gmail.com","username":"abhishekl"},"change_message_id":"7b478bd204628a3ef3bcff86b3db7916715891a2","unresolved":false,"context_lines":[{"line_number":1010,"context_line":"        res \u003d req.get_response(fakes.wsgi_app())"},{"line_number":1011,"context_line":"        res_dict \u003d json.loads(res.body)"},{"line_number":1012,"context_line":""},{"line_number":1013,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1014,"context_line":"        self.assertEqual(backup_id, res_dict[\u0027restore\u0027][\u0027backup_id\u0027])"},{"line_number":1015,"context_line":"        self.assertEqual(volume_id, res_dict[\u0027restore\u0027][\u0027volume_id\u0027])"},{"line_number":1016,"context_line":"        restored_vol \u003d db.volume_get(self.context,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_3571eda8","line":1013,"in_reply_to":"fa32b979_fa4ff4bb","updated":"2015-06-23 11:47:58.000000000","message":"Done","commit_id":"daef8e97080e4cfeec57b8f4d31e471571d44595"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"e6a7248f9944edec1842497da418399ad4b27398","unresolved":false,"context_lines":[{"line_number":1016,"context_line":"        restored_vol \u003d db.volume_get(self.context,"},{"line_number":1017,"context_line":"                                     res_dict[\u0027restore\u0027][\u0027volume_id\u0027])"},{"line_number":1018,"context_line":"        # Ensure that the original volume name wasn\u0027t overridden"},{"line_number":1019,"context_line":"        self.assertEqual(restored_vol[\u0027display_name\u0027], orig_vol_name)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"    @mock.patch(\u0027cinder.backup.API.restore\u0027)"},{"line_number":1022,"context_line":"    def test_restore_backup_with_InvalidInput(self,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_1a5ad883","line":1019,"updated":"2015-06-23 11:41:56.000000000","message":"put orig_vol_name first.","commit_id":"daef8e97080e4cfeec57b8f4d31e471571d44595"},{"author":{"_account_id":12160,"name":"Abhishek Lekshmanan","email":"abhishek.lekshmanan@gmail.com","username":"abhishekl"},"change_message_id":"7b478bd204628a3ef3bcff86b3db7916715891a2","unresolved":false,"context_lines":[{"line_number":1016,"context_line":"        restored_vol \u003d db.volume_get(self.context,"},{"line_number":1017,"context_line":"                                     res_dict[\u0027restore\u0027][\u0027volume_id\u0027])"},{"line_number":1018,"context_line":"        # Ensure that the original volume name wasn\u0027t overridden"},{"line_number":1019,"context_line":"        self.assertEqual(restored_vol[\u0027display_name\u0027], orig_vol_name)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"    @mock.patch(\u0027cinder.backup.API.restore\u0027)"},{"line_number":1022,"context_line":"    def test_restore_backup_with_InvalidInput(self,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_156e29c9","line":1019,"in_reply_to":"fa32b979_1a5ad883","updated":"2015-06-23 11:47:58.000000000","message":"Done","commit_id":"daef8e97080e4cfeec57b8f4d31e471571d44595"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"6284a4440ecbefe7caaa7092cc9a86817c79b67b","unresolved":false,"context_lines":[{"line_number":995,"context_line":"            description)"},{"line_number":996,"context_line":""},{"line_number":997,"context_line":"        self.assertEqual(202, res.status_int)"},{"line_number":998,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":999,"context_line":""},{"line_number":1000,"context_line":"    def test_restore_backup_name_volume_id_specified(self):"},{"line_number":1001,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_8d2d4697","line":998,"updated":"2015-07-01 13:43:52.000000000","message":"backup_id should be put as the first parameter IMO.","commit_id":"7fbeabcf257be823961320d7b35b58aa9ee56717"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"7b17eae05c1b50f90e050dbe789ec0bf86bb1970","unresolved":false,"context_lines":[{"line_number":995,"context_line":"            description)"},{"line_number":996,"context_line":""},{"line_number":997,"context_line":"        self.assertEqual(202, res.status_int)"},{"line_number":998,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":999,"context_line":""},{"line_number":1000,"context_line":"    def test_restore_backup_name_volume_id_specified(self):"},{"line_number":1001,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a41bdd9_13ce935a","line":998,"in_reply_to":"ba3cc151_8d2d4697","updated":"2015-07-17 09:31:25.000000000","message":"Yes, the assert order should be expected, actual-result.","commit_id":"7fbeabcf257be823961320d7b35b58aa9ee56717"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"9f8521fee2a48e194dea142ed1212cf35cf4155f","unresolved":false,"context_lines":[{"line_number":962,"context_line":"                                            display_name\u003dname)[\u0027id\u0027]"},{"line_number":963,"context_line":"            return db.volume_get(context, volume_id)"},{"line_number":964,"context_line":""},{"line_number":965,"context_line":"        _mock_volume_api_create.side_effect \u003d fake_volume_api_create"},{"line_number":966,"context_line":""},{"line_number":967,"context_line":"        backup_id \u003d self._create_backup(size\u003d5, status\u003d\u0027available\u0027)"},{"line_number":968,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_74e80511","line":965,"updated":"2015-07-21 04:19:32.000000000","message":"I know it makes no difference for the test result, but isn\u0027t it better to use return_value instead of side_effect?","commit_id":"b515ecc4916715bde2c2b790a7ec2762457ec55a"}]}
