def test_add_snapshot_ownership_not_verified(self): """Assert an error is raised when ownership is not verified.""" mock_user_id = str(uuid.uuid4()) mock_snapshot = helper.generate_mock_snapshot() mock_snapshot.describe_attribute.return_value = { 'CreateVolumePermissions': [], } with patch.object(ec2, '_get_primary_account_id') as mock_get_acct_id: mock_get_acct_id.return_value = mock_user_id with self.assertRaises(AwsSnapshotNotOwnedError): ec2.add_snapshot_ownership(mock_snapshot) expected_permission = {'Add': [{'UserId': mock_user_id}]} expected_user_ids = [mock_user_id] mock_snapshot.modify_attribute.assert_called_once_with( Attribute='createVolumePermission', CreateVolumePermission=expected_permission, OperationType='add', UserIds=expected_user_ids ) mock_snapshot.describe_attribute.assert_called_once_with( Attribute='createVolumePermission' )
def test_add_snapshot_ownership_success(self): """Assert that snapshot ownership is modified successfully.""" mock_user_id = str(uuid.uuid4()) mock_snapshot = helper.generate_mock_snapshot() mock_snapshot.describe_attribute.return_value = { 'CreateVolumePermissions': [{ 'UserId': mock_user_id }], } with patch.object(ec2, '_get_primary_account_id') as mock_get_acct_id: mock_get_acct_id.return_value = mock_user_id actual_modified = ec2.add_snapshot_ownership(mock_snapshot) self.assertIsNone(actual_modified) expected_permission = {'Add': [{'UserId': mock_user_id}]} expected_user_ids = [mock_user_id] mock_snapshot.modify_attribute.assert_called_once_with( Attribute='createVolumePermission', CreateVolumePermission=expected_permission, OperationType='add', UserIds=expected_user_ids) mock_snapshot.describe_attribute.assert_called_once_with( Attribute='createVolumePermission')