| package org.apache.continuum.repository; |
| |
| /* |
| * 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.dao.RepositoryPurgeConfigurationDao; |
| import org.apache.continuum.model.repository.LocalRepository; |
| import org.apache.continuum.model.repository.RepositoryPurgeConfiguration; |
| import org.apache.maven.continuum.AbstractContinuumTest; |
| import org.apache.maven.continuum.model.project.ProjectGroup; |
| |
| import java.util.List; |
| |
| /** |
| * @author Maria Catherine Tan |
| * @version $Id$ |
| * @since 25 jul 07 |
| */ |
| public class DefaultRepositoryServiceTest |
| extends AbstractContinuumTest |
| { |
| private RepositoryPurgeConfigurationDao repositoryPurgeConfigurationDao; |
| |
| private RepositoryService repositoryService; |
| |
| private LocalRepository repository; |
| |
| @Override |
| protected void setUp() |
| throws Exception |
| { |
| super.setUp(); |
| |
| repositoryPurgeConfigurationDao = |
| (RepositoryPurgeConfigurationDao) lookup( RepositoryPurgeConfigurationDao.class.getName() ); |
| |
| repositoryService = (RepositoryService) lookup( RepositoryService.ROLE ); |
| |
| setupDefaultRepository(); |
| } |
| |
| public void testRemoveRepository() |
| throws Exception |
| { |
| repositoryService.removeLocalRepository( repository.getId() ); |
| |
| List<LocalRepository> repositories = repositoryService.getAllLocalRepositories(); |
| assertEquals( "check # repositories", 0, repositories.size() ); |
| |
| ProjectGroup group = getDefaultProjectGroup(); |
| assertNull( group.getLocalRepository() ); |
| |
| List<RepositoryPurgeConfiguration> purgeConfigs = |
| repositoryPurgeConfigurationDao.getRepositoryPurgeConfigurationsByLocalRepository( repository.getId() ); |
| assertEquals( "check # purge configs of repository", 0, purgeConfigs.size() ); |
| } |
| |
| private void setupDefaultRepository() |
| throws Exception |
| { |
| repository = new LocalRepository(); |
| repository.setName( "DefaultRepo" ); |
| repository.setLocation( getTestFile( "target/default-repo" ).getAbsolutePath() ); |
| repository = repositoryService.addLocalRepository( repository ); |
| |
| ProjectGroup group = getDefaultProjectGroup(); |
| group.setLocalRepository( repository ); |
| getProjectGroupDao().updateProjectGroup( group ); |
| |
| RepositoryPurgeConfiguration repoConfig = new RepositoryPurgeConfiguration(); |
| repoConfig.setRepository( repository ); |
| repoConfig = repositoryPurgeConfigurationDao.addRepositoryPurgeConfiguration( repoConfig ); |
| |
| List<LocalRepository> repositories = repositoryService.getAllLocalRepositories(); |
| assertEquals( "check # repositories", 1, repositories.size() ); |
| assertTrue( "check if repository was added", repositories.contains( repository ) ); |
| |
| ProjectGroup retrievedGroup = getDefaultProjectGroup(); |
| assertNotNull( retrievedGroup.getLocalRepository() ); |
| assertEquals( "check if repository is the same", repository, retrievedGroup.getLocalRepository() ); |
| |
| List<RepositoryPurgeConfiguration> purgeConfigs = |
| repositoryPurgeConfigurationDao.getRepositoryPurgeConfigurationsByLocalRepository( repository.getId() ); |
| assertEquals( "check # purge configs found", 1, purgeConfigs.size() ); |
| assertEquals( "check if purge configuration is the same", repoConfig, purgeConfigs.get( 0 ) ); |
| } |
| } |