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)
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)
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)
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'}})
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)
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)
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)
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)
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)
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)
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)
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)