From 50a5726fad0adba300c16f503aff2602cdcc8b73 Mon Sep 17 00:00:00 2001 From: Daniel Farrell Date: Wed, 23 Aug 2017 16:13:18 -0400 Subject: [PATCH] Update pkg unit tests for new path, add tests Change directory of packaging unit tests to work after recent RPM/deb consolidation refactoring. Also add many tests for proper coverage. Change-Id: I693c17b19a33a4b2eb7bb7ffbcb1e4c7b3eb06fe Signed-off-by: Daniel Farrell --- packages/rpm/test_build.py | 102 -------------- packages/test_build.py | 267 +++++++++++++++++++++++++++++++++++++ packages/vars.py | 1 + 3 files changed, 268 insertions(+), 102 deletions(-) delete mode 100644 packages/rpm/test_build.py create mode 100644 packages/test_build.py diff --git a/packages/rpm/test_build.py b/packages/rpm/test_build.py deleted file mode 100644 index ceed3fc..0000000 --- a/packages/rpm/test_build.py +++ /dev/null @@ -1,102 +0,0 @@ - -############################################################################## -# Copyright (c) 2016 Daniel Farrell. All rights reserved. -# -# This program and the accompanying materials are made available under the -# terms of the Eclipse Public License v1.0 which accompanies this distribution, -# and is available at http://www.eclipse.org/legal/epl-v10.html -############################################################################## - -"""Tests for package build logic.""" - -import unittest - -import build - - -class TestExtractVersion(unittest.TestCase): - - """Test logic to extract ODL versions from artifact URLs.""" - - nexus_url = "https://nexus.opendaylight.org/content/repositories" - - def test_beryllium_release_url(self): - """Test URL of ODL Beryllium release.""" - # noqa ShellCheckBear - url = "%s/public/org/opendaylight/integration/distribution-karaf/0.4.0-Beryllium/distribution-karaf-0.4.0-Beryllium.tar.gz" % self.nexus_url - version = build.extract_version(url) - self.assertEqual(version["version_major"], "4") - self.assertEqual(version["version_minor"], "0") - self.assertEqual(version["version_patch"], "0") - self.assertEqual(version["pkg_version"], "1") - - def test_beryllium_sr4_release_url(self): - """Test URL of ODL Beryllium SR4 release.""" - # noqa ShellCheckBear - 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 - version = build.extract_version(url) - self.assertEqual(version["version_major"], "4") - self.assertEqual(version["version_minor"], "4") - self.assertEqual(version["version_patch"], "0") - self.assertEqual(version["pkg_version"], "1") - - def test_boron_release_url(self): - """Test URL of ODL Boron release.""" - # noqa ShellCheckBear - url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.5.0-Boron/distribution-karaf-0.5.0-Boron.tar.gz" % self.nexus_url - version = build.extract_version(url) - self.assertEqual(version["version_major"], "5") - self.assertEqual(version["version_minor"], "0") - self.assertEqual(version["version_patch"], "0") - self.assertEqual(version["pkg_version"], "1") - - def test_boron_sr1_release_url(self): - """Test URL of ODL Boron SR1 release.""" - # noqa ShellCheckBear - 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 - version = build.extract_version(url) - self.assertEqual(version["version_major"], "5") - self.assertEqual(version["version_minor"], "1") - self.assertEqual(version["version_patch"], "0") - self.assertEqual(version["pkg_version"], "1") - - def test_boron_sr3_autorelease_url(self): - """Test URL of ODL Boron SR3 autorelease.""" - # noqa ShellCheckBear - 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 - version = build.extract_version(url) - self.assertEqual(version["version_major"], "5") - self.assertEqual(version["version_minor"], "3") - self.assertEqual(version["version_patch"], "0") - self.assertEqual(version["pkg_version"], "0.1.20170324rel1734") - - @unittest.skip("No current Carbon autorelease examples") - def test_carbon_autorelease_url(self): - """Test URL of ODL Carbon autorelease.""" - # noqa ShellCheckBear - url = "%s/autorelease-1582/org/opendaylight/integration/distribution-karaf/0.6.0-Carbon/distribution-karaf-0.6.0-Carbon.tar.gz" % self.nexus_url - version = build.extract_version(url) - self.assertEqual(version["version_major"], "6") - self.assertEqual(version["version_minor"], "0") - self.assertEqual(version["version_patch"], "0") - self.assertEqual(version["pkg_version"], "0.1.20161117rel1582") - - def test_boron_sr2_snapshot_url(self): - """Test URL of ODL Boron SR2 snapshot.""" - # noqa ShellCheckBear - 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 - version = build.extract_version(url) - self.assertEqual(version["version_major"], "5") - self.assertEqual(version["version_minor"], "2") - self.assertEqual(version["version_patch"], "0") - self.assertEqual(version["pkg_version"], "0.1.20161212snap530") - - def test_carbon_snapshot_url(self): - """Test URL of ODL Carbon snapshot.""" - # noqa ShellCheckBear - 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 - version = build.extract_version(url) - self.assertEqual(version["version_major"], "6") - self.assertEqual(version["version_minor"], "0") - self.assertEqual(version["version_patch"], "0") - self.assertEqual(version["pkg_version"], "0.1.20161212snap2486") diff --git a/packages/test_build.py b/packages/test_build.py new file mode 100644 index 0000000..b1c927e --- /dev/null +++ b/packages/test_build.py @@ -0,0 +1,267 @@ +############################################################################## +# Copyright (c) 2016 Daniel Farrell. All rights reserved. +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License v1.0 which accompanies this distribution, +# and is available at http://www.eclipse.org/legal/epl-v10.html +############################################################################## + +"""Tests for package build logic.""" + +import unittest + +import vars + + +class TestExtractVersion(unittest.TestCase): + + """Test logic to extract ODL versions from artifact URLs.""" + + nexus_url = "https://nexus.opendaylight.org/content/repositories" + + def test_boron_sr4_release_url(self): + """Test URL of the ODL Boron SR4 release.""" + # noqa ShellCheckBear + 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 + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "5") + self.assertEqual(version["version_minor"], "4") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "1") + + def test_boron_sr4_release_zip_url(self): + """Test URL of the ODL Boron SR4 release zip archive.""" + # noqa ShellCheckBear + 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 + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "5") + self.assertEqual(version["version_minor"], "4") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "1") + + def test_carbon_release_url(self): + """Test URL of the ODL Carbon release.""" + # noqa ShellCheckBear + url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.0-Carbon/distribution-karaf-0.6.0-Carbon.tar.gz" % self.nexus_url + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "6") + self.assertEqual(version["version_minor"], "0") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "1") + + def test_carbon_release_zip_url(self): + """Test URL of the ODL Carbon release zip archive.""" + # noqa ShellCheckBear + url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.0-Carbon/distribution-karaf-0.6.0-Carbon.zip" % self.nexus_url + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "6") + self.assertEqual(version["version_minor"], "0") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "1") + + def test_carbon_sr1_release_url(self): + """Test URL of the ODL Carbon SR1 release.""" + # noqa ShellCheckBear + url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.1-Carbon/distribution-karaf-0.6.1-Carbon.tar.gz" % self.nexus_url + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "6") + self.assertEqual(version["version_minor"], "1") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "1") + + def test_carbon_sr1_release_zip_url(self): + """Test URL of the ODL Carbon SR1 release zip archive.""" + # noqa ShellCheckBear + url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.1-Carbon/distribution-karaf-0.6.1-Carbon.zip" % self.nexus_url + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "6") + self.assertEqual(version["version_minor"], "1") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "1") + + def test_boron_autorelease_url(self): + """Test URL of an ODL Boron autorelease build.""" + # noqa ShellCheckBear + 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 + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "5") + self.assertEqual(version["version_minor"], "5") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170813rel1928") + + @unittest.skip("Hangs, not sure why") + def test_boron_autorelease_zip_url(self): + """Test URL of an ODL Boron autorelease build zip archive.""" + # noqa ShellCheckBear + 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 + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "5") + self.assertEqual(version["version_minor"], "5") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170813rel1928") + + def test_carbon_autorelease_url(self): + """Test URL of an ODL Carbon autorelease build.""" + # noqa ShellCheckBear + url = "%s/autorelease-1940/org/opendaylight/integration/distribution-karaf/0.6.2-Carbon/distribution-karaf-0.6.2-Carbon.tar.gz" % self.nexus_url + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "6") + self.assertEqual(version["version_minor"], "2") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170823rel1940") + + def test_carbon_autorelease_zip_url(self): + """Test URL of an ODL Carbon autorelease build zip archive.""" + # noqa ShellCheckBear + url = "%s/autorelease-1940/org/opendaylight/integration/distribution-karaf/0.6.2-Carbon/distribution-karaf-0.6.2-Carbon.tar.gz" % self.nexus_url + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "6") + self.assertEqual(version["version_minor"], "2") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170823rel1940") + + @unittest.skip("Hangs, not sure why") + def test_nitrogen_autorelease_url(self): + """Test URL of an ODL Nitrogen autorelease build.""" + # noqa ShellCheckBear + url = "%s/autorelease-1939/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz" % self.nexus_url + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "7") + self.assertEqual(version["version_minor"], "0") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170723rel1916") + + @unittest.skip("Hangs, not sure why") + def test_nitrogen_autorelease_zip_url(self): + """Test URL of an ODL Nitrogen autorelease build zip archive.""" + # noqa ShellCheckBear + url = "%s/autorelease-1939/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz" % self.nexus_url + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "7") + self.assertEqual(version["version_minor"], "0") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170723rel1916") + + def test_boron_snapshot_url(self): + """Test URL of an ODL Boron snapshot build.""" + # noqa ShellCheckBear + 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 + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "5") + self.assertEqual(version["version_minor"], "5") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170813snap357") + + def test_boron_snapshot_zip_url(self): + """Test URL of an ODL Boron snapshot build zip archive.""" + # noqa ShellCheckBear + 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 + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "5") + self.assertEqual(version["version_minor"], "5") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170813snap357") + + def test_carbon_snapshot_url(self): + """Test URL of an ODL Carbon snapshot build.""" + # noqa ShellCheckBear + 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 + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "6") + self.assertEqual(version["version_minor"], "2") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170821snap442") + + def test_carbon_snapshot_zip_url(self): + """Test URL of an ODL Carbon snapshot build zip archive.""" + # noqa ShellCheckBear + 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 + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "6") + self.assertEqual(version["version_minor"], "2") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170821snap442") + + # Karaf 4 karaf- vs distribution-karaf naming not supported + @unittest.expectedFailure + def test_nitrogen_snapshot_url(self): + """Test URL of an ODL Nitrogen snapshot build.""" + # noqa ShellCheckBear + url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.7.0-SNAPSHOT/karaf-0.7.0-20170815.162950-1727.tar.gz" % self.nexus_url + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "7") + self.assertEqual(version["version_minor"], "0") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170815snap1727") + + # Karaf 4 karaf- vs distribution-karaf naming not supported + @unittest.expectedFailure + def test_nitrogen_snapshot_zip_url(self): + """Test URL of an ODL Nitrogen snapshot build zip archive.""" + # noqa ShellCheckBear + url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.7.0-SNAPSHOT/karaf-0.7.0-20170815.162950-1727.tar.gz" % self.nexus_url + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "7") + self.assertEqual(version["version_minor"], "0") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170815snap1727") + + # Karaf 4 karaf- vs distribution-karaf naming not supported + @unittest.expectedFailure + def test_oxygen_snapshot_url(self): + """Test URL of an ODL Oxygen snapshot build.""" + # noqa ShellCheckBear + url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20170815.163312-2.tar.gz" % self.nexus_url + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "8") + self.assertEqual(version["version_minor"], "0") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170815snap2") + + # Karaf 4 karaf- vs distribution-karaf naming not supported + @unittest.expectedFailure + def test_oxygen_snapshot_zip_url(self): + """Test URL of an ODL Oxygen snapshot build zip archive.""" + # noqa ShellCheckBear + url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20170815.163312-2.tar.gz" % self.nexus_url + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "8") + self.assertEqual(version["version_minor"], "0") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170815snap2") + + # Multipatch Nexus repos are not currently supported + @unittest.expectedFailure + def test_carbon_multipatch_zip_url(self): + """Test URL of an ODL Carbon multipatch-test build zip archive.""" + # noqa ShellCheckBear + 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 + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "6") + self.assertEqual(version["version_minor"], "2") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170822snap45") + + # Multipatch Nexus repos are not currently supported + @unittest.expectedFailure + def test_nitrogen_multipatch_zip_url(self): + """Test URL of an ODL Nitrogen multipatch-test build zip archive.""" + # noqa ShellCheckBear + 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 + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "7") + self.assertEqual(version["version_minor"], "0") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170822snap274") + + # Multipatch Nexus repos are not currently supported + @unittest.expectedFailure + def test_oxygen_multipatch_zip_url(self): + """Test URL of an ODL Oxygen multipatch-test build zip archive.""" + # noqa ShellCheckBear + 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 + version = vars.extract_version(url) + self.assertEqual(version["version_major"], "8") + self.assertEqual(version["version_minor"], "0") + self.assertEqual(version["version_patch"], "0") + self.assertEqual(version["pkg_version"], "0.1.20170822snap6") diff --git a/packages/vars.py b/packages/vars.py index 987ebe1..c23a78e 100644 --- a/packages/vars.py +++ b/packages/vars.py @@ -9,6 +9,7 @@ ############################################################################## import datetime +import os import re import subprocess import sys -- 2.36.6