blob: 1d8fa285fda5e8dabd4128ca04749674091c6d13 [file] [log] [blame]
package org.apache.continuum.purge;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import org.apache.continuum.model.repository.DirectoryPurgeConfiguration;
import org.apache.continuum.model.repository.RepositoryPurgeConfiguration;
import org.apache.continuum.purge.repository.content.ManagedDefaultRepositoryContent;
import org.apache.continuum.purge.repository.content.RepositoryManagedContent;
import java.util.List;
/**
* @author Maria Catherine Tan
*/
public class DefaultPurgeConfigurationServiceTest
extends AbstractPurgeTest
{
private PurgeConfigurationService purgeConfigurationService;
protected void setUp()
throws Exception
{
super.setUp();
purgeConfigurationService = (PurgeConfigurationService) lookup( PurgeConfigurationService.ROLE );
}
public void testRepositoryPurgeConfiguration()
throws Exception
{
RepositoryPurgeConfiguration repoConfig = new RepositoryPurgeConfiguration();
repoConfig.setRepository( defaultRepository );
repoConfig.setDaysOlder( TEST_DAYS_OLDER );
repoConfig.setRetentionCount( TEST_RETENTION_COUNT );
repoConfig = purgeConfigurationService.addRepositoryPurgeConfiguration( repoConfig );
assertNotNull( repoConfig );
RepositoryPurgeConfiguration retrieved =
repositoryPurgeConfigurationDao.getRepositoryPurgeConfiguration( repoConfig.getId() );
assertEquals( repoConfig, retrieved );
purgeConfigurationService.removeRepositoryPurgeConfiguration( repoConfig );
List<RepositoryPurgeConfiguration> repoConfigs =
purgeConfigurationService.getAllRepositoryPurgeConfigurations();
assertFalse( "check if repo purge configuration was removed", repoConfigs.contains( repoConfig ) );
assertNotNull( "check if repository still exists",
localRepositoryDao.getLocalRepository( defaultRepository.getId() ) );
}
public void testDirectoryPurgeConfiguration()
throws Exception
{
DirectoryPurgeConfiguration dirConfig = new DirectoryPurgeConfiguration();
dirConfig.setLocation( getReleasesDirectoryLocation().getAbsolutePath() );
dirConfig.setDirectoryType( TEST_RELEASES_DIRECTORY_TYPE );
dirConfig.setDaysOlder( TEST_DAYS_OLDER );
dirConfig.setRetentionCount( TEST_RETENTION_COUNT );
dirConfig = purgeConfigurationService.addDirectoryPurgeConfiguration( dirConfig );
assertNotNull( dirConfig );
DirectoryPurgeConfiguration retrieved =
directoryPurgeConfigurationDao.getDirectoryPurgeConfiguration( dirConfig.getId() );
assertEquals( dirConfig, retrieved );
dirConfig.setDirectoryType( TEST_BUILDOUTPUT_DIRECTORY_TYPE );
purgeConfigurationService.updateDirectoryPurgeConfiguration( dirConfig );
retrieved = directoryPurgeConfigurationDao.getDirectoryPurgeConfiguration( dirConfig.getId() );
assertEquals( dirConfig, retrieved );
purgeConfigurationService.removeDirectoryPurgeConfiguration( dirConfig );
List<DirectoryPurgeConfiguration> dirConfigs = purgeConfigurationService.getAllDirectoryPurgeConfigurations();
assertFalse( "check if dir purge configuration was removed", dirConfigs.contains( dirConfig ) );
}
public void testRepositoryManagedContent()
throws Exception
{
RepositoryManagedContent repo =
purgeConfigurationService.getManagedRepositoryContent( defaultRepository.getId() );
assertTrue( "check repository managed content", ( repo instanceof ManagedDefaultRepositoryContent ) );
assertEquals( "check repository of the managed content", defaultRepository, repo.getRepository() );
}
}