Make version extraction logic more generic
[integration/packaging.git] / packages / test_build.py
1 ##############################################################################
2 # Copyright (c) 2016 Daniel Farrell.  All rights reserved.
3 #
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 ##############################################################################
8
9 """Tests for package build logic."""
10
11 import unittest
12
13 import vars
14
15
16 class TestExtractVersion(unittest.TestCase):
17
18     """Test logic to extract ODL versions from artifact URLs."""
19
20     nexus_url = "https://nexus.opendaylight.org/content/repositories"
21
22     def test_boron_sr4_release_url(self):
23         """Test URL of the ODL Boron SR4 release."""
24         # noqa ShellCheckBear
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")
31
32     def test_boron_sr4_release_zip_url(self):
33         """Test URL of the ODL Boron SR4 release zip archive."""
34         # noqa ShellCheckBear
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")
41
42     def test_carbon_release_url(self):
43         """Test URL of the ODL Carbon release."""
44         # noqa ShellCheckBear
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")
51
52     def test_carbon_release_zip_url(self):
53         """Test URL of the ODL Carbon release zip archive."""
54         # noqa ShellCheckBear
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")
61
62     def test_carbon_sr1_release_url(self):
63         """Test URL of the ODL Carbon SR1 release."""
64         # noqa ShellCheckBear
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")
71
72     def test_carbon_sr1_release_zip_url(self):
73         """Test URL of the ODL Carbon SR1 release zip archive."""
74         # noqa ShellCheckBear
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")
81
82     def test_boron_autorelease_url(self):
83         """Test URL of an ODL Boron autorelease build."""
84         # noqa ShellCheckBear
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")
91
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."""
95         # noqa ShellCheckBear
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")
102
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")
112
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")
122
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")
133
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")
144
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")
154
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")
164
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")
174
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")
184
185     def test_nitrogen_snapshot_url(self):
186         """Test URL of an ODL Nitrogen snapshot build."""
187         # noqa ShellCheckBear
188         url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.7.0-SNAPSHOT/karaf-0.7.0-20170815.162950-1727.tar.gz" % self.nexus_url
189         version = vars.extract_version(url)
190         self.assertEqual(version["version_major"], "7")
191         self.assertEqual(version["version_minor"], "0")
192         self.assertEqual(version["version_patch"], "0")
193         self.assertEqual(version["pkg_version"], "0.1.20170815snap1727")
194
195     def test_nitrogen_snapshot_zip_url(self):
196         """Test URL of an ODL Nitrogen snapshot build zip archive."""
197         # noqa ShellCheckBear
198         url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.7.0-SNAPSHOT/karaf-0.7.0-20170815.162950-1727.tar.gz" % self.nexus_url
199         version = vars.extract_version(url)
200         self.assertEqual(version["version_major"], "7")
201         self.assertEqual(version["version_minor"], "0")
202         self.assertEqual(version["version_patch"], "0")
203         self.assertEqual(version["pkg_version"], "0.1.20170815snap1727")
204
205     def test_oxygen_snapshot_url(self):
206         """Test URL of an ODL Oxygen snapshot build."""
207         # noqa ShellCheckBear
208         url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20170815.163312-2.tar.gz" % self.nexus_url
209         version = vars.extract_version(url)
210         self.assertEqual(version["version_major"], "8")
211         self.assertEqual(version["version_minor"], "0")
212         self.assertEqual(version["version_patch"], "0")
213         self.assertEqual(version["pkg_version"], "0.1.20170815snap2")
214
215     def test_oxygen_snapshot_zip_url(self):
216         """Test URL of an ODL Oxygen snapshot build zip archive."""
217         # noqa ShellCheckBear
218         url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20170815.163312-2.tar.gz" % self.nexus_url
219         version = vars.extract_version(url)
220         self.assertEqual(version["version_major"], "8")
221         self.assertEqual(version["version_minor"], "0")
222         self.assertEqual(version["version_patch"], "0")
223         self.assertEqual(version["pkg_version"], "0.1.20170815snap2")
224
225     def test_carbon_multipatch_zip_url(self):
226         """Test URL of an ODL Carbon multipatch-test build zip archive."""
227         # noqa ShellCheckBear
228         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
229         version = vars.extract_version(url)
230         self.assertEqual(version["version_major"], "6")
231         self.assertEqual(version["version_minor"], "2")
232         self.assertEqual(version["version_patch"], "0")
233         self.assertEqual(version["pkg_version"], "0.1.20170822snap45")
234
235     def test_nitrogen_multipatch_zip_url(self):
236         """Test URL of an ODL Nitrogen multipatch-test build zip archive."""
237         # noqa ShellCheckBear
238         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
239         version = vars.extract_version(url)
240         self.assertEqual(version["version_major"], "7")
241         self.assertEqual(version["version_minor"], "0")
242         self.assertEqual(version["version_patch"], "0")
243         self.assertEqual(version["pkg_version"], "0.1.20170822snap274")
244
245     def test_oxygen_multipatch_zip_url(self):
246         """Test URL of an ODL Oxygen multipatch-test build zip archive."""
247         # noqa ShellCheckBear
248         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
249         version = vars.extract_version(url)
250         self.assertEqual(version["version_major"], "8")
251         self.assertEqual(version["version_minor"], "0")
252         self.assertEqual(version["version_patch"], "0")
253         self.assertEqual(version["pkg_version"], "0.1.20170822snap6")