1 package org.apache.maven.archiva.database.constraints;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.archiva.database.AbstractArchivaDatabaseTestCase;
23 import org.apache.maven.archiva.database.ArchivaDAO;
24 import org.apache.maven.archiva.database.Constraint;
25 import org.apache.maven.archiva.database.RepositoryProblemDAO;
26 import org.apache.maven.archiva.model.RepositoryProblem;
27
28 import java.util.List;
29
30
31
32
33 public class RepositoryProblemByRepositoryIdConstraintTest
34 extends AbstractArchivaDatabaseTestCase
35 {
36 private static final String REPO_ID_1 = "test-repo-1";
37
38 private static final String REPO_ID_2 = "test-repo-2";
39
40 private static final String REPO_ID_3 = "test-repo-3";
41
42 private RepositoryProblemDAO repoProblemDao;
43
44 protected void setUp()
45 throws Exception
46 {
47 super.setUp();
48
49 ArchivaDAO dao = (ArchivaDAO) lookup( ArchivaDAO.ROLE, "jdo" );
50 repoProblemDao = dao.getRepositoryProblemDAO();
51 }
52
53 public RepositoryProblem createRepoProblem( String repoId )
54 {
55 RepositoryProblem repoProblem = new RepositoryProblem();
56
57 repoProblem.setGroupId( "groupId" );
58 repoProblem.setArtifactId( "artifactId" );
59 repoProblem.setMessage( "message" );
60 repoProblem.setOrigin( "origin" );
61 repoProblem.setPath( "path" );
62 repoProblem.setRepositoryId( repoId );
63 repoProblem.setType( "type" );
64 repoProblem.setVersion( "version" );
65
66 return repoProblem;
67 }
68
69 public void testConstraint()
70 throws Exception
71 {
72 repoProblemDao.saveRepositoryProblem( createRepoProblem( REPO_ID_1 ) );
73
74 repoProblemDao.saveRepositoryProblem( createRepoProblem( REPO_ID_2 ) );
75 repoProblemDao.saveRepositoryProblem( createRepoProblem( REPO_ID_2 ) );
76
77 repoProblemDao.saveRepositoryProblem( createRepoProblem( REPO_ID_3 ) );
78 repoProblemDao.saveRepositoryProblem( createRepoProblem( REPO_ID_3 ) );
79 repoProblemDao.saveRepositoryProblem( createRepoProblem( REPO_ID_3 ) );
80
81 assertConstraint( 1, new RepositoryProblemByRepositoryIdConstraint( REPO_ID_1 ) );
82 assertConstraint( 2, new RepositoryProblemByRepositoryIdConstraint( REPO_ID_2 ) );
83 assertConstraint( 3, new RepositoryProblemByRepositoryIdConstraint( REPO_ID_3 ) );
84 }
85
86 private void assertConstraint( int expectedHits, Constraint constraint )
87 throws Exception
88 {
89 List<RepositoryProblem> results = repoProblemDao.queryRepositoryProblems( constraint );
90 assertNotNull( "Repository Problems by Repository Id: Not Null", results );
91 assertEquals( "Repository Problems by Repository Id: Results.size", expectedHits, results.size() );
92 }
93 }