1 package org.apache.continuum.purge;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.continuum.model.repository.DirectoryPurgeConfiguration;
23 import org.apache.continuum.model.repository.DistributedDirectoryPurgeConfiguration;
24 import org.apache.continuum.model.repository.RepositoryPurgeConfiguration;
25 import org.apache.continuum.purge.repository.content.ManagedDefaultRepositoryContent;
26 import org.apache.continuum.purge.repository.content.RepositoryManagedContent;
27
28 import java.util.List;
29
30
31
32
33 public class DefaultPurgeConfigurationServiceTest
34 extends AbstractPurgeTest
35 {
36 private PurgeConfigurationService purgeConfigurationService;
37
38 protected void setUp()
39 throws Exception
40 {
41 super.setUp();
42
43 purgeConfigurationService = (PurgeConfigurationService) lookup( PurgeConfigurationService.ROLE );
44 }
45
46 public void testRepositoryPurgeConfiguration()
47 throws Exception
48 {
49 RepositoryPurgeConfiguration repoConfig = new RepositoryPurgeConfiguration();
50
51 repoConfig.setRepository( defaultRepository );
52 repoConfig.setDaysOlder( TEST_DAYS_OLDER );
53 repoConfig.setRetentionCount( TEST_RETENTION_COUNT );
54
55 repoConfig = purgeConfigurationService.addRepositoryPurgeConfiguration( repoConfig );
56
57 assertNotNull( repoConfig );
58
59 RepositoryPurgeConfiguration retrieved = repositoryPurgeConfigurationDao.getRepositoryPurgeConfiguration(
60 repoConfig.getId() );
61 assertEquals( repoConfig, retrieved );
62
63 purgeConfigurationService.removeRepositoryPurgeConfiguration( repoConfig );
64
65 List<RepositoryPurgeConfiguration> repoConfigs =
66 purgeConfigurationService.getAllRepositoryPurgeConfigurations();
67
68 assertFalse( "check if repo purge configuration was removed", repoConfigs.contains( repoConfig ) );
69 assertNotNull( "check if repository still exists", localRepositoryDao.getLocalRepository(
70 defaultRepository.getId() ) );
71 }
72
73 public void testDirectoryPurgeConfiguration()
74 throws Exception
75 {
76 DirectoryPurgeConfiguration dirConfig = new DirectoryPurgeConfiguration();
77
78 dirConfig.setLocation( getReleasesDirectoryLocation().getAbsolutePath() );
79 dirConfig.setDirectoryType( TEST_RELEASES_DIRECTORY_TYPE );
80 dirConfig.setDaysOlder( TEST_DAYS_OLDER );
81 dirConfig.setRetentionCount( TEST_RETENTION_COUNT );
82
83 dirConfig = purgeConfigurationService.addDirectoryPurgeConfiguration( dirConfig );
84
85 assertNotNull( dirConfig );
86
87 DirectoryPurgeConfiguration retrieved = directoryPurgeConfigurationDao.getDirectoryPurgeConfiguration(
88 dirConfig.getId() );
89 assertEquals( dirConfig, retrieved );
90
91 dirConfig.setDirectoryType( TEST_BUILDOUTPUT_DIRECTORY_TYPE );
92 purgeConfigurationService.updateDirectoryPurgeConfiguration( dirConfig );
93 retrieved = directoryPurgeConfigurationDao.getDirectoryPurgeConfiguration( dirConfig.getId() );
94 assertEquals( dirConfig, retrieved );
95
96 purgeConfigurationService.removeDirectoryPurgeConfiguration( dirConfig );
97
98 List<DirectoryPurgeConfiguration> dirConfigs = purgeConfigurationService.getAllDirectoryPurgeConfigurations();
99 assertFalse( "check if dir purge configuration was removed", dirConfigs.contains( dirConfig ) );
100 }
101
102 public void testDistributedDirectoryPurgeConfiguration()
103 throws Exception
104 {
105 DistributedDirectoryPurgeConfiguration dirConfig = new DistributedDirectoryPurgeConfiguration();
106
107 dirConfig.setBuildAgentUrl( TEST_BUILD_AGENT_URL );
108 dirConfig.setDirectoryType( TEST_RELEASES_DIRECTORY_TYPE );
109 dirConfig.setDaysOlder( TEST_DAYS_OLDER );
110 dirConfig.setRetentionCount( TEST_RETENTION_COUNT );
111
112 dirConfig = purgeConfigurationService.addDistributedDirectoryPurgeConfiguration( dirConfig );
113
114 assertNotNull( dirConfig );
115
116 DistributedDirectoryPurgeConfiguration retrieved =
117 distributedDirectoryPurgeConfigurationDao.getDistributedDirectoryPurgeConfiguration( dirConfig.getId() );
118 assertEquals( dirConfig, retrieved );
119
120 dirConfig.setDirectoryType( TEST_WORKING_DIRECTORY_TYPE );
121 purgeConfigurationService.updateDistributedDirectoryPurgeConfiguration( dirConfig );
122 retrieved = distributedDirectoryPurgeConfigurationDao.getDistributedDirectoryPurgeConfiguration(
123 dirConfig.getId() );
124 assertEquals( dirConfig, retrieved );
125
126 purgeConfigurationService.removeDistributedDirectoryPurgeConfiguration( dirConfig );
127
128 List<DistributedDirectoryPurgeConfiguration> dirConfigs =
129 purgeConfigurationService.getAllDistributedDirectoryPurgeConfigurations();
130 assertFalse( "check if dir purge configuration was removed", dirConfigs.contains( dirConfig ) );
131 }
132
133 public void testRepositoryManagedContent()
134 throws Exception
135 {
136 RepositoryManagedContent repo = purgeConfigurationService.getManagedRepositoryContent(
137 defaultRepository.getId() );
138
139 assertTrue( "check repository managed content", ( repo instanceof ManagedDefaultRepositoryContent ) );
140 assertEquals( "check repository of the managed content", defaultRepository, repo.getRepository() );
141 }
142 }