1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 package org.jomc.ant.test;
32
33 import org.apache.tools.ant.BuildException;
34 import org.apache.tools.ant.Project;
35 import org.jomc.ant.ClassProcessingException;
36 import org.jomc.ant.CommitClassesTask;
37 import org.jomc.ant.test.support.AntExecutionResult;
38 import static org.jomc.ant.test.support.Assert.assertException;
39 import static org.jomc.ant.test.support.Assert.assertExceptionMessage;
40 import static org.jomc.ant.test.support.Assert.assertMessageLogged;
41 import static org.jomc.ant.test.support.Assert.assertMessageNotLogged;
42 import static org.jomc.ant.test.support.Assert.assertNoException;
43 import org.junit.Test;
44
45
46
47
48
49
50
51 public class CommitClassesTaskTest extends ClassFileProcessorTaskTest
52 {
53
54
55 public CommitClassesTaskTest()
56 {
57 super();
58 }
59
60
61 @Override
62 public CommitClassesTask getJomcTask()
63 {
64 return (CommitClassesTask) super.getJomcTask();
65 }
66
67
68 @Override
69 protected CommitClassesTask newJomcTask()
70 {
71 return new CommitClassesTask();
72 }
73
74
75 @Override
76 protected String getBuildFileName()
77 {
78 return "commit-classes-test.xml";
79 }
80
81 @Test
82 public final void testMissingClassesDirectory() throws Exception
83 {
84 final AntExecutionResult r = this.executeTarget( "test-missing-classes-directory" );
85 assertException( r, BuildException.class );
86 assertExceptionMessage( r, "Mandatory attribute 'classesDirectory' is missing a value." );
87 }
88
89 @Test
90 public final void testStylesheetMissingLocationKey() throws Exception
91 {
92 final AntExecutionResult r = this.executeTarget( "test-stylesheet-missing-location" );
93 assertException( r, BuildException.class );
94 assertExceptionMessage( r, "Mandatory attribute 'location' is missing a value." );
95 }
96
97 @Test
98 public final void testStylesheetNotFound() throws Exception
99 {
100 final AntExecutionResult r = this.executeTarget( "test-stylesheet-not-found" );
101 assertException( r, BuildException.class );
102 assertExceptionMessage( r, "XSLT document 'DOES_NOT_EXIST' not found." );
103 }
104
105 @Test
106 public final void testOptionalStylesheetNotFound() throws Exception
107 {
108 final AntExecutionResult r = this.executeTarget( "test-optional-stylesheet-not-found" );
109 assertNoException( r );
110 assertMessageLogged( r, "XSLT document 'DOES_NOT_EXIST' not found." );
111 }
112
113 @Test
114 public final void testSpecificationNotFound() throws Exception
115 {
116 final AntExecutionResult r = this.executeTarget( "test-specification-not-found" );
117 assertNoException( r );
118 assertMessageLogged( r, "Specification 'DOES NOT EXIST' not found.", Project.MSG_WARN );
119 }
120
121 @Test
122 public final void testImplementationNotFound() throws Exception
123 {
124 final AntExecutionResult r = this.executeTarget( "test-implementation-not-found" );
125 assertNoException( r );
126 assertMessageLogged( r, "Implementation 'DOES NOT EXIST' not found.", Project.MSG_WARN );
127 }
128
129 @Test
130 public final void testModuleNotFound() throws Exception
131 {
132 final AntExecutionResult r = this.executeTarget( "test-module-not-found" );
133 assertNoException( r );
134 assertMessageLogged( r, "Module 'DOES NOT EXIST' not found.", Project.MSG_WARN );
135 }
136
137 @Test
138 public final void testClassProcessingDisabled() throws Exception
139 {
140 final AntExecutionResult r = this.executeTarget( "test-class-processing-disabled" );
141 assertNoException( r );
142 assertMessageLogged( r, "Class file processing disabled.", Project.MSG_INFO );
143 }
144
145 @Test
146 public final void testCommitAntTasks() throws Exception
147 {
148 final AntExecutionResult r = this.executeTarget( "test-commit-ant-tasks" );
149 assertNoException( r );
150 assertMessageLogged( r, "Class file processing successful.", Project.MSG_INFO );
151 }
152
153 @Test
154 public final void testCommitAntTasksWithNoopStylesheet() throws Exception
155 {
156 final AntExecutionResult r = this.executeTarget( "test-commit-ant-tasks-with-no-op-stylesheet" );
157 assertNoException( r );
158 assertMessageLogged( r, "Class file processing successful.", Project.MSG_INFO );
159 }
160
161 @Test
162 public final void testCommitAntTasksWithRedundantResources() throws Exception
163 {
164 final AntExecutionResult r = this.executeTarget( "test-commit-ant-tasks-with-redundant-resources" );
165 assertNoException( r );
166 assertMessageLogged( r, "Class file processing successful.", Project.MSG_INFO );
167 }
168
169 @Test
170 public final void testCommitOneSpecification() throws Exception
171 {
172 final AntExecutionResult r = this.executeTarget( "test-commit-one-specification" );
173 assertNoException( r );
174 assertMessageLogged( r, "Class file processing successful.", Project.MSG_INFO );
175 assertMessageNotLogged( r, "Specification 'org.jomc.ant.test.JomcTask' not found." );
176 }
177
178 @Test
179 public final void testCommitOneImplementation() throws Exception
180 {
181 final AntExecutionResult r = this.executeTarget( "test-commit-one-implementation" );
182 assertNoException( r );
183 assertMessageLogged( r, "Class file processing successful.", Project.MSG_INFO );
184 assertMessageNotLogged( r, "Implementation 'org.jomc.ant.test.JomcToolTask' not found." );
185 }
186
187 @Test
188 public final void testCommitOneModule() throws Exception
189 {
190 final AntExecutionResult r = this.executeTarget( "test-commit-one-module" );
191 assertNoException( r );
192 assertMessageLogged( r, "Class file processing successful.", Project.MSG_INFO );
193 assertMessageNotLogged( r, "Module 'JOMC Ant Tasks Tests' not found." );
194 }
195
196 @Test
197 public final void testCommitOneSpecificationWithNoopStylesheet() throws Exception
198 {
199 final AntExecutionResult r = this.executeTarget( "test-commit-one-specification-with-no-op-stylesheet" );
200 assertNoException( r );
201 assertMessageLogged( r, "Class file processing successful.", Project.MSG_INFO );
202 assertMessageNotLogged( r, "Specification 'org.jomc.ant.test.JomcTask' not found." );
203 }
204
205 @Test
206 public final void testCommitOneImplementationWithNoopStylesheet() throws Exception
207 {
208 final AntExecutionResult r = this.executeTarget( "test-commit-one-implementation-with-no-op-stylesheet" );
209 assertNoException( r );
210 assertMessageLogged( r, "Class file processing successful.", Project.MSG_INFO );
211 assertMessageNotLogged( r, "Implementation 'org.jomc.ant.test.JomcToolTask' not found." );
212 }
213
214 @Test
215 public final void testCommitOneModuleWithNoopStylesheet() throws Exception
216 {
217 final AntExecutionResult r = this.executeTarget( "test-commit-one-module-with-no-op-stylesheet" );
218 assertNoException( r );
219 assertMessageLogged( r, "Class file processing successful.", Project.MSG_INFO );
220 assertMessageNotLogged( r, "Module 'JOMC Ant Tasks Tests' not found." );
221 }
222
223 @Test
224 public final void testCommitAntTasksWithClasspathref() throws Exception
225 {
226 final AntExecutionResult r = this.executeTarget( "test-commit-ant-tasks-with-classpathref" );
227 assertNoException( r );
228 assertMessageLogged( r, "Class file processing successful.", Project.MSG_INFO );
229 }
230
231 @Test
232 public final void testCommitAntTasksWithNestedClasspath() throws Exception
233 {
234 final AntExecutionResult r = this.executeTarget( "test-commit-ant-tasks-with-nested-classpath" );
235 assertNoException( r );
236 assertMessageLogged( r, "Class file processing successful.", Project.MSG_INFO );
237 }
238
239 @Test
240 public final void testCommitAntTasksDeprecatedAttributes() throws Exception
241 {
242 final AntExecutionResult r = this.executeTarget( "test-commit-ant-tasks-deprecated-attributes" );
243 assertNoException( r );
244 assertMessageLogged( r, "Class file processing successful.", Project.MSG_INFO );
245 }
246
247 @Test
248 public final void testCommitAntTasksAllAttributes() throws Exception
249 {
250 final AntExecutionResult r = this.executeTarget( "test-commit-ant-tasks-all-attributes" );
251 assertNoException( r );
252 assertMessageLogged( r, "Class file processing successful.", Project.MSG_INFO );
253 }
254
255 @Test
256 public final void testCommitAntTasksBrokenModel() throws Exception
257 {
258 final AntExecutionResult r = this.executeTarget( "test-commit-ant-tasks-broken-model" );
259 assertException( r, ClassProcessingException.class );
260 }
261
262 }