1 ##############################################################################
2 # Copyright (c) 2016 Daniel Farrell. All rights reserved.
4 # This program and the accompanying materials are made available under the
5 # terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 # and is available at http://www.eclipse.org/legal/epl-v10.html
7 ##############################################################################
9 """Tests for package build logic."""
16 class TestExtractVersion(unittest.TestCase):
18 """Test logic to extract ODL versions from artifact URLs."""
20 nexus_url = "https://nexus.opendaylight.org/content/repositories"
22 def test_boron_sr4_release_url(self):
23 """Test URL of the ODL Boron SR4 release."""
25 url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.5.4-Boron-SR4/distribution-karaf-0.5.4-Boron-SR4.tar.gz" % self.nexus_url
26 version = vars.extract_version(url)
27 self.assertEqual(version["version_major"], "5")
28 self.assertEqual(version["version_minor"], "4")
29 self.assertEqual(version["version_patch"], "0")
30 self.assertEqual(version["pkg_version"], "1")
32 def test_boron_sr4_release_zip_url(self):
33 """Test URL of the ODL Boron SR4 release zip archive."""
35 url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.5.4-Boron-SR4/distribution-karaf-0.5.4-Boron-SR4.zip" % self.nexus_url
36 version = vars.extract_version(url)
37 self.assertEqual(version["version_major"], "5")
38 self.assertEqual(version["version_minor"], "4")
39 self.assertEqual(version["version_patch"], "0")
40 self.assertEqual(version["pkg_version"], "1")
42 def test_carbon_release_url(self):
43 """Test URL of the ODL Carbon release."""
45 url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.0-Carbon/distribution-karaf-0.6.0-Carbon.tar.gz" % self.nexus_url
46 version = vars.extract_version(url)
47 self.assertEqual(version["version_major"], "6")
48 self.assertEqual(version["version_minor"], "0")
49 self.assertEqual(version["version_patch"], "0")
50 self.assertEqual(version["pkg_version"], "1")
52 def test_carbon_release_zip_url(self):
53 """Test URL of the ODL Carbon release zip archive."""
55 url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.0-Carbon/distribution-karaf-0.6.0-Carbon.zip" % self.nexus_url
56 version = vars.extract_version(url)
57 self.assertEqual(version["version_major"], "6")
58 self.assertEqual(version["version_minor"], "0")
59 self.assertEqual(version["version_patch"], "0")
60 self.assertEqual(version["pkg_version"], "1")
62 def test_carbon_sr1_release_url(self):
63 """Test URL of the ODL Carbon SR1 release."""
65 url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.1-Carbon/distribution-karaf-0.6.1-Carbon.tar.gz" % self.nexus_url
66 version = vars.extract_version(url)
67 self.assertEqual(version["version_major"], "6")
68 self.assertEqual(version["version_minor"], "1")
69 self.assertEqual(version["version_patch"], "0")
70 self.assertEqual(version["pkg_version"], "1")
72 def test_carbon_sr1_release_zip_url(self):
73 """Test URL of the ODL Carbon SR1 release zip archive."""
75 url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.1-Carbon/distribution-karaf-0.6.1-Carbon.zip" % self.nexus_url
76 version = vars.extract_version(url)
77 self.assertEqual(version["version_major"], "6")
78 self.assertEqual(version["version_minor"], "1")
79 self.assertEqual(version["version_patch"], "0")
80 self.assertEqual(version["pkg_version"], "1")
82 def test_boron_autorelease_url(self):
83 """Test URL of an ODL Boron autorelease build."""
85 url = "%s/autorelease-1928/org/opendaylight/integration/distribution-karaf/0.5.5-Boron-SR5/distribution-karaf-0.5.5-Boron-SR5.tar.gz" % self.nexus_url
86 version = vars.extract_version(url)
87 self.assertEqual(version["version_major"], "5")
88 self.assertEqual(version["version_minor"], "5")
89 self.assertEqual(version["version_patch"], "0")
90 self.assertEqual(version["pkg_version"], "0.1.20170813rel1928")
92 @unittest.skip("Hangs, not sure why")
93 def test_boron_autorelease_zip_url(self):
94 """Test URL of an ODL Boron autorelease build zip archive."""
96 url = "%s/autorelease-1928/org/opendaylight/integration/distribution-karaf/0.5.5-Boron-SR5/distribution-karaf-0.5.5-Boron-SR5.zip" % self.nexus_url
97 version = vars.extract_version(url)
98 self.assertEqual(version["version_major"], "5")
99 self.assertEqual(version["version_minor"], "5")
100 self.assertEqual(version["version_patch"], "0")
101 self.assertEqual(version["pkg_version"], "0.1.20170813rel1928")
103 def test_carbon_autorelease_url(self):
104 """Test URL of an ODL Carbon autorelease build."""
105 # noqa ShellCheckBear
106 url = "%s/autorelease-1940/org/opendaylight/integration/distribution-karaf/0.6.2-Carbon/distribution-karaf-0.6.2-Carbon.tar.gz" % self.nexus_url
107 version = vars.extract_version(url)
108 self.assertEqual(version["version_major"], "6")
109 self.assertEqual(version["version_minor"], "2")
110 self.assertEqual(version["version_patch"], "0")
111 self.assertEqual(version["pkg_version"], "0.1.20170823rel1940")
113 def test_carbon_autorelease_zip_url(self):
114 """Test URL of an ODL Carbon autorelease build zip archive."""
115 # noqa ShellCheckBear
116 url = "%s/autorelease-1940/org/opendaylight/integration/distribution-karaf/0.6.2-Carbon/distribution-karaf-0.6.2-Carbon.tar.gz" % self.nexus_url
117 version = vars.extract_version(url)
118 self.assertEqual(version["version_major"], "6")
119 self.assertEqual(version["version_minor"], "2")
120 self.assertEqual(version["version_patch"], "0")
121 self.assertEqual(version["pkg_version"], "0.1.20170823rel1940")
123 @unittest.skip("Hangs, not sure why")
124 def test_nitrogen_autorelease_url(self):
125 """Test URL of an ODL Nitrogen autorelease build."""
126 # noqa ShellCheckBear
127 url = "%s/autorelease-1939/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz" % self.nexus_url
128 version = vars.extract_version(url)
129 self.assertEqual(version["version_major"], "7")
130 self.assertEqual(version["version_minor"], "0")
131 self.assertEqual(version["version_patch"], "0")
132 self.assertEqual(version["pkg_version"], "0.1.20170723rel1916")
134 @unittest.skip("Hangs, not sure why")
135 def test_nitrogen_autorelease_zip_url(self):
136 """Test URL of an ODL Nitrogen autorelease build zip archive."""
137 # noqa ShellCheckBear
138 url = "%s/autorelease-1939/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz" % self.nexus_url
139 version = vars.extract_version(url)
140 self.assertEqual(version["version_major"], "7")
141 self.assertEqual(version["version_minor"], "0")
142 self.assertEqual(version["version_patch"], "0")
143 self.assertEqual(version["pkg_version"], "0.1.20170723rel1916")
145 def test_boron_snapshot_url(self):
146 """Test URL of an ODL Boron snapshot build."""
147 # noqa ShellCheckBear
148 url = "%s/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.5.5-SNAPSHOT/distribution-karaf-0.5.5-20170813.233539-357.tar.gz" % self.nexus_url
149 version = vars.extract_version(url)
150 self.assertEqual(version["version_major"], "5")
151 self.assertEqual(version["version_minor"], "5")
152 self.assertEqual(version["version_patch"], "0")
153 self.assertEqual(version["pkg_version"], "0.1.20170813snap357")
155 def test_boron_snapshot_zip_url(self):
156 """Test URL of an ODL Boron snapshot build zip archive."""
157 # noqa ShellCheckBear
158 url = "%s/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.5.5-SNAPSHOT/distribution-karaf-0.5.5-20170813.233539-357.tar.gz" % self.nexus_url
159 version = vars.extract_version(url)
160 self.assertEqual(version["version_major"], "5")
161 self.assertEqual(version["version_minor"], "5")
162 self.assertEqual(version["version_patch"], "0")
163 self.assertEqual(version["pkg_version"], "0.1.20170813snap357")
165 def test_carbon_snapshot_url(self):
166 """Test URL of an ODL Carbon snapshot build."""
167 # noqa ShellCheckBear
168 url = "%s/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.6.2-SNAPSHOT/distribution-karaf-0.6.2-20170821.001151-442.tar.gz" % self.nexus_url
169 version = vars.extract_version(url)
170 self.assertEqual(version["version_major"], "6")
171 self.assertEqual(version["version_minor"], "2")
172 self.assertEqual(version["version_patch"], "0")
173 self.assertEqual(version["pkg_version"], "0.1.20170821snap442")
175 def test_carbon_snapshot_zip_url(self):
176 """Test URL of an ODL Carbon snapshot build zip archive."""
177 # noqa ShellCheckBear
178 url = "%s/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.6.2-SNAPSHOT/distribution-karaf-0.6.2-20170821.001151-442.tar.gz" % self.nexus_url
179 version = vars.extract_version(url)
180 self.assertEqual(version["version_major"], "6")
181 self.assertEqual(version["version_minor"], "2")
182 self.assertEqual(version["version_patch"], "0")
183 self.assertEqual(version["pkg_version"], "0.1.20170821snap442")
185 # Karaf 4 karaf- vs distribution-karaf naming not supported
186 @unittest.expectedFailure
187 def test_nitrogen_snapshot_url(self):
188 """Test URL of an ODL Nitrogen snapshot build."""
189 # noqa ShellCheckBear
190 url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.7.0-SNAPSHOT/karaf-0.7.0-20170815.162950-1727.tar.gz" % self.nexus_url
191 version = vars.extract_version(url)
192 self.assertEqual(version["version_major"], "7")
193 self.assertEqual(version["version_minor"], "0")
194 self.assertEqual(version["version_patch"], "0")
195 self.assertEqual(version["pkg_version"], "0.1.20170815snap1727")
197 # Karaf 4 karaf- vs distribution-karaf naming not supported
198 @unittest.expectedFailure
199 def test_nitrogen_snapshot_zip_url(self):
200 """Test URL of an ODL Nitrogen snapshot build zip archive."""
201 # noqa ShellCheckBear
202 url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.7.0-SNAPSHOT/karaf-0.7.0-20170815.162950-1727.tar.gz" % self.nexus_url
203 version = vars.extract_version(url)
204 self.assertEqual(version["version_major"], "7")
205 self.assertEqual(version["version_minor"], "0")
206 self.assertEqual(version["version_patch"], "0")
207 self.assertEqual(version["pkg_version"], "0.1.20170815snap1727")
209 # Karaf 4 karaf- vs distribution-karaf naming not supported
210 @unittest.expectedFailure
211 def test_oxygen_snapshot_url(self):
212 """Test URL of an ODL Oxygen snapshot build."""
213 # noqa ShellCheckBear
214 url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20170815.163312-2.tar.gz" % self.nexus_url
215 version = vars.extract_version(url)
216 self.assertEqual(version["version_major"], "8")
217 self.assertEqual(version["version_minor"], "0")
218 self.assertEqual(version["version_patch"], "0")
219 self.assertEqual(version["pkg_version"], "0.1.20170815snap2")
221 # Karaf 4 karaf- vs distribution-karaf naming not supported
222 @unittest.expectedFailure
223 def test_oxygen_snapshot_zip_url(self):
224 """Test URL of an ODL Oxygen snapshot build zip archive."""
225 # noqa ShellCheckBear
226 url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20170815.163312-2.tar.gz" % self.nexus_url
227 version = vars.extract_version(url)
228 self.assertEqual(version["version_major"], "8")
229 self.assertEqual(version["version_minor"], "0")
230 self.assertEqual(version["version_patch"], "0")
231 self.assertEqual(version["pkg_version"], "0.1.20170815snap2")
233 # Multipatch Nexus repos are not currently supported
234 @unittest.expectedFailure
235 def test_carbon_multipatch_zip_url(self):
236 """Test URL of an ODL Carbon multipatch-test build zip archive."""
237 # noqa ShellCheckBear
238 url = "%s/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/distribution-karaf/0.6.2-SNAPSHOT/distribution-karaf-0.6.2-20170822.142235-45.zip" % self.nexus_url
239 version = vars.extract_version(url)
240 self.assertEqual(version["version_major"], "6")
241 self.assertEqual(version["version_minor"], "2")
242 self.assertEqual(version["version_patch"], "0")
243 self.assertEqual(version["pkg_version"], "0.1.20170822snap45")
245 # Multipatch Nexus repos are not currently supported
246 @unittest.expectedFailure
247 def test_nitrogen_multipatch_zip_url(self):
248 """Test URL of an ODL Nitrogen multipatch-test build zip archive."""
249 # noqa ShellCheckBear
250 url = "%s/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.7.0-SNAPSHOT/karaf-0.7.0-20170822.075207-274.zip" % self.nexus_url
251 version = vars.extract_version(url)
252 self.assertEqual(version["version_major"], "7")
253 self.assertEqual(version["version_minor"], "0")
254 self.assertEqual(version["version_patch"], "0")
255 self.assertEqual(version["pkg_version"], "0.1.20170822snap274")
257 # Multipatch Nexus repos are not currently supported
258 @unittest.expectedFailure
259 def test_oxygen_multipatch_zip_url(self):
260 """Test URL of an ODL Oxygen multipatch-test build zip archive."""
261 # noqa ShellCheckBear
262 url = "%s/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20170822.072253-6.zip" % self.nexus_url
263 version = vars.extract_version(url)
264 self.assertEqual(version["version_major"], "8")
265 self.assertEqual(version["version_minor"], "0")
266 self.assertEqual(version["version_patch"], "0")
267 self.assertEqual(version["pkg_version"], "0.1.20170822snap6")