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.GenerateResourcesTask;
36 import org.jomc.ant.ResourceProcessingException;
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 GenerateResourcesTaskTest extends ResourceFileProcessorTaskTest
52 {
53
54
55 public GenerateResourcesTaskTest()
56 {
57 super();
58 }
59
60
61 @Override
62 public GenerateResourcesTask getJomcTask()
63 {
64 return (GenerateResourcesTask) super.getJomcTask();
65 }
66
67
68 @Override
69 protected GenerateResourcesTask newJomcTask()
70 {
71 return new GenerateResourcesTask();
72 }
73
74
75 @Override
76 protected String getBuildFileName()
77 {
78 return "generate-resources-test.xml";
79 }
80
81 @Test
82 public final void testMissingResourcesDirectory() throws Exception
83 {
84 final AntExecutionResult r = this.executeTarget( "test-missing-resources-directory" );
85 assertException( r, BuildException.class );
86 assertExceptionMessage( r, "Mandatory attribute 'resourcesDirectory' 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 testResourceProcessingDisabled() throws Exception
115 {
116 final AntExecutionResult r = this.executeTarget( "test-resource-processing-disabled" );
117 assertNoException( r );
118 assertMessageLogged( r, "Resource file processing disabled.", Project.MSG_INFO );
119 }
120
121 @Test
122 public final void testGenerateAntTaskResources() throws Exception
123 {
124 final AntExecutionResult r = this.executeTarget( "test-generate-ant-task-resources" );
125 assertNoException( r );
126 assertMessageLogged( r, "Resource file processing successful.", Project.MSG_INFO );
127 }
128
129 @Test
130 public final void testGenerateAntTaskResourcesWithRedundantResources() throws Exception
131 {
132 final AntExecutionResult r = this.executeTarget( "test-generate-ant-task-resources-with-redundant-resources" );
133 assertNoException( r );
134 assertMessageLogged( r, "Resource file processing successful.", Project.MSG_INFO );
135 }
136
137 @Test
138 public final void testGenerateOneSpecification() throws Exception
139 {
140 final AntExecutionResult r = this.executeTarget( "test-generate-one-specification" );
141 assertNoException( r );
142 assertMessageNotLogged( r, "Specification 'org.jomc.ant.test.JomcTask' not found." );
143 assertMessageLogged( r, "Resource file processing successful.", Project.MSG_INFO );
144 }
145
146 @Test
147 public final void testGenerateOneImplementation() throws Exception
148 {
149 final AntExecutionResult r = this.executeTarget( "test-generate-one-implementation" );
150 assertNoException( r );
151 assertMessageNotLogged( r, "Implementation 'org.jomc.ant.test.JomcToolTask' not found." );
152 assertMessageLogged( r, "Resource file processing successful.", Project.MSG_INFO );
153 }
154
155 @Test
156 public final void testGenerateOneModule() throws Exception
157 {
158 final AntExecutionResult r = this.executeTarget( "test-generate-one-module" );
159 assertNoException( r );
160 assertMessageNotLogged( r, "Module 'JOMC Ant Tasks Tests' not found." );
161 assertMessageLogged( r, "Resource file processing successful.", Project.MSG_INFO );
162 }
163
164 @Test
165 public final void testGenerateAntTaskResourcesWithClasspathref() throws Exception
166 {
167 final AntExecutionResult r = this.executeTarget( "test-generate-ant-task-resources-with-classpathref" );
168 assertNoException( r );
169 assertMessageLogged( r, "Resource file processing successful.", Project.MSG_INFO );
170 }
171
172 @Test
173 public final void testGenerateAntTaskResourcesWithNestedClasspath() throws Exception
174 {
175 final AntExecutionResult r = this.executeTarget( "test-generate-ant-task-resources-with-nested-classpath" );
176 assertNoException( r );
177 assertMessageLogged( r, "Resource file processing successful.", Project.MSG_INFO );
178 }
179
180 @Test
181 public final void testGenerateAntTaskResourcesAllAttributes() throws Exception
182 {
183 final AntExecutionResult r = this.executeTarget( "test-generate-ant-task-resources-all-attributes" );
184 assertNoException( r );
185 assertMessageLogged( r, "Resource file processing successful.", Project.MSG_INFO );
186 }
187
188 @Test
189 public final void testGenerateAntTaskResourcesBrokenModel() throws Exception
190 {
191 final AntExecutionResult r = this.executeTarget( "test-generate-ant-task-resources-broken-model" );
192 assertException( r, ResourceProcessingException.class );
193 }
194
195 }