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.MergeModletsTask;
36 import org.jomc.ant.test.support.AntExecutionResult;
37 import static org.jomc.ant.test.support.Assert.assertException;
38 import static org.jomc.ant.test.support.Assert.assertExceptionMessage;
39 import static org.jomc.ant.test.support.Assert.assertExceptionMessageContaining;
40 import static org.jomc.ant.test.support.Assert.assertMessageLogged;
41 import static org.jomc.ant.test.support.Assert.assertMessageLoggedContaining;
42 import static org.jomc.ant.test.support.Assert.assertNoException;
43 import org.junit.Test;
44 import static org.junit.Assert.assertNotNull;
45 import static org.junit.Assert.fail;
46
47
48
49
50
51
52
53 public class MergeModletsTaskTest extends JomcTaskTest
54 {
55
56
57 public MergeModletsTaskTest()
58 {
59 super();
60 }
61
62
63 @Override
64 public MergeModletsTask getJomcTask()
65 {
66 return (MergeModletsTask) super.getJomcTask();
67 }
68
69
70 @Override
71 protected MergeModletsTask newJomcTask()
72 {
73 return new MergeModletsTask();
74 }
75
76
77 @Override
78 protected String getBuildFileName()
79 {
80 return "merge-modlets-test.xml";
81 }
82
83 @Test
84 public final void testMissingModletFile() throws Exception
85 {
86 final AntExecutionResult r = this.executeTarget( "test-missing-modlet-file" );
87 assertException( r, BuildException.class );
88 assertExceptionMessage( r, "Mandatory attribute 'modletFile' is missing a value." );
89 }
90
91 @Test
92 public final void testMissingModletName() throws Exception
93 {
94 final AntExecutionResult r = this.executeTarget( "test-missing-modlet-name" );
95 assertException( r, BuildException.class );
96 assertExceptionMessage( r, "Mandatory attribute 'modletName' is missing a value." );
97 }
98
99 @Test
100 public final void testExclusionMissingModletName() throws Exception
101 {
102 final AntExecutionResult r = this.executeTarget( "test-exclusion-missing-modlet-name" );
103 assertException( r, BuildException.class );
104 assertExceptionMessage( r, "Mandatory attribute 'name' is missing a value." );
105 }
106
107 @Test
108 public final void testInclusionMissingModletName() throws Exception
109 {
110 final AntExecutionResult r = this.executeTarget( "test-inclusion-missing-modlet-name" );
111 assertException( r, BuildException.class );
112 assertExceptionMessage( r, "Mandatory attribute 'name' is missing a value." );
113 }
114
115 @Test
116 public final void testModletResourceMissingLocation() throws Exception
117 {
118 final AntExecutionResult r = this.executeTarget( "test-modlet-resource-missing-locatiom" );
119 assertException( r, BuildException.class );
120 assertExceptionMessage( r, "Mandatory attribute 'location' is missing a value." );
121 }
122
123 @Test
124 public final void testMergeModlets() throws Exception
125 {
126 final AntExecutionResult r = this.executeTarget( "test-merge-modlets" );
127 assertNoException( r );
128 assertMessageLoggedContaining( r, "Writing" );
129 }
130
131 @Test
132 public final void testMergeModletsWithNoopStylesheet() throws Exception
133 {
134 final AntExecutionResult r = this.executeTarget( "test-merge-modlets-with-no-op-stylesheet" );
135 assertNoException( r );
136 assertMessageLoggedContaining( r, "Writing" );
137 }
138
139 @Test
140 public final void testMergeModletsWithRedundantResources() throws Exception
141 {
142 final AntExecutionResult r = this.executeTarget( "test-merge-modlets-with-redundant-resources" );
143 assertNoException( r );
144 assertMessageLoggedContaining( r, "Writing" );
145 }
146
147 @Test
148 public final void testMergeModletsWithIllegalTransformationResultStylesheet() throws Exception
149 {
150 final AntExecutionResult r =
151 this.executeTarget( "test-merge-modlets-with-illegal-transformation-result-stylesheet" );
152
153 assertException( r, BuildException.class );
154 assertExceptionMessageContaining( r, "Illegal transformation result" );
155 }
156
157 @Test
158 public final void testMergeModletsUnsupportedResource() throws Exception
159 {
160 final AntExecutionResult r = this.executeTarget( "test-merge-modlets-unsupported-resource" );
161 assertNoException( r );
162 assertMessageLoggedContaining( r, "not supported.", Project.MSG_WARN );
163 }
164
165 @Test
166 public final void testMergeModletsExclusion() throws Exception
167 {
168 final AntExecutionResult r = this.executeTarget( "test-merge-modlets-exclusion" );
169 assertNoException( r );
170 assertMessageLogged( r, "Excluding modlet 'JOMC Ant Tasks Tests'.", Project.MSG_INFO );
171 }
172
173 @Test
174 public final void testMergeModletsInclusion() throws Exception
175 {
176 final AntExecutionResult r = this.executeTarget( "test-merge-modlets-inclusion" );
177 assertNoException( r );
178 assertMessageLogged( r, "Including modlet 'JOMC Ant Tasks Tests'.", Project.MSG_INFO );
179 }
180
181 @Test
182 public final void testMergeModletsAllAttributes() throws Exception
183 {
184 final AntExecutionResult r = this.executeTarget( "test-merge-modlets-all-attributes" );
185 assertNoException( r );
186 assertMessageLoggedContaining( r, "Writing", Project.MSG_INFO );
187 }
188
189 @Test
190 public final void testIsModletExcluded() throws Exception
191 {
192 try
193 {
194 this.getJomcTask().isModletExcluded( null );
195 fail( "Expected 'NullPointerException' not thrown." );
196 }
197 catch ( final NullPointerException e )
198 {
199 assertNotNull( e.getMessage() );
200 System.out.println( e );
201 }
202 }
203
204 @Test
205 public final void testIsModletIncluded() throws Exception
206 {
207 try
208 {
209 this.getJomcTask().isModletIncluded( null );
210 fail( "Expected 'NullPointerException' not thrown." );
211 }
212 catch ( final NullPointerException e )
213 {
214 assertNotNull( e.getMessage() );
215 System.out.println( e );
216 }
217 }
218
219 }