)]}'
{"cinder/tests/unit/test_volume_transfer.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"3eb1cb946ab030f4f1c42f79708eb1ea16e3a042","unresolved":false,"context_lines":[{"line_number":310,"context_line":"                                    \u0027all_tenants\u0027: \u00271\u0027})"},{"line_number":311,"context_line":"        self.assertEqual(1, len(t))"},{"line_number":312,"context_line":"        self.assertEqual(transfer2[\u0027display_name\u0027], t[0][\u0027display_name\u0027],"},{"line_number":313,"context_line":"                         \u0027Unexpected transfer id\u0027)"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    @mock.patch(\u0027cinder.volume.volume_utils.notify_about_volume_usage\u0027)"},{"line_number":316,"context_line":"    def test_delete_transfer_with_deleted_volume(self, mock_notify):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_7dbb3d0d","line":313,"updated":"2020-06-19 15:42:19.000000000","message":"This should probably include a unit test for what happens when two transfers have the same name.  (I think that\u0027s possible?)","commit_id":"cb69b2027c3c42b7400dee47902822abc3e6330c"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"643a61b9ee054a00f3c16557b20ea4bf9b242c76","unresolved":false,"context_lines":[{"line_number":310,"context_line":"                                    \u0027all_tenants\u0027: \u00271\u0027})"},{"line_number":311,"context_line":"        self.assertEqual(1, len(t))"},{"line_number":312,"context_line":"        self.assertEqual(transfer2[\u0027display_name\u0027], t[0][\u0027display_name\u0027],"},{"line_number":313,"context_line":"                         \u0027Unexpected transfer id\u0027)"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    @mock.patch(\u0027cinder.volume.volume_utils.notify_about_volume_usage\u0027)"},{"line_number":316,"context_line":"    def test_delete_transfer_with_deleted_volume(self, mock_notify):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_bd095596","line":313,"in_reply_to":"bf51134e_7dbb3d0d","updated":"2020-06-19 15:52:41.000000000","message":"that fails on the client with the following error.\nERROR: Multiple volumetransfer matches found for \u0027test_transfer\u0027, use an ID to be more specific.","commit_id":"cb69b2027c3c42b7400dee47902822abc3e6330c"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"9a8dc5de6f2c7e7a6806643291a7935529e65185","unresolved":false,"context_lines":[{"line_number":290,"context_line":"        self.assertEqual(0, len(ts), \u0027Unexpected transfers listed.\u0027)"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    def test_transfer_get_by_name(self):"},{"line_number":293,"context_line":"        tx_api \u003d transfer_api.API()"},{"line_number":294,"context_line":"        volume1 \u003d utils.create_volume(self.ctxt, updated_at\u003dself.updated_at)"},{"line_number":295,"context_line":"        transfer1 \u003d tx_api.create(self.ctxt, volume1[\u0027id\u0027], \u0027test_transfer1\u0027)"},{"line_number":296,"context_line":"        volume2 \u003d utils.create_volume(self.ctxt, updated_at\u003dself.updated_at)"},{"line_number":297,"context_line":"        transfer2 \u003d tx_api.create(self.ctxt, volume2[\u0027id\u0027], \u0027test_transfer2\u0027)"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        # with non-admin context"},{"line_number":300,"context_line":"        t \u003d tx_api.get_all(self.ctxt,"},{"line_number":301,"context_line":"                           filters\u003d{\u0027display_name\u0027: transfer1[\u0027display_name\u0027],"},{"line_number":302,"context_line":"                                    \u0027all_tenants\u0027: \u00271\u0027})"},{"line_number":303,"context_line":"        self.assertEqual(1, len(t))"},{"line_number":304,"context_line":"        self.assertEqual(transfer1[\u0027display_name\u0027], t[0][\u0027display_name\u0027],"},{"line_number":305,"context_line":"                         \u0027Unexpected transfer id\u0027)"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"        # with admin context"},{"line_number":308,"context_line":"        t \u003d tx_api.get_all(self.ctxt.elevated(),"},{"line_number":309,"context_line":"                           filters\u003d{\u0027display_name\u0027: transfer2[\u0027display_name\u0027],"},{"line_number":310,"context_line":"                                    \u0027all_tenants\u0027: \u00271\u0027})"},{"line_number":311,"context_line":"        self.assertEqual(1, len(t))"},{"line_number":312,"context_line":"        self.assertEqual(transfer2[\u0027display_name\u0027], t[0][\u0027display_name\u0027],"},{"line_number":313,"context_line":"                         \u0027Unexpected transfer id\u0027)"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    @mock.patch(\u0027cinder.volume.volume_utils.notify_about_volume_usage\u0027)"},{"line_number":316,"context_line":"    def test_delete_transfer_with_deleted_volume(self, mock_notify):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_13d03650","line":313,"range":{"start_line":293,"start_character":0,"end_line":313,"end_character":50},"updated":"2020-07-31 12:31:21.000000000","message":"-1: Don\u0027t create volumes, just mock every call the method makes and ensure the right calls are being made.","commit_id":"6a36db296ac50f4a2dc990d87e9bfc67235a6d9e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"876aae63b7792f9ad15027d471180cd43f990934","unresolved":false,"context_lines":[{"line_number":290,"context_line":"        self.assertEqual(0, len(ts), \u0027Unexpected transfers listed.\u0027)"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    def test_transfer_get_by_name(self):"},{"line_number":293,"context_line":"        tx_api \u003d transfer_api.API()"},{"line_number":294,"context_line":"        volume1 \u003d utils.create_volume(self.ctxt, updated_at\u003dself.updated_at)"},{"line_number":295,"context_line":"        transfer1 \u003d tx_api.create(self.ctxt, volume1[\u0027id\u0027], \u0027test_transfer1\u0027)"},{"line_number":296,"context_line":"        volume2 \u003d utils.create_volume(self.ctxt, updated_at\u003dself.updated_at)"},{"line_number":297,"context_line":"        transfer2 \u003d tx_api.create(self.ctxt, volume2[\u0027id\u0027], \u0027test_transfer2\u0027)"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        # with non-admin context"},{"line_number":300,"context_line":"        t \u003d tx_api.get_all(self.ctxt,"},{"line_number":301,"context_line":"                           filters\u003d{\u0027display_name\u0027: transfer1[\u0027display_name\u0027],"},{"line_number":302,"context_line":"                                    \u0027all_tenants\u0027: \u00271\u0027})"},{"line_number":303,"context_line":"        self.assertEqual(1, len(t))"},{"line_number":304,"context_line":"        self.assertEqual(transfer1[\u0027display_name\u0027], t[0][\u0027display_name\u0027],"},{"line_number":305,"context_line":"                         \u0027Unexpected transfer id\u0027)"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"        # with admin context"},{"line_number":308,"context_line":"        t \u003d tx_api.get_all(self.ctxt.elevated(),"},{"line_number":309,"context_line":"                           filters\u003d{\u0027display_name\u0027: transfer2[\u0027display_name\u0027],"},{"line_number":310,"context_line":"                                    \u0027all_tenants\u0027: \u00271\u0027})"},{"line_number":311,"context_line":"        self.assertEqual(1, len(t))"},{"line_number":312,"context_line":"        self.assertEqual(transfer2[\u0027display_name\u0027], t[0][\u0027display_name\u0027],"},{"line_number":313,"context_line":"                         \u0027Unexpected transfer id\u0027)"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    @mock.patch(\u0027cinder.volume.volume_utils.notify_about_volume_usage\u0027)"},{"line_number":316,"context_line":"    def test_delete_transfer_with_deleted_volume(self, mock_notify):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_9061c5d6","line":313,"range":{"start_line":293,"start_character":0,"end_line":313,"end_character":50},"in_reply_to":"9f560f44_13d03650","updated":"2020-08-03 07:39:18.000000000","message":"Done","commit_id":"6a36db296ac50f4a2dc990d87e9bfc67235a6d9e"}],"cinder/transfer/api.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"9a8dc5de6f2c7e7a6806643291a7935529e65185","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        filters \u003d filters or {}"},{"line_number":87,"context_line":"        context.authorize(policy.GET_ALL_POLICY)"},{"line_number":88,"context_line":"        all_tenants \u003d strutils.bool_from_string(filters.pop(\u0027all_tenants\u0027,"},{"line_number":89,"context_line":"                                                            None))"},{"line_number":90,"context_line":"        if context.is_admin and all_tenants:"},{"line_number":91,"context_line":"            transfers \u003d self.db.transfer_get_all(context, marker\u003dmarker,"},{"line_number":92,"context_line":"                                                 limit\u003dlimit,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_93e2862e","line":89,"range":{"start_line":89,"start_character":60,"end_line":89,"end_character":64},"updated":"2020-07-31 12:31:21.000000000","message":"nit: Better default to \u0027false\u0027","commit_id":"6a36db296ac50f4a2dc990d87e9bfc67235a6d9e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"876aae63b7792f9ad15027d471180cd43f990934","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        filters \u003d filters or {}"},{"line_number":87,"context_line":"        context.authorize(policy.GET_ALL_POLICY)"},{"line_number":88,"context_line":"        all_tenants \u003d strutils.bool_from_string(filters.pop(\u0027all_tenants\u0027,"},{"line_number":89,"context_line":"                                                            None))"},{"line_number":90,"context_line":"        if context.is_admin and all_tenants:"},{"line_number":91,"context_line":"            transfers \u003d self.db.transfer_get_all(context, marker\u003dmarker,"},{"line_number":92,"context_line":"                                                 limit\u003dlimit,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_f072c1ac","line":89,"range":{"start_line":89,"start_character":60,"end_line":89,"end_character":64},"in_reply_to":"9f560f44_93e2862e","updated":"2020-08-03 07:39:18.000000000","message":"Done","commit_id":"6a36db296ac50f4a2dc990d87e9bfc67235a6d9e"}]}
