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.ValidateClassesTask;
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 ValidateClassesTaskTest extends ClassFileProcessorTaskTest
52 {
53
54
55 public ValidateClassesTaskTest()
56 {
57 super();
58 }
59
60
61 @Override
62 public ValidateClassesTask getJomcTask()
63 {
64 return (ValidateClassesTask) super.getJomcTask();
65 }
66
67
68 @Override
69 protected ValidateClassesTask newJomcTask()
70 {
71 return new ValidateClassesTask();
72 }
73
74
75 @Override
76 protected String getBuildFileName()
77 {
78 return "validate-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 testSpecificationNotFound() throws Exception
91 {
92 final AntExecutionResult r = this.executeTarget( "test-specification-not-found" );
93 assertNoException( r );
94 assertMessageLogged( r, "Specification 'DOES NOT EXIST' not found.", Project.MSG_WARN );
95 }
96
97 @Test
98 public final void testImplementationNotFound() throws Exception
99 {
100 final AntExecutionResult r = this.executeTarget( "test-implementation-not-found" );
101 assertNoException( r );
102 assertMessageLogged( r, "Implementation 'DOES NOT EXIST' not found.", Project.MSG_WARN );
103 }
104
105 @Test
106 public final void testModuleNotFound() throws Exception
107 {
108 final AntExecutionResult r = this.executeTarget( "test-module-not-found" );
109 assertNoException( r );
110 assertMessageLogged( r, "Module 'DOES NOT EXIST' not found.", Project.MSG_WARN );
111 }
112
113 @Test
114 public final void testClassProcessingDisabled() throws Exception
115 {
116 final AntExecutionResult r = this.executeTarget( "test-class-processing-disabled" );
117 assertNoException( r );
118 assertMessageLogged( r, "Class file processing disabled.", Project.MSG_INFO );
119 }
120
121 @Test
122 public final void testValidateAntTasks() throws Exception
123 {
124 final AntExecutionResult r = this.executeTarget( "test-validate-ant-tasks" );
125 assertNoException( r );
126 }
127
128 @Test
129 public final void testValidateAntTasksWithRedundantResources() throws Exception
130 {
131 final AntExecutionResult r = this.executeTarget( "test-validate-ant-tasks-with-redundant-resources" );
132 assertNoException( r );
133 }
134
135 @Test
136 public final void testValidateIllegalAntTasks() throws Exception
137 {
138 final AntExecutionResult r = this.executeTarget( "test-validate-illegal-ant-tasks" );
139 assertException( r, ClassProcessingException.class );
140 }
141
142 @Test
143 public final void testValidateOneSpecification() throws Exception
144 {
145 final AntExecutionResult r = this.executeTarget( "test-validate-one-specification" );
146 assertNoException( r );
147 assertMessageNotLogged( r, "Specification 'org.jomc.ant.test.JomcTask' not found." );
148 }
149
150 @Test
151 public final void testValidateOneIllegalSpecification() throws Exception
152 {
153 final AntExecutionResult r = this.executeTarget( "test-validate-one-illegal-specification" );
154 assertException( r, ClassProcessingException.class );
155 }
156
157 @Test
158 public final void testValidateOneImplementation() throws Exception
159 {
160 final AntExecutionResult r = this.executeTarget( "test-validate-one-implementation" );
161 assertNoException( r );
162 assertMessageNotLogged( r, "Implementation 'org.jomc.ant.test.JomcToolTask' not found." );
163 }
164
165 @Test
166 public final void testValidateOneIllegalImplementation() throws Exception
167 {
168 final AntExecutionResult r = this.executeTarget( "test-validate-one-illegal-implementation" );
169 assertException( r, ClassProcessingException.class );
170 }
171
172 @Test
173 public final void testValidateOneModule() throws Exception
174 {
175 final AntExecutionResult r = this.executeTarget( "test-validate-one-module" );
176 assertNoException( r );
177 assertMessageNotLogged( r, "Module 'JOMC Ant Tasks Tests' not found." );
178 }
179
180 @Test
181 public final void testValidateOneIllegalModule() throws Exception
182 {
183 final AntExecutionResult r = this.executeTarget( "test-validate-one-illegal-module" );
184 assertException( r, ClassProcessingException.class );
185 }
186
187 @Test
188 public final void testValidateAntTasksWithClasspathref() throws Exception
189 {
190 final AntExecutionResult r = this.executeTarget( "test-validate-ant-tasks-with-classpathref" );
191 assertNoException( r );
192 }
193
194 @Test
195 public final void testValidateAntTasksWithNestedClasspath() throws Exception
196 {
197 final AntExecutionResult r = this.executeTarget( "test-validate-ant-tasks-with-nested-classpath" );
198 assertNoException( r );
199 }
200
201 @Test
202 public final void testValidateAntTasksDeprecatedAttributes() throws Exception
203 {
204 final AntExecutionResult r = this.executeTarget( "test-validate-ant-tasks-deprecated-attributes" );
205 assertNoException( r );
206 }
207
208 @Test
209 public final void testValidateAntTasksAllAttributes() throws Exception
210 {
211 final AntExecutionResult r = this.executeTarget( "test-validate-ant-tasks-all-attributes" );
212 assertNoException( r );
213 }
214
215 @Test
216 public final void testValidateAntTasksBrokenModel() throws Exception
217 {
218 final AntExecutionResult r = this.executeTarget( "test-validate-ant-tasks-broken-model" );
219 assertException( r, ClassProcessingException.class );
220 }
221
222 }