示例#1
0
    def test_create_from_snapshot(self):
        fake_share_group = fake.ShareGroup()
        mock_create = self.mock_object(
            self.manager, '_create', mock.Mock(return_value=fake_share_group))
        create_args = {
            'name': fake.ShareGroup.name,
            'description': fake.ShareGroup.description,
            'availability_zone': fake.ShareGroup.availability_zone,
            'source_share_group_snapshot': fake.ShareGroupSnapshot(),
        }

        result = self.manager.create(**create_args)

        self.assertIs(fake_share_group, result)
        expected_body = {
            share_groups.RESOURCE_NAME: {
                'name': fake.ShareGroup.name,
                'description': fake.ShareGroup.description,
                'availability_zone': fake.ShareGroup.availability_zone,
                'source_share_group_snapshot_id': fake.ShareGroupSnapshot().id,
            },
        }
        mock_create.assert_called_once_with(share_groups.RESOURCES_PATH,
                                            expected_body,
                                            share_groups.RESOURCE_NAME)
示例#2
0
    def test_create_minimal_args(self):
        fake_share_group_snapshot = fake.ShareGroupSnapshot()
        mock_create = self.mock_object(
            self.manager, '_create',
            mock.Mock(return_value=fake_share_group_snapshot))

        result = self.manager.create(fake.ShareGroupSnapshot)

        self.assertIs(fake_share_group_snapshot, result)
        expected_body = {
            snapshots.RESOURCE_NAME: {
                'share_group_id': fake.ShareGroupSnapshot().id,
            },
        }
        mock_create.assert_called_once_with(
            snapshots.RESOURCES_PATH, expected_body, snapshots.RESOURCE_NAME)
示例#3
0
    def test_update_no_data(self):
        fake_share_group_snapshot = fake.ShareGroupSnapshot()
        mock_get = self.mock_object(
            self.manager, '_get',
            mock.Mock(return_value=fake_share_group_snapshot))
        mock_update = self.mock_object(
            self.manager, '_update',
            mock.Mock(return_value=fake_share_group_snapshot))
        update_args = {}

        result = self.manager.update(fake.ShareGroupSnapshot(), **update_args)

        self.assertIs(fake_share_group_snapshot, result)
        mock_get.assert_called_once_with(
            snapshots.RESOURCE_PATH % fake.ShareGroupSnapshot.id,
            snapshots.RESOURCE_NAME)
        self.assertFalse(mock_update.called)
示例#4
0
    def test_reset_state(self):
        mock_post = self.mock_object(self.manager.api.client, 'post')

        self.manager.reset_state(fake.ShareGroupSnapshot(), 'fake_state')

        mock_post.assert_called_once_with(
            snapshots.RESOURCE_PATH_ACTION % fake.ShareGroupSnapshot.id,
            body={'reset_status': {'status': 'fake_state'}})
示例#5
0
    def test_delete(self):
        mock_delete = self.mock_object(self.manager, '_delete')
        mock_post = self.mock_object(self.manager.api.client, 'post')

        self.manager.delete(fake.ShareGroupSnapshot())

        mock_delete.assert_called_once_with(snapshots.RESOURCE_PATH %
                                            fake.ShareGroupSnapshot.id)
        self.assertFalse(mock_post.called)
示例#6
0
    def test_create_invalid_arguments(self):
        create_args = {
            'name': fake.ShareGroup.name,
            'description': fake.ShareGroup.description,
            'share_types': [fake.ShareType().id],
            'source_share_group_snapshot': fake.ShareGroupSnapshot(),
        }

        self.assertRaises(ValueError, self.manager.create, **create_args)
示例#7
0
    def test_update(self):
        fake_share_group_snapshot = fake.ShareGroupSnapshot()
        mock_get = self.mock_object(
            self.manager, '_get',
            mock.Mock(return_value=fake_share_group_snapshot))
        mock_update = self.mock_object(
            self.manager, '_update',
            mock.Mock(return_value=fake_share_group_snapshot))
        update_args = {
            'name': fake.ShareGroupSnapshot.name,
            'description': fake.ShareGroupSnapshot.description,
        }

        result = self.manager.update(fake.ShareGroupSnapshot(), **update_args)

        self.assertIs(fake_share_group_snapshot, result)
        self.assertFalse(mock_get.called)
        mock_update.assert_called_once_with(
            snapshots.RESOURCE_PATH % fake.ShareGroupSnapshot.id,
            {snapshots.RESOURCE_NAME: update_args}, snapshots.RESOURCE_NAME)
示例#8
0
    def test_list_no_detail(self):
        fake_share_group_snapshot = fake.ShareGroupSnapshot()
        mock_list = self.mock_object(
            self.manager, '_list',
            mock.Mock(return_value=[fake_share_group_snapshot]))

        result = self.manager.list(detailed=False)

        self.assertEqual([fake_share_group_snapshot], result)
        mock_list.assert_called_once_with(snapshots.RESOURCES_PATH,
                                          snapshots.RESOURCES_NAME)
示例#9
0
    def test_get(self):
        fake_share_group_snapshot = fake.ShareGroupSnapshot()
        mock_get = self.mock_object(
            self.manager, '_get',
            mock.Mock(return_value=fake_share_group_snapshot))

        result = self.manager.get(fake.ShareGroupSnapshot.id)

        self.assertIs(fake_share_group_snapshot, result)
        mock_get.assert_called_once_with(
            snapshots.RESOURCE_PATH % fake.ShareGroupSnapshot.id,
            snapshots.RESOURCE_NAME)
示例#10
0
    def test_create(self):
        fake_share_group_snapshot = fake.ShareGroupSnapshot()
        mock_create = self.mock_object(
            self.manager, '_create',
            mock.Mock(return_value=fake_share_group_snapshot))
        create_args = {
            'name': fake.ShareGroupSnapshot.name,
            'description': fake.ShareGroupSnapshot.description,
        }

        result = self.manager.create(fake.ShareGroupSnapshot, **create_args)

        self.assertIs(fake_share_group_snapshot, result)
        expected_body = {
            snapshots.RESOURCE_NAME: {
                'name': fake.ShareGroupSnapshot.name,
                'description': fake.ShareGroupSnapshot.description,
                'share_group_id': fake.ShareGroupSnapshot().id,
            },
        }
        mock_create.assert_called_once_with(
            snapshots.RESOURCES_PATH, expected_body, snapshots.RESOURCE_NAME)
示例#11
0
    def test_list_with_filters(self):
        fake_share_group_snapshot = fake.ShareGroupSnapshot()
        mock_list = self.mock_object(
            self.manager, '_list',
            mock.Mock(return_value=[fake_share_group_snapshot]))
        filters = {'all_tenants': 1, 'status': 'ERROR'}

        result = self.manager.list(detailed=False, search_opts=filters)

        self.assertEqual([fake_share_group_snapshot], result)
        expected_path = (snapshots.RESOURCES_PATH +
                         '?all_tenants=1&status=ERROR')
        mock_list.assert_called_once_with(expected_path,
                                          snapshots.RESOURCES_NAME)
示例#12
0
    def test_list_with_sorting(self):
        fake_share_group_snapshot = fake.ShareGroupSnapshot()
        mock_list = self.mock_object(
            self.manager, '_list',
            mock.Mock(return_value=[fake_share_group_snapshot]))

        result = self.manager.list(
            detailed=False, sort_dir='asc', sort_key='name')

        self.assertEqual([fake_share_group_snapshot], result)
        expected_path = (
            snapshots.RESOURCES_PATH + '?sort_dir=asc&sort_key=name')
        mock_list.assert_called_once_with(
            expected_path, snapshots.RESOURCES_NAME)