]> source.dussan.org Git - archiva.git/blob
7cd3b94bf481def0088f6ac13499c112cd52a6a9
[archiva.git] /
1 package org.apache.maven.archiva.reporting;
2
3 /*
4  * Copyright 2005-2006 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 import org.apache.maven.artifact.Artifact;
20 import org.apache.maven.artifact.factory.ArtifactFactory;
21 import org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata;
22 import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
23 import org.apache.maven.artifact.repository.metadata.Versioning;
24
25 import java.util.Iterator;
26
27 /**
28  *
29  */
30 public class DefaultArtifactReporterTest
31     extends AbstractRepositoryReportsTestCase
32 {
33     private ArtifactReporter reporter;
34
35     private Artifact artifact;
36
37     private RepositoryMetadata metadata;
38
39     public void testEmptyArtifactReporter()
40     {
41         assertEquals( "No failures", 0, reporter.getNumFailures() );
42         assertEquals( "No warnings", 0, reporter.getNumWarnings() );
43         assertEquals( "No successes", 0, reporter.getNumSuccesses() );
44         assertFalse( "No artifact failures", reporter.getArtifactFailureIterator().hasNext() );
45         assertFalse( "No artifact warnings", reporter.getArtifactWarningIterator().hasNext() );
46         assertFalse( "No artifact successes", reporter.getArtifactSuccessIterator().hasNext() );
47         assertFalse( "No metadata failures", reporter.getRepositoryMetadataFailureIterator().hasNext() );
48         assertFalse( "No metadata warnings", reporter.getRepositoryMetadataWarningIterator().hasNext() );
49         assertFalse( "No metadata successes", reporter.getRepositoryMetadataSuccessIterator().hasNext() );
50     }
51
52     public void testMetadataSingleFailure()
53     {
54         reporter.addFailure( metadata, "Single Failure Reason" );
55         assertEquals( "failures count", 1, reporter.getNumFailures() );
56         assertEquals( "warnings count", 0, reporter.getNumWarnings() );
57         assertEquals( "successes count", 0, reporter.getNumSuccesses() );
58
59         Iterator results = reporter.getRepositoryMetadataFailureIterator();
60         assertTrue( "must have failures", results.hasNext() );
61         RepositoryMetadataResult result = (RepositoryMetadataResult) results.next();
62         assertEquals( "check failure cause", metadata, result.getMetadata() );
63         assertEquals( "check failure reason", "Single Failure Reason", result.getReason() );
64         assertFalse( "no more failures", results.hasNext() );
65     }
66
67     public void testMetadataMultipleFailures()
68     {
69         reporter.addFailure( metadata, "First Failure Reason" );
70         reporter.addFailure( metadata, "Second Failure Reason" );
71         assertEquals( "failures count", 2, reporter.getNumFailures() );
72         assertEquals( "warnings count", 0, reporter.getNumWarnings() );
73         assertEquals( "successes count", 0, reporter.getNumSuccesses() );
74
75         Iterator results = reporter.getRepositoryMetadataFailureIterator();
76         assertTrue( "must have failures", results.hasNext() );
77         RepositoryMetadataResult result = (RepositoryMetadataResult) results.next();
78         assertEquals( "check failure cause", metadata, result.getMetadata() );
79         assertEquals( "check failure reason", "First Failure Reason", result.getReason() );
80         assertTrue( "must have 2nd failure", results.hasNext() );
81         result = (RepositoryMetadataResult) results.next();
82         assertEquals( "check failure cause", metadata, result.getMetadata() );
83         assertEquals( "check failure reason", "Second Failure Reason", result.getReason() );
84         assertFalse( "no more failures", results.hasNext() );
85     }
86
87     public void testMetadataSingleWarning()
88     {
89         reporter.addWarning( metadata, "Single Warning Message" );
90         assertEquals( "failures count", 0, reporter.getNumFailures() );
91         assertEquals( "warnings count", 1, reporter.getNumWarnings() );
92         assertEquals( "successes count", 0, reporter.getNumSuccesses() );
93
94         Iterator results = reporter.getRepositoryMetadataWarningIterator();
95         assertTrue( "must have failures", results.hasNext() );
96         RepositoryMetadataResult result = (RepositoryMetadataResult) results.next();
97         assertEquals( "check failure cause", metadata, result.getMetadata() );
98         assertEquals( "check failure reason", "Single Warning Message", result.getReason() );
99         assertFalse( "no more failures", results.hasNext() );
100     }
101
102     public void testMetadataMultipleWarnings()
103     {
104         reporter.addWarning( metadata, "First Warning" );
105         reporter.addWarning( metadata, "Second Warning" );
106         assertEquals( "failures count", 0, reporter.getNumFailures() );
107         assertEquals( "warnings count", 2, reporter.getNumWarnings() );
108         assertEquals( "successes count", 0, reporter.getNumSuccesses() );
109
110         Iterator results = reporter.getRepositoryMetadataWarningIterator();
111         assertTrue( "must have warnings", results.hasNext() );
112         RepositoryMetadataResult result = (RepositoryMetadataResult) results.next();
113         assertEquals( "check failure cause", metadata, result.getMetadata() );
114         assertEquals( "check failure reason", "First Warning", result.getReason() );
115         assertTrue( "must have 2nd warning", results.hasNext() );
116         result = (RepositoryMetadataResult) results.next();
117         assertEquals( "check failure cause", metadata, result.getMetadata() );
118         assertEquals( "check failure reason", "Second Warning", result.getReason() );
119         assertFalse( "no more failures", results.hasNext() );
120     }
121
122     public void testMetadataSingleSuccess()
123     {
124         reporter.addSuccess( metadata );
125         assertEquals( "failures count", 0, reporter.getNumFailures() );
126         assertEquals( "warnings count", 0, reporter.getNumWarnings() );
127         assertEquals( "successes count", 1, reporter.getNumSuccesses() );
128
129         Iterator results = reporter.getRepositoryMetadataSuccessIterator();
130         assertTrue( "must have successes", results.hasNext() );
131         RepositoryMetadataResult result = (RepositoryMetadataResult) results.next();
132         assertEquals( "check success metadata", metadata, result.getMetadata() );
133         assertNull( "check no reason", result.getReason() );
134         assertFalse( "no more failures", results.hasNext() );
135     }
136
137     public void testMetadataMultipleSuccesses()
138     {
139         Versioning versioning = new Versioning();
140         versioning.addVersion( "1.0-beta-1" );
141         versioning.addVersion( "1.0-beta-2" );
142         RepositoryMetadata metadata2 = new ArtifactRepositoryMetadata( artifact, versioning );
143
144         reporter.addSuccess( metadata );
145         reporter.addSuccess( metadata2 );
146         assertEquals( "failures count", 0, reporter.getNumFailures() );
147         assertEquals( "warnings count", 0, reporter.getNumWarnings() );
148         assertEquals( "successes count", 2, reporter.getNumSuccesses() );
149
150         Iterator results = reporter.getRepositoryMetadataSuccessIterator();
151         assertTrue( "must have successes", results.hasNext() );
152         RepositoryMetadataResult result = (RepositoryMetadataResult) results.next();
153         assertEquals( "check success metadata", metadata, result.getMetadata() );
154         assertNull( "check no reason", result.getReason() );
155         assertTrue( "must have 2nd success", results.hasNext() );
156         result = (RepositoryMetadataResult) results.next();
157         assertEquals( "check success metadata", metadata2, result.getMetadata() );
158         assertNull( "check no reason", result.getReason() );
159         assertFalse( "no more successes", results.hasNext() );
160     }
161
162     protected void setUp()
163         throws Exception
164     {
165         super.setUp();
166
167         reporter = new DefaultArtifactReporter();
168         ArtifactFactory artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
169         artifact = artifactFactory.createBuildArtifact( "groupId", "artifactId", "1.0-alpha-1", "type" );
170
171         Versioning versioning = new Versioning();
172         versioning.addVersion( "1.0-alpha-1" );
173         versioning.addVersion( "1.0-alpha-2" );
174     }
175
176     protected void tearDown()
177         throws Exception
178     {
179         super.tearDown();
180
181         reporter = null;
182         metadata = null;
183     }
184 }