1 package org.apache.maven.changes;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 import junit.framework.TestCase;
21
22 import java.io.File;
23 import java.util.List;
24
25 import org.dom4j.Element;
26 import org.dom4j.Document;
27 import org.dom4j.io.SAXReader;
28
29 /**
30 */
31 public class ReleaseVersionTest
32 extends TestCase
33 {
34 /**
35 * Constructor.
36 *
37 * @param name Name of the test.
38 */
39 public ReleaseVersionTest( String name )
40 {
41 super( name );
42 }
43
44 public void testExistingReleaseTargetVersionReleased()
45 throws Exception
46 {
47 File changesFile = new File( System.getProperty( "basedir" ),
48 "/src/test-data/test-existing-release-target-version-released.xml" );
49 Document doc = ReleaseVersion.transformVersion( changesFile, "1.1", "1.2", "2004-04-21" );
50
51 assertNull( "check transform required", doc );
52
53 SAXReader r = new SAXReader();
54
55 doc = r.read( changesFile );
56
57 List nodes = doc.selectNodes( "/document/body/release" );
58
59 assertEquals( "check exactly 1 release", 1, nodes.size() );
60
61 Element release = ( Element ) nodes.get( 0 );
62
63 assertEquals( "Check version is 1.2", "1.2", release.attribute( "version" ).getText() );
64 assertEquals( "Check date is 2003-03-23", "2003-03-23", release.attribute( "date" ).getText() );
65 }
66
67 public void testExistingReleaseTargetVersionInCvs()
68 throws Exception
69 {
70 File changesFile = new File( System.getProperty( "basedir" ),
71 "/src/test-data/test-existing-release-target-version-in-cvs.xml" );
72 Document doc = ReleaseVersion.transformVersion( changesFile, "1.1", "1.2", "2004-04-21" );
73
74 assertNotNull( "check transform required", doc );
75
76 List nodes = doc.selectNodes( "/document/body/release" );
77
78 assertEquals( "check exactly 1 release", 1, nodes.size() );
79
80 Element release = ( Element ) nodes.get( 0 );
81
82 assertEquals( "Check version is 1.2", "1.2", release.attribute( "version" ).getText() );
83 assertEquals( "Check date is 2004-04-21", "2004-04-21", release.attribute( "date" ).getText() );
84 }
85
86 public void testExistingReleaseCurrentVersionReleasedAndTargetVersionInCvs()
87 throws Exception
88 {
89 File changesFile = new File( System.getProperty( "basedir" ),
90 "/src/test-data/test-existing-release-current-version-released-and-target-version-in-cvs.xml" );
91 Document doc = ReleaseVersion.transformVersion( changesFile, "1.1", "1.2", "2004-04-21" );
92
93 assertNotNull( "check transform required", doc );
94
95 List nodes = doc.selectNodes( "/document/body/release" );
96
97 assertEquals( "check exactly 2 releases", 2, nodes.size() );
98
99 Element release = ( Element ) nodes.get( 0 );
100
101 assertEquals( "Check version is 1.2", "1.2", release.attribute( "version" ).getText() );
102 assertEquals( "Check date is 2004-04-21", "2004-04-21", release.attribute( "date" ).getText() );
103
104 release = ( Element ) nodes.get( 1 );
105
106 assertEquals( "Check version is 1.1", "1.1", release.attribute( "version" ).getText() );
107 assertEquals( "Check date is 2003-03-23", "2003-03-23", release.attribute( "date" ).getText() );
108 }
109
110 public void testExistingReleaseCurrentVersionReleasedAndTargetVersionReleased()
111 throws Exception
112 {
113 File changesFile = new File( System.getProperty( "basedir" ),
114 "/src/test-data/test-existing-release-current-version-released-and-target-version-released.xml" );
115 Document doc = ReleaseVersion.transformVersion( changesFile, "1.1", "1.2", "2004-04-21" );
116
117 assertNull( "check transform required", doc );
118
119 SAXReader r = new SAXReader();
120
121 doc = r.read( changesFile );
122
123 List nodes = doc.selectNodes( "/document/body/release" );
124
125 assertEquals( "check exactly 2 releases", 2, nodes.size() );
126
127 Element release = ( Element ) nodes.get( 0 );
128
129 assertEquals( "Check version is 1.2", "1.2", release.attribute( "version" ).getText() );
130 assertEquals( "Check date is 2003-03-23", "2003-03-23", release.attribute( "date" ).getText() );
131
132 release = ( Element ) nodes.get( 1 );
133
134 assertEquals( "Check version is 1.1", "1.1", release.attribute( "version" ).getText() );
135 assertEquals( "Check date is 2002-02-22", "2002-02-22", release.attribute( "date" ).getText() );
136 }
137
138 public void testExistingReleaseCurrentVersionReleased()
139 throws Exception
140 {
141 File changesFile = new File( System.getProperty( "basedir" ),
142 "/src/test-data/test-existing-release-current-version-released.xml" );
143 Document doc = ReleaseVersion.transformVersion( changesFile, "1.2", "1.2", "2004-04-21" );
144
145 assertNull( "check transform required", doc );
146
147 SAXReader r = new SAXReader();
148
149 doc = r.read( changesFile );
150
151 List nodes = doc.selectNodes( "/document/body/release" );
152
153 assertEquals( "check exactly 1 release", 1, nodes.size() );
154
155 Element release = ( Element ) nodes.get( 0 );
156
157 assertEquals( "Check version is 1.2", "1.2", release.attribute( "version" ).getText() );
158 assertEquals( "Check date is 2004-04-21", "2003-03-23", release.attribute( "date" ).getText() );
159 }
160
161 public void testExistingReleaseCurrentVersionInCvs()
162 throws Exception
163 {
164 Document doc = ReleaseVersion.transformVersion(
165 new File( System.getProperty( "basedir" ),
166 "/src/test-data/test-existing-release-current-version-in-cvs.xml" ),
167 "1.2-SNAPSHOT", "1.2", "2004-04-21" );
168
169 assertNotNull( "check transform required", doc );
170
171 List nodes = doc.selectNodes( "/document/body/release" );
172
173 assertEquals( "check exactly 1 release", 1, nodes.size() );
174
175 Element release = ( Element ) nodes.get( 0 );
176
177 assertEquals( "Check version is 1.2", "1.2", release.attribute( "version" ).getText() );
178 assertEquals( "Check date is 2004-04-21", "2004-04-21", release.attribute( "date" ).getText() );
179 }
180
181 public void testOneUnrelatedRelease()
182 throws Exception
183 {
184 File changesFile = new File( System.getProperty( "basedir" ), "/src/test-data/test-one-unrelated-release.xml" );
185 Document doc = ReleaseVersion.transformVersion( changesFile, "1.2-SNAPSHOT", "1.2", "2004-04-21" );
186
187 assertNull( "check transform required", doc );
188
189 SAXReader r = new SAXReader();
190 doc = r.read( changesFile );
191
192 List nodes = doc.selectNodes( "/document/body/release" );
193
194 assertEquals( "check exactly 1 releases", 1, nodes.size() );
195
196 Element release = ( Element ) nodes.get( 0 );
197
198 assertEquals( "Check version is 1.1", "1.1", release.attribute( "version" ).getText() );
199 assertEquals( "Check date is 2003-03-23", "2003-03-23", release.attribute( "date" ).getText() );
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217 }
218
219 public void testNoReleases()
220 throws Exception
221 {
222 File changesFile = new File( System.getProperty( "basedir" ), "/src/test-data/test-no-versions.xml" );
223 Document doc = ReleaseVersion.transformVersion( changesFile, "1.0-SNAPSHOT", "1.0", "2004-04-21" );
224
225 assertNull( "check transform required", doc );
226 SAXReader r = new SAXReader();
227 doc = r.read( changesFile );
228
229 List nodes = doc.selectNodes( "/document/body/release" );
230
231 assertEquals( "check no release", 0, nodes.size() );
232
233
234
235
236
237
238
239
240
241
242
243
244
245 }
246 }
247