+
+ def test_k3_norm_release_carbon(self):
+ """Test normal K3 URL gives distro prefix based on Karaf version."""
+ distro_prefix = lib.get_distro_name_prefix(6, self.k3_distro_url)
+ self.assertEqual(distro_prefix, self.k3_distro_prefix)
+
+
+class TestGetSysdCommit(unittest.TestCase):
+
+ """Test fn to get most recent Int/Pack hash to use as sysd file version."""
+
+ def test_type(self):
+ """Check that returned value is of the right type."""
+ sysd_hash = lib.get_sysd_commit()
+ self.assertIsInstance(sysd_hash, str)
+
+ def test_len(self):
+ """Check that returned value the normal length for a commit hash."""
+ sysd_hash = lib.get_sysd_commit()
+ self.assertEqual(len(sysd_hash), 40)
+
+ def test_only_valid_chars(self):
+ """Check that returned value only contains typical commit hash chars."""
+ sysd_hash = lib.get_sysd_commit()
+ self.assertRegexpMatches(sysd_hash, "^[A-Za-z0-9-]+$")
+
+
+class TestGetJavaVersion(unittest.TestCase):
+
+ """Test fn to get Java version required for a given ODL version."""
+
+ def test_type_given_int(self):
+ """Pass int, check that returned value is of the right type."""
+ java_version = lib.get_java_version(6)
+ self.assertIsInstance(java_version, int)
+
+ def test_type_given_str(self):
+ """Pass str, check that returned value is of the right type."""
+ java_version = lib.get_java_version("6")
+ self.assertIsInstance(java_version, int)
+
+ def test_old_given_int(self):
+ """Pass old ODL major version as int, check that Java 7 returned."""
+ java_version = lib.get_java_version(4)
+ self.assertEqual(java_version, 7)
+
+ def test_old_given_str(self):
+ """Pass old ODL major version as str, check that Java 7 returned."""
+ java_version = lib.get_java_version("4")
+ self.assertEqual(java_version, 7)
+
+ def test_fluorine_given_int(self):
+ """Pass Fluorine major version as int, check that Java 8 returned."""
+ java_version = lib.get_java_version(9)
+ self.assertEqual(java_version, 8)
+
+ def test_fluorine_given_str(self):
+ """Pass Fluorine major version as str, check that Java 8 returned."""
+ java_version = lib.get_java_version("9")
+ self.assertEqual(java_version, 8)
+
+ def test_neon_given_int(self):
+ """Pass Neon major version as int, check that Java 8 returned."""
+ java_version = lib.get_java_version(10)
+ self.assertEqual(java_version, 8)
+
+ def test_neon_given_str(self):
+ """Pass Neon major version as str, check that Java 8 returned."""
+ java_version = lib.get_java_version("10")
+ self.assertEqual(java_version, 8)
+
+
+class TestGetChangelogDate(unittest.TestCase):
+
+ """Test lib fn that gives date for changelog in RPM or Deb format."""
+
+ def test_type_rpm(self):
+ """Test type of return object is correct given RPM arg."""
+ changelog_date = lib.get_changelog_date("rpm")
+ self.assertIsInstance(changelog_date, str)
+
+ def test_type_deb(self):
+ """Test type of return object is correct given Deb arg."""
+ changelog_date = lib.get_changelog_date("deb")
+ self.assertIsInstance(changelog_date, str)
+
+ def test_has_year_rpm(self):
+ """Test returned value has a year in it given RPM arg."""
+ changelog_date = lib.get_changelog_date("rpm")
+ self.assertRegexpMatches(changelog_date, "[20]\d\d")
+
+ def test_has_year_deb(self):
+ """Test returned value has a year in it given Deb arg."""
+ changelog_date = lib.get_changelog_date("deb")
+ self.assertRegexpMatches(changelog_date, "[20]\d\d")
+
+ def test_has_month_rpm(self):
+ """Test returned value has a month in it given RPM arg."""
+ changelog_date = lib.get_changelog_date("rpm")
+ self.assertRegexpMatches(
+ changelog_date,
+ "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec")
+
+ def test_has_month_deb(self):
+ """Test returned value has a month in it given Deb arg."""
+ changelog_date = lib.get_changelog_date("deb")
+ self.assertRegexpMatches(
+ changelog_date,
+ "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec")
+
+ def test_has_day_rpm(self):
+ """Test returned value has a day in it given RPM arg."""
+ changelog_date = lib.get_changelog_date("rpm")
+ self.assertRegexpMatches(
+ changelog_date,
+ "Mon|Tue|Wed|Thu|Fri|Sat|Sun")
+
+ def test_has_day_deb(self):
+ """Test returned value has a day in it given Deb arg."""
+ changelog_date = lib.get_changelog_date("deb")
+ self.assertRegexpMatches(
+ changelog_date,
+ "Mon|Tue|Wed|Thu|Fri|Sat|Sun")