1 package org.apache.maven.archiva.consumers.database;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.codehaus.plexus.cache.Cache;
23 import org.easymock.MockControl;
24 import org.apache.maven.archiva.database.ProjectModelDAO;
25 import org.apache.maven.archiva.model.ArchivaArtifact;
26 import org.apache.maven.archiva.model.ArchivaProjectModel;
27
28
29
30
31
32 public class DatabaseCleanupRemoveProjectConsumerTest
33 extends AbstractDatabaseCleanupTest
34 {
35 private MockControl projectModelDAOControl;
36
37 private ProjectModelDAO projectModelDAOMock;
38
39 private DatabaseCleanupRemoveProjectConsumer dbCleanupRemoveProjectConsumer;
40
41 private Cache effectiveProjectCache;
42
43 public void setUp()
44 throws Exception
45 {
46 super.setUp();
47
48 dbCleanupRemoveProjectConsumer = new DatabaseCleanupRemoveProjectConsumer();
49
50 projectModelDAOControl = MockControl.createControl( ProjectModelDAO.class );
51
52 projectModelDAOMock = (ProjectModelDAO) projectModelDAOControl.getMock();
53
54 effectiveProjectCache = (Cache) lookup( Cache.class, "effective-project-cache" );
55
56 dbCleanupRemoveProjectConsumer.setProjectModelDAO( projectModelDAOMock );
57
58 dbCleanupRemoveProjectConsumer.setRepositoryFactory( repositoryFactory );
59
60 dbCleanupRemoveProjectConsumer.setEffectiveProjectCache( effectiveProjectCache );
61 }
62
63 public void testIfArtifactWasNotDeleted()
64 throws Exception
65 {
66 ArchivaArtifact artifact = createArtifact( TEST_GROUP_ID, "do-not-cleanup-artifact-test", TEST_VERSION, "pom" );
67
68 projectModelDAOControl.replay();
69
70 dbCleanupRemoveProjectConsumer.processArchivaArtifact( artifact );
71
72 projectModelDAOControl.verify();
73 }
74
75 public void testIfArtifactWasDeleted()
76 throws Exception
77 {
78 ArchivaArtifact artifact = createArtifact( TEST_GROUP_ID, TEST_ARTIFACT_ID, TEST_VERSION, "pom" );
79
80 ArchivaProjectModel projectModel = createProjectModel( TEST_GROUP_ID, TEST_ARTIFACT_ID, TEST_VERSION );
81
82
83 projectModelDAOControl.expectAndReturn(
84 projectModelDAOMock.getProjectModel( TEST_GROUP_ID, TEST_ARTIFACT_ID, TEST_VERSION ),
85 (ArchivaProjectModel) projectModel );
86
87 projectModelDAOMock.deleteProjectModel( projectModel );
88
89 projectModelDAOControl.replay();
90
91 dbCleanupRemoveProjectConsumer.processArchivaArtifact( artifact );
92
93 projectModelDAOControl.verify();
94 }
95
96 public void testIfArtifactWasNotAPom()
97 throws Exception
98 {
99 ArchivaArtifact artifact = createArtifact( TEST_GROUP_ID, "do-not-cleanup-artifact-test", TEST_VERSION, "jar" );
100
101 projectModelDAOControl.replay();
102
103 dbCleanupRemoveProjectConsumer.processArchivaArtifact( artifact );
104
105 projectModelDAOControl.verify();
106 }
107
108 public void tearDown()
109 throws Exception
110 {
111 super.tearDown();
112 }
113
114 }