diff options
Diffstat (limited to 'src/software/test')
-rw-r--r-- | src/software/test/base.py | 29 | ||||
-rwxr-xr-x | src/software/test/test_hosted_software_collection.py | 14 | ||||
-rwxr-xr-x[-rw-r--r--] | src/software/test/test_installed_software_identity.py | 1 | ||||
-rwxr-xr-x | src/software/test/test_member_of_software_collection.py | 88 | ||||
-rwxr-xr-x | src/software/test/test_software_identity_resource.py | 7 |
5 files changed, 68 insertions, 71 deletions
diff --git a/src/software/test/base.py b/src/software/test/base.py index 318f47c..6359203 100644 --- a/src/software/test/base.py +++ b/src/software/test/base.py @@ -217,22 +217,25 @@ class SoftwareBaseTestCase(unittest.TestCase): #pylint: disable=R0904 os.makedirs(cls.cache_dir) # rpm packages are expected to be in CWD os.chdir(cls.cache_dir) - if cls.needs_pkgdb(): - cls.safe_pkgs, cls.dangerous_pkgs = rpmcache.get_pkg_database( - use_cache=use_cache, - dangerous=cls.run_dangerous, - repolist=cls.test_repos, - cache_dir=cls.cache_dir if use_cache else None) + if not hasattr(cls, 'safe_pkgs') or not hasattr(cls, 'dangerous_pkgs'): + if cls.needs_pkgdb(): + safe, dangerous = rpmcache.get_pkg_database( + use_cache=use_cache, + dangerous=cls.run_dangerous, + repolist=cls.test_repos, + cache_dir=cls.cache_dir if use_cache else None) + SoftwareBaseTestCase.safe_pkgs = safe + SoftwareBaseTestCase.dangerous_pkgs = dangerous + else: + cls.safe_pkgs = [] + cls.dangerous_pkgs = [] + if cls.needs_pkgdb_files() and not hasattr(cls, 'pkgdb_files'): for pkg in cls.dangerous_pkgs: if not rpmcache.is_pkg_installed(pkg.name): rpmcache.install_pkg(pkg, repolist=cls.test_repos) - if cls.needs_pkgdb_files(): - cls.pkgdb_files = cls.get_pkgdb_files() - else: - cls.safe_pkgs = [] - cls.dangerous_pkgs = [] - if cls.needs_repodb(): - cls.repodb = cls.get_repodb() + SoftwareBaseTestCase.pkgdb_files = cls.get_pkgdb_files() + if cls.needs_repodb() and not hasattr(cls, 'repodb'): + SoftwareBaseTestCase.repodb = cls.get_repodb() @classmethod def tearDownClass(cls): diff --git a/src/software/test/test_hosted_software_collection.py b/src/software/test/test_hosted_software_collection.py index bdac158..365fd5d 100755 --- a/src/software/test/test_hosted_software_collection.py +++ b/src/software/test/test_hosted_software_collection.py @@ -124,16 +124,14 @@ class TestHostedSoftwareCollection(base.SoftwareBaseTestCase): Test ReferenceNames for ComputerSystem. """ objpath = self.make_op() - refs = self.conn.ReferenceNames( + refs = self.conn.AssociatorNames( Role="Antecedent", - ObjectName=objpath["Antecedent"]) - self.assertGreater(len(refs), 0) - refs = [ r for r in refs if "Dependent" in r - and r["Dependent"].classname == \ - "LMI_SystemSoftwareCollection" ] - self.assertEqual(1, len(refs)) + ObjectName=objpath["Antecedent"], + ResultRole="Dependent", + ResultClass='LMI_SystemSoftwareCollection') + self.assertEqual(len(refs), 1) ref = refs[0] - self.assertEqual(ref, objpath) + self.assertEqual(objpath["Dependent"], ref) @base.mark_dangerous def test_get_dependent_referents(self): diff --git a/src/software/test/test_installed_software_identity.py b/src/software/test/test_installed_software_identity.py index f3dec9c..1065c20 100644..100755 --- a/src/software/test/test_installed_software_identity.py +++ b/src/software/test/test_installed_software_identity.py @@ -225,7 +225,6 @@ class TestInstalledSoftwareIdentity(base.SoftwareBaseTestCase): self.assertTrue(ref["InstanceID"].startswith("LMI:PKG:")) nevra_set = set(i["InstanceID"] for i in refs) - # NOTE: installed packages might not be available for pkg in self.safe_pkgs: nevra = 'LMI:PKG:'+pkg.get_nevra(with_epoch="ALWAYS") self.assertTrue(nevra in nevra_set, diff --git a/src/software/test/test_member_of_software_collection.py b/src/software/test/test_member_of_software_collection.py index 4d375c4..df259fe 100755 --- a/src/software/test/test_member_of_software_collection.py +++ b/src/software/test/test_member_of_software_collection.py @@ -69,25 +69,25 @@ class TestMemberOfSoftwareCollection(base.SoftwareBaseTestCase): "OP is missing \"%s\" key for package %s"%(key, pkg)) self.assertEqual(objpath, inst.path) - @base.mark_tedious - def test_enum_instance_names(self): - """ - Tests EnumInstanceNames call on installed packages. - """ - inames = self.conn.EnumerateInstanceNames(ClassName=self.CLASS_NAME) - self.assertGreater(len(inames), 0) - objpath = self.make_op(self.safe_pkgs[0]) - for iname in inames: - self.assertIsInstance(iname, pywbem.CIMInstanceName) - self.assertEqual(iname.namespace, 'root/cimv2') - self.assertEqual(iname.classname, self.CLASS_NAME) - self.assertEqual(sorted(iname.keys()), sorted(self.KEYS)) - self.assertEqual(objpath["Collection"], iname["Collection"]) - nevra_set = set(i["Member"]["InstanceID"] for i in inames) - for pkg in self.safe_pkgs: - nevra = 'LMI:PKG:'+pkg.get_nevra(with_epoch="ALWAYS") - self.assertTrue(nevra in nevra_set, - 'Missing nevra "%s".' % nevra) +# @base.mark_tedious +# def test_enum_instance_names(self): +# """ +# Tests EnumInstanceNames call on installed packages. +# """ +# inames = self.conn.EnumerateInstanceNames(ClassName=self.CLASS_NAME) +# self.assertGreater(len(inames), 0) +# objpath = self.make_op(self.safe_pkgs[0]) +# for iname in inames: +# self.assertIsInstance(iname, pywbem.CIMInstanceName) +# self.assertEqual(iname.namespace, 'root/cimv2') +# self.assertEqual(iname.classname, self.CLASS_NAME) +# self.assertEqual(sorted(iname.keys()), sorted(self.KEYS)) +# self.assertEqual(objpath["Collection"], iname["Collection"]) +# nevra_set = set(i["Member"]["InstanceID"] for i in inames) +# for pkg in self.safe_pkgs: +# nevra = 'LMI:PKG:'+pkg.get_nevra(with_epoch="ALWAYS") +# self.assertTrue(nevra in nevra_set, +# 'Missing nevra "%s".' % nevra) # @base.mark_tedious # def test_enum_instances(self): @@ -106,31 +106,31 @@ class TestMemberOfSoftwareCollection(base.SoftwareBaseTestCase): # for pkg in self.safe_pkgs: # self.assertIn(pkg.get_nevra(with_epoch="ALWAYS"), nevra_set) - @base.mark_tedious - def test_get_collection_referents(self): - """ - Test ReferenceNames for SystemSoftwareCollection. - """ - objpath = self.make_op(self.safe_pkgs[0]) - refs = self.conn.AssociatorNames( - Role="Collection", - ObjectName=objpath["Collection"], - ResultRole="Member", - ResultClass="LMI_SoftwareIdentity") - self.assertGreater(len(refs), 0) - for ref in refs: - self.assertIsInstance(ref, pywbem.CIMInstanceName) - self.assertEqual(ref.namespace, 'root/cimv2') - self.assertEqual(ref.classname, "LMI_SoftwareIdentity") - self.assertEqual(sorted(ref.keys()), ["InstanceID"]) - self.assertTrue(ref["InstanceID"].startswith("LMI:PKG:")) - nevra_set = set(i["InstanceID"] for i in refs) - # NOTE: installed packages might not be available - for pkg in self.safe_pkgs: - nevra = 'LMI:PKG:'+pkg.get_nevra(with_epoch="ALWAYS") - self.assertTrue(nevra in nevra_set, - 'Missing nevra "%s".' % nevra) - +# @base.mark_tedious +# def test_get_collection_referents(self): +# """ +# Test ReferenceNames for SystemSoftwareCollection. +# """ +# objpath = self.make_op(self.safe_pkgs[0]) +# refs = self.conn.AssociatorNames( +# Role="Collection", +# ObjectName=objpath["Collection"], +# ResultRole="Member", +# ResultClass="LMI_SoftwareIdentity") +# self.assertGreater(len(refs), 0) +# for ref in refs: +# self.assertIsInstance(ref, pywbem.CIMInstanceName) +# self.assertEqual(ref.namespace, 'root/cimv2') +# self.assertEqual(ref.classname, "LMI_SoftwareIdentity") +# self.assertEqual(sorted(ref.keys()), ["InstanceID"]) +# self.assertTrue(ref["InstanceID"].startswith("LMI:PKG:")) +# nevra_set = set(i["InstanceID"] for i in refs) +# # NOTE: installed packages might not be available +# for pkg in self.dangerous_pkgs: +# nevra = 'LMI:PKG:'+pkg.get_nevra(with_epoch="ALWAYS") +# self.assertTrue(nevra in nevra_set, +# 'Missing nevra "%s".' % nevra) +# def test_get_member_referents(self): """ Test ReferenceNames for SoftwareIdentity. diff --git a/src/software/test/test_software_identity_resource.py b/src/software/test/test_software_identity_resource.py index f728095..13f05de 100755 --- a/src/software/test/test_software_identity_resource.py +++ b/src/software/test/test_software_identity_resource.py @@ -99,8 +99,7 @@ class TestSoftwareIdentityResource( "EnabledState does not match for repo %s" % repo.repoid) self.assertEqual(3, inst["ExtendedResourceType"]) if repo.revision is None: - self.assertTrue(isinstance(inst["Generation"], (int, long)) - or inst["Generation"] is None) + self.assertIsNone(inst["Generation"]) else: self.assertEqual(repo.revision, inst["Generation"], "Generation does not match for repo %s" % repo.repoid) @@ -125,9 +124,7 @@ class TestSoftwareIdentityResource( self.assertIsInstance(inst["StatusDescriptions"], list) self.assertEqual(1, len(inst["StatusDescriptions"])) if repo.last_updated is None: - self.assertTrue( - isinstance(inst["TimeOfLastUpdate"], pywbem.CIMDateTime) or - inst["TimeOfLastUpdate"] is None) + self.assertIsNone(inst["TimeOfLastUpdate"]) else: time_stamp = repo.last_updated.replace( microsecond=0, tzinfo=pywbem.cim_types.MinutesFromUTC(0)) |