def test_transfer_get(self): volume_id1 = utils.create_volume(self.ctxt)['id'] xfer_id1 = self._create_transfer(volume_id1) xfer = db.transfer_get(self.ctxt, xfer_id1) self.assertEqual(xfer.volume_id, volume_id1, "Unexpected volume_id") nctxt = context.RequestContext(user_id='new_user_id', project_id='new_project_id') self.assertRaises(exception.TransferNotFound, db.transfer_get, nctxt, xfer_id1) xfer = db.transfer_get(nctxt.elevated(), xfer_id1) self.assertEqual(xfer.volume_id, volume_id1, "Unexpected volume_id")
def test_transfer_accept(self): volume = utils.create_volume(self.ctxt) xfer_id = self._create_transfer(volume['id'], volume['project_id']) nctxt = context.RequestContext(user_id=fake.USER2_ID, project_id=fake.PROJECT2_ID) xfer = db.transfer_get(nctxt.elevated(), xfer_id) self.assertEqual(volume.project_id, xfer['source_project_id']) self.assertFalse(xfer['accepted']) self.assertIsNone(xfer['destination_project_id']) db.transfer_accept(nctxt.elevated(), xfer_id, fake.USER2_ID, fake.PROJECT2_ID) xfer = db_api.model_query( nctxt.elevated(), models.Transfer, read_deleted='yes').filter_by(id=xfer_id).first() self.assertEqual(volume.project_id, xfer['source_project_id']) self.assertTrue(xfer['accepted']) self.assertEqual(fake.PROJECT2_ID, xfer['destination_project_id'])
def test_transfer_accept(self): volume = utils.create_volume(self.ctxt) xfer_id = self._create_transfer(volume['id'], volume['project_id']) nctxt = context.RequestContext(user_id=fake.USER2_ID, project_id=fake.PROJECT2_ID) xfer = db.transfer_get(nctxt.elevated(), xfer_id) self.assertEqual(volume.project_id, xfer['source_project_id']) self.assertFalse(xfer['accepted']) self.assertIsNone(xfer['destination_project_id']) db.transfer_accept(nctxt.elevated(), xfer_id, fake.USER2_ID, fake.PROJECT2_ID) xfer = db_api.model_query( nctxt.elevated(), models.Transfer, read_deleted='yes' ).filter_by(id=xfer_id).first() self.assertEqual(volume.project_id, xfer['source_project_id']) self.assertTrue(xfer['accepted']) self.assertEqual(fake.PROJECT2_ID, xfer['destination_project_id'])