View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  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,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.maven.shared.release.transform.jdom2;
20  
21  import java.io.StringReader;
22  
23  import org.jdom2.Document;
24  import org.jdom2.input.SAXBuilder;
25  import org.junit.Test;
26  
27  import static org.junit.Assert.assertEquals;
28  import static org.junit.Assert.assertNotNull;
29  import static org.junit.Assert.assertNull;
30  
31  public class JDomBuildTest {
32      private SAXBuilder builder = new SAXBuilder();
33  
34      @Test
35      public void testGetExtensions() throws Exception {
36          String content = "<build></build>";
37          Document document = builder.build(new StringReader(content));
38          assertNotNull(new JDomBuild(document.getRootElement()).getExtensions());
39          assertEquals(0, new JDomBuild(document.getRootElement()).getExtensions().size());
40  
41          content = "<build><extensions/></build>";
42          document = builder.build(new StringReader(content));
43          assertEquals(0, new JDomBuild(document.getRootElement()).getExtensions().size());
44  
45          content = "<build><extensions><extension/></extensions></build>";
46          document = builder.build(new StringReader(content));
47          assertEquals(1, new JDomBuild(document.getRootElement()).getExtensions().size());
48      }
49  
50      @Test
51      public void testGetPluginManagement() throws Exception {
52          String content = "<build></build>";
53          Document document = builder.build(new StringReader(content));
54          assertNull(new JDomBuild(document.getRootElement()).getPluginManagement());
55  
56          content = "<build><pluginManagement/></build>";
57          document = builder.build(new StringReader(content));
58          assertNotNull(new JDomBuild(document.getRootElement()).getPluginManagement());
59      }
60  
61      @Test
62      public void testGetPlugins() throws Exception {
63          String content = "<build></build>";
64          Document document = builder.build(new StringReader(content));
65          assertNotNull(new JDomBuild(document.getRootElement()).getPlugins());
66          assertEquals(0, new JDomBuild(document.getRootElement()).getPlugins().size());
67  
68          content = "<build><plugins/></build>";
69          document = builder.build(new StringReader(content));
70          assertEquals(0, new JDomBuild(document.getRootElement()).getPlugins().size());
71  
72          content = "<build><plugins><plugin/></plugins></build>";
73          document = builder.build(new StringReader(content));
74          assertEquals(1, new JDomBuild(document.getRootElement()).getPlugins().size());
75      }
76  
77      // All other methods throw UnsupportedOperationException
78  
79      @Test(expected = UnsupportedOperationException.class)
80      public void testFlushPluginMap() {
81          new JDomBuild(null).flushPluginMap();
82      }
83  
84      @Test(expected = UnsupportedOperationException.class)
85      public void testAddExtension() {
86          new JDomBuild(null).addExtension(null);
87          ;
88      }
89  
90      @Test(expected = UnsupportedOperationException.class)
91      public void testGetOutputDirectory() {
92          new JDomBuild(null).getOutputDirectory();
93      }
94  
95      @Test(expected = UnsupportedOperationException.class)
96      public void testGetScriptSourceDirectory() {
97          new JDomBuild(null).getScriptSourceDirectory();
98      }
99  
100     @Test(expected = UnsupportedOperationException.class)
101     public void testGetSourceDirectory() {
102         new JDomBuild(null).getSourceDirectory();
103     }
104 
105     @Test(expected = UnsupportedOperationException.class)
106     public void testGetTestOutputDirectory() {
107         new JDomBuild(null).getTestOutputDirectory();
108     }
109 
110     @Test(expected = UnsupportedOperationException.class)
111     public void testGetTestSourceDirectory() {
112         new JDomBuild(null).getTestSourceDirectory();
113     }
114 
115     @Test(expected = UnsupportedOperationException.class)
116     public void testRemoveExtension() {
117         new JDomBuild(null).removeExtension(null);
118     }
119 
120     @Test(expected = UnsupportedOperationException.class)
121     public void testSetExtensions() {
122         new JDomBuild(null).setExtensions(null);
123         ;
124     }
125 
126     @Test(expected = UnsupportedOperationException.class)
127     public void testSetOutputDirectory() {
128         new JDomBuild(null).setOutputDirectory(null);
129     }
130 
131     @Test(expected = UnsupportedOperationException.class)
132     public void testSetScriptSourceDirectory() {
133         new JDomBuild(null).setScriptSourceDirectory(null);
134     }
135 
136     @Test(expected = UnsupportedOperationException.class)
137     public void testSetSourceDirectory() {
138         new JDomBuild(null).setSourceDirectory(null);
139     }
140 
141     @Test(expected = UnsupportedOperationException.class)
142     public void testSetTestOutputDirectoryString() {
143         new JDomBuild(null).setTestOutputDirectory(null);
144     }
145 
146     @Test(expected = UnsupportedOperationException.class)
147     public void testSetTestSourceDirectory() {
148         new JDomBuild(null).setTestSourceDirectory(null);
149     }
150 
151     @Test(expected = UnsupportedOperationException.class)
152     public void testAddFilter() {
153         new JDomBuild(null).addFilter(null);
154     }
155 
156     @Test(expected = UnsupportedOperationException.class)
157     public void testAddResource() {
158         new JDomBuild(null).addResource(null);
159     }
160 
161     @Test(expected = UnsupportedOperationException.class)
162     public void testAddTestResource() {
163         new JDomBuild(null).addTestResource(null);
164     }
165 
166     @Test(expected = UnsupportedOperationException.class)
167     public void testGetDefaultGoal() {
168         new JDomBuild(null).getDefaultGoal();
169     }
170 
171     @Test(expected = UnsupportedOperationException.class)
172     public void testGetDirectory() {
173         new JDomBuild(null).getDirectory();
174     }
175 
176     @Test(expected = UnsupportedOperationException.class)
177     public void testGetFilters() {
178         new JDomBuild(null).getFilters();
179     }
180 
181     @Test(expected = UnsupportedOperationException.class)
182     public void testGetFinalName() {
183         new JDomBuild(null).getFinalName();
184     }
185 
186     @Test(expected = UnsupportedOperationException.class)
187     public void testGetResources() {
188         new JDomBuild(null).getResources();
189     }
190 
191     @Test(expected = UnsupportedOperationException.class)
192     public void testGetTestResources() {
193         new JDomBuild(null).getTestResources();
194     }
195 
196     @Test(expected = UnsupportedOperationException.class)
197     public void testRemoveFilter() {
198         new JDomBuild(null).removeFilter(null);
199     }
200 
201     @Test(expected = UnsupportedOperationException.class)
202     public void testRemoveResource() {
203         new JDomBuild(null).removeResource(null);
204     }
205 
206     @Test(expected = UnsupportedOperationException.class)
207     public void testRemoveTestResource() {
208         new JDomBuild(null).removeTestResource(null);
209     }
210 
211     @Test(expected = UnsupportedOperationException.class)
212     public void testSetDefaultGoal() {
213         new JDomBuild(null).setDefaultGoal(null);
214     }
215 
216     @Test(expected = UnsupportedOperationException.class)
217     public void testSetDirectory() {
218         new JDomBuild(null).setDirectory(null);
219     }
220 
221     @Test(expected = UnsupportedOperationException.class)
222     public void testSetFilters() {
223         new JDomBuild(null).setFilters(null);
224     }
225 
226     @Test(expected = UnsupportedOperationException.class)
227     public void testSetFinalName() {
228         new JDomBuild(null).setFinalName(null);
229     }
230 
231     @Test(expected = UnsupportedOperationException.class)
232     public void testSetResources() {
233         new JDomBuild(null).setResources(null);
234     }
235 
236     @Test(expected = UnsupportedOperationException.class)
237     public void testSetTestResources() {
238         new JDomBuild(null).setTestResources(null);
239     }
240 
241     @Test(expected = UnsupportedOperationException.class)
242     public void testSetPluginManagement() {
243         new JDomBuild(null).setPluginManagement(null);
244     }
245 
246     @Test(expected = UnsupportedOperationException.class)
247     public void testAddPlugin() {
248         new JDomBuild(null).addPlugin(null);
249     }
250 
251     @Test(expected = UnsupportedOperationException.class)
252     public void testRemovePlugin() {
253         new JDomBuild(null).removePlugin(null);
254     }
255 
256     @Test(expected = UnsupportedOperationException.class)
257     public void testSetPlugins() {
258         new JDomBuild(null).setPlugins(null);
259     }
260 
261     @Test(expected = UnsupportedOperationException.class)
262     public void testGetPluginsAsMap() {
263         new JDomBuild(null).getPluginsAsMap();
264     }
265 }