Build deb's using common build.py
[integration/packaging.git] / packages / rpm / test_build.py
1
2 ##############################################################################
3 # Copyright (c) 2016 Daniel Farrell.  All rights reserved.
4 #
5 # This program and the accompanying materials are made available under the
6 # terms of the Eclipse Public License v1.0 which accompanies this distribution,
7 # and is available at http://www.eclipse.org/legal/epl-v10.html
8 ##############################################################################
9
10 """Tests for package build logic."""
11
12 import unittest
13
14 import build
15
16
17 class TestExtractVersion(unittest.TestCase):
18
19     """Test logic to extract ODL versions from artifact URLs."""
20
21     nexus_url = "https://nexus.opendaylight.org/content/repositories"
22
23     def test_beryllium_release_url(self):
24         """Test URL of ODL Beryllium release."""
25         # noqa ShellCheckBear
26         url = "%s/public/org/opendaylight/integration/distribution-karaf/0.4.0-Beryllium/distribution-karaf-0.4.0-Beryllium.tar.gz" % self.nexus_url
27         version = build.extract_version(url)
28         self.assertEqual(version["version_major"], "4")
29         self.assertEqual(version["version_minor"], "0")
30         self.assertEqual(version["version_patch"], "0")
31         self.assertEqual(version["pkg_version"], "1")
32
33     def test_beryllium_sr4_release_url(self):
34         """Test URL of ODL Beryllium SR4 release."""
35         # noqa ShellCheckBear
36         url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.4.4-Beryllium-SR4/distribution-karaf-0.4.4-Beryllium-SR4.tar.gz" % self.nexus_url
37         version = build.extract_version(url)
38         self.assertEqual(version["version_major"], "4")
39         self.assertEqual(version["version_minor"], "4")
40         self.assertEqual(version["version_patch"], "0")
41         self.assertEqual(version["pkg_version"], "1")
42
43     def test_boron_release_url(self):
44         """Test URL of ODL Boron release."""
45         # noqa ShellCheckBear
46         url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.5.0-Boron/distribution-karaf-0.5.0-Boron.tar.gz" % self.nexus_url
47         version = build.extract_version(url)
48         self.assertEqual(version["version_major"], "5")
49         self.assertEqual(version["version_minor"], "0")
50         self.assertEqual(version["version_patch"], "0")
51         self.assertEqual(version["pkg_version"], "1")
52
53     def test_boron_sr1_release_url(self):
54         """Test URL of ODL Boron SR1 release."""
55         # noqa ShellCheckBear
56         url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.5.1-Boron-SR1/distribution-karaf-0.5.1-Boron-SR1.tar.gz" % self.nexus_url
57         version = build.extract_version(url)
58         self.assertEqual(version["version_major"], "5")
59         self.assertEqual(version["version_minor"], "1")
60         self.assertEqual(version["version_patch"], "0")
61         self.assertEqual(version["pkg_version"], "1")
62
63     def test_boron_sr3_autorelease_url(self):
64         """Test URL of ODL Boron SR3 autorelease."""
65         # noqa ShellCheckBear
66         url = "%s/autorelease-1734/org/opendaylight/integration/distribution-karaf/0.5.3-Boron-SR3/distribution-karaf-0.5.3-Boron-SR3.tar.gz" % self.nexus_url
67         version = build.extract_version(url)
68         self.assertEqual(version["version_major"], "5")
69         self.assertEqual(version["version_minor"], "3")
70         self.assertEqual(version["version_patch"], "0")
71         self.assertEqual(version["pkg_version"], "0.1.20170324rel1734")
72
73     @unittest.skip("No current Carbon autorelease examples")
74     def test_carbon_autorelease_url(self):
75         """Test URL of ODL Carbon autorelease."""
76         # noqa ShellCheckBear
77         url = "%s/autorelease-1582/org/opendaylight/integration/distribution-karaf/0.6.0-Carbon/distribution-karaf-0.6.0-Carbon.tar.gz" % self.nexus_url
78         version = build.extract_version(url)
79         self.assertEqual(version["version_major"], "6")
80         self.assertEqual(version["version_minor"], "0")
81         self.assertEqual(version["version_patch"], "0")
82         self.assertEqual(version["pkg_version"], "0.1.20161117rel1582")
83
84     def test_boron_sr2_snapshot_url(self):
85         """Test URL of ODL Boron SR2 snapshot."""
86         # noqa ShellCheckBear
87         url = "%s/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.5.2-SNAPSHOT/distribution-karaf-0.5.2-20161212.010649-530.tar.gz" % self.nexus_url
88         version = build.extract_version(url)
89         self.assertEqual(version["version_major"], "5")
90         self.assertEqual(version["version_minor"], "2")
91         self.assertEqual(version["version_patch"], "0")
92         self.assertEqual(version["pkg_version"], "0.1.20161212snap530")
93
94     def test_carbon_snapshot_url(self):
95         """Test URL of ODL Carbon snapshot."""
96         # noqa ShellCheckBear
97         url = "%s/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.6.0-SNAPSHOT/distribution-karaf-0.6.0-20161212.173815-2486.tar.gz" % self.nexus_url
98         version = build.extract_version(url)
99         self.assertEqual(version["version_major"], "6")
100         self.assertEqual(version["version_minor"], "0")
101         self.assertEqual(version["version_patch"], "0")
102         self.assertEqual(version["pkg_version"], "0.1.20161212snap2486")