Example #1
0
    def test_save(self):
        uuid = self.volume_target_dict['uuid']
        boot_index = 100
        test_time = datetime.datetime(2000, 1, 1, 0, 0)
        with mock.patch.object(self.dbapi,
                               'get_volume_target_by_uuid',
                               autospec=True) as mock_get_volume_target:
            mock_get_volume_target.return_value = self.volume_target_dict
            with mock.patch.object(self.dbapi,
                                   'update_volume_target',
                                   autospec=True) as mock_update_target:
                mock_update_target.return_value = (
                    db_utils.get_test_volume_target(boot_index=boot_index,
                                                    updated_at=test_time))
                target = objects.VolumeTarget.get_by_uuid(self.context, uuid)
                target.boot_index = boot_index
                target.save()

                mock_get_volume_target.assert_called_once_with(uuid)
                mock_update_target.assert_called_once_with(
                    uuid, {
                        'version': objects.VolumeTarget.VERSION,
                        'boot_index': boot_index
                    })
                self.assertEqual(self.context, target._context)
                res_updated_at = (target.updated_at).replace(tzinfo=None)
                self.assertEqual(test_time, res_updated_at)
Example #2
0
def volume_target_post_data(**kw):
    target = db_utils.get_test_volume_target(**kw)
    # These values are not part of the API object
    target.pop('node_id')
    target.pop('version')
    internal = vt_controller.VolumeTargetPatchType.internal_attrs()
    return remove_internal(target, internal)
Example #3
0
def volume_target_post_data(**kw):
    target = db_utils.get_test_volume_target(**kw)
    # These values are not part of the API object
    target.pop('node_id')
    target.pop('version')
    internal = vt_controller.VolumeTargetPatchType.internal_attrs()
    return remove_internal(target, internal)
Example #4
0
def get_test_volume_target(ctxt, **kw):
    """Return a VolumeTarget object with appropriate attributes.

    NOTE: The object leaves the attributes marked as changed, such
    that a create() could be used to commit it to the DB.
    """
    db_volume_target = db_utils.get_test_volume_target(**kw)
    # Let DB generate ID if it isn't specified explicitly
    if 'id' not in kw:
        del db_volume_target['id']
    volume_target = objects.VolumeTarget(ctxt)
    for key in db_volume_target:
        setattr(volume_target, key, db_volume_target[key])
    return volume_target
Example #5
0
def get_test_volume_target(ctxt, **kw):
    """Return a VolumeTarget object with appropriate attributes.

    NOTE: The object leaves the attributes marked as changed, such
    that a create() could be used to commit it to the DB.
    """
    db_volume_target = db_utils.get_test_volume_target(**kw)
    # Let DB generate ID if it isn't specified explicitly
    if 'id' not in kw:
        del db_volume_target['id']
    volume_target = objects.VolumeTarget(ctxt)
    for key in db_volume_target:
        setattr(volume_target, key, db_volume_target[key])
    return volume_target
Example #6
0
    def test_refresh(self):
        uuid = self.volume_target_dict['uuid']
        old_boot_index = self.volume_target_dict['boot_index']
        returns = [self.volume_target_dict,
                   db_utils.get_test_volume_target(boot_index=100)]
        expected = [mock.call(uuid), mock.call(uuid)]
        with mock.patch.object(self.dbapi, 'get_volume_target_by_uuid',
                               side_effect=returns,
                               autospec=True) as mock_get_volume_target:
            target = objects.VolumeTarget.get_by_uuid(self.context, uuid)
            self.assertEqual(old_boot_index, target.boot_index)
            target.refresh()
            self.assertEqual(100, target.boot_index)

            self.assertEqual(expected,
                             mock_get_volume_target.call_args_list)
            self.assertEqual(self.context, target._context)
Example #7
0
    def test_refresh(self):
        uuid = self.volume_target_dict['uuid']
        old_boot_index = self.volume_target_dict['boot_index']
        returns = [
            self.volume_target_dict,
            db_utils.get_test_volume_target(boot_index=100)
        ]
        expected = [mock.call(uuid), mock.call(uuid)]
        with mock.patch.object(self.dbapi,
                               'get_volume_target_by_uuid',
                               side_effect=returns,
                               autospec=True) as mock_get_volume_target:
            target = objects.VolumeTarget.get_by_uuid(self.context, uuid)
            self.assertEqual(old_boot_index, target.boot_index)
            target.refresh()
            self.assertEqual(100, target.boot_index)

            self.assertEqual(expected, mock_get_volume_target.call_args_list)
            self.assertEqual(self.context, target._context)
    def test_save(self):
        uuid = self.volume_target_dict['uuid']
        boot_index = 100
        test_time = datetime.datetime(2000, 1, 1, 0, 0)
        with mock.patch.object(self.dbapi, 'get_volume_target_by_uuid',
                               autospec=True) as mock_get_volume_target:
            mock_get_volume_target.return_value = self.volume_target_dict
            with mock.patch.object(self.dbapi, 'update_volume_target',
                                   autospec=True) as mock_update_target:
                mock_update_target.return_value = (
                    utils.get_test_volume_target(boot_index=boot_index,
                                                 updated_at=test_time))
                target = objects.VolumeTarget.get_by_uuid(self.context, uuid)
                target.boot_index = boot_index
                target.save()

                mock_get_volume_target.assert_called_once_with(uuid)
                mock_update_target.assert_called_once_with(uuid,
                                                           {'boot_index':
                                                            boot_index})
                self.assertEqual(self.context, target._context)
                res_updated_at = (target.updated_at).replace(tzinfo=None)
                self.assertEqual(test_time, res_updated_at)
Example #9
0
 def setUp(self):
     super(TestVolumeTargetObject, self).setUp()
     self.volume_target_dict = db_utils.get_test_volume_target()
Example #10
0
def volume_target_post_data(**kw):
    target = db_utils.get_test_volume_target(**kw)
    return remove_other_fields(target,
                               vt_controller.TARGET_SCHEMA['properties'])
Example #11
0
 def test_update_volume_target(self):
     fake_volume_target = db_utils.get_test_volume_target()
     self._test_rpcapi('update_volume_target',
                       'call',
                       version='1.37',
                       target=fake_volume_target)
Example #12
0
 def setUp(self):
     super(TestVolumeTargetObject, self).setUp()
     self.volume_target_dict = db_utils.get_test_volume_target()
Example #13
0
 def test_destroy_volume_target(self):
     fake_volume_target = dbutils.get_test_volume_target()
     self._test_rpcapi('destroy_volume_target',
                       'call',
                       version='1.37',
                       target=fake_volume_target)
Example #14
0
 def test_update_volume_target(self):
     fake_volume_target = dbutils.get_test_volume_target()
     self._test_rpcapi('update_volume_target',
                       'call',
                       version='1.37',
                       target=fake_volume_target)
Example #15
0
 def test_destroy_volume_target(self):
     fake_volume_target = db_utils.get_test_volume_target()
     self._test_rpcapi('destroy_volume_target',
                       'call',
                       version='1.37',
                       target=fake_volume_target)