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.RepositoryPurgeConfiguration;
24 import org.apache.continuum.purge.repository.content.ManagedDefaultRepositoryContent;
25 import org.apache.continuum.purge.repository.content.RepositoryManagedContent;
26
27 import java.util.List;
28
29
30
31
32 public class DefaultPurgeConfigurationServiceTest
33 extends AbstractPurgeTest
34 {
35 private PurgeConfigurationService purgeConfigurationService;
36
37 protected void setUp()
38 throws Exception
39 {
40 super.setUp();
41
42 purgeConfigurationService = (PurgeConfigurationService) lookup( PurgeConfigurationService.ROLE );
43 }
44
45 public void testRepositoryPurgeConfiguration()
46 throws Exception
47 {
48 RepositoryPurgeConfiguration repoConfig = new RepositoryPurgeConfiguration();
49
50 repoConfig.setRepository( defaultRepository );
51 repoConfig.setDaysOlder( TEST_DAYS_OLDER );
52 repoConfig.setRetentionCount( TEST_RETENTION_COUNT );
53
54 repoConfig = purgeConfigurationService.addRepositoryPurgeConfiguration( repoConfig );
55
56 assertNotNull( repoConfig );
57
58 RepositoryPurgeConfiguration retrieved =
59 repositoryPurgeConfigurationDao.getRepositoryPurgeConfiguration( repoConfig.getId() );
60 assertEquals( repoConfig, retrieved );
61
62 purgeConfigurationService.removeRepositoryPurgeConfiguration( repoConfig );
63
64 List<RepositoryPurgeConfiguration> repoConfigs =
65 purgeConfigurationService.getAllRepositoryPurgeConfigurations();
66
67 assertFalse( "check if repo purge configuration was removed", repoConfigs.contains( repoConfig ) );
68 assertNotNull( "check if repository still exists",
69 localRepositoryDao.getLocalRepository( defaultRepository.getId() ) );
70 }
71
72 public void testDirectoryPurgeConfiguration()
73 throws Exception
74 {
75 DirectoryPurgeConfiguration dirConfig = new DirectoryPurgeConfiguration();
76
77 dirConfig.setLocation( getReleasesDirectoryLocation().getAbsolutePath() );
78 dirConfig.setDirectoryType( TEST_RELEASES_DIRECTORY_TYPE );
79 dirConfig.setDaysOlder( TEST_DAYS_OLDER );
80 dirConfig.setRetentionCount( TEST_RETENTION_COUNT );
81
82 dirConfig = purgeConfigurationService.addDirectoryPurgeConfiguration( dirConfig );
83
84 assertNotNull( dirConfig );
85
86 DirectoryPurgeConfiguration retrieved =
87 directoryPurgeConfigurationDao.getDirectoryPurgeConfiguration( dirConfig.getId() );
88 assertEquals( dirConfig, retrieved );
89
90 dirConfig.setDirectoryType( TEST_BUILDOUTPUT_DIRECTORY_TYPE );
91 purgeConfigurationService.updateDirectoryPurgeConfiguration( dirConfig );
92 retrieved = directoryPurgeConfigurationDao.getDirectoryPurgeConfiguration( dirConfig.getId() );
93 assertEquals( dirConfig, retrieved );
94
95 purgeConfigurationService.removeDirectoryPurgeConfiguration( dirConfig );
96
97 List<DirectoryPurgeConfiguration> dirConfigs = purgeConfigurationService.getAllDirectoryPurgeConfigurations();
98 assertFalse( "check if dir purge configuration was removed", dirConfigs.contains( dirConfig ) );
99 }
100
101 public void testRepositoryManagedContent()
102 throws Exception
103 {
104 RepositoryManagedContent repo =
105 purgeConfigurationService.getManagedRepositoryContent( defaultRepository.getId() );
106
107 assertTrue( "check repository managed content", ( repo instanceof ManagedDefaultRepositoryContent ) );
108 assertEquals( "check repository of the managed content", defaultRepository, repo.getRepository() );
109 }
110 }