diff options
-rw-r--r-- | src/software/test/test_resource_for_software_identity.py | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/src/software/test/test_resource_for_software_identity.py b/src/software/test/test_resource_for_software_identity.py index e44f0db..05814f3 100644 --- a/src/software/test/test_resource_for_software_identity.py +++ b/src/software/test/test_resource_for_software_identity.py @@ -24,6 +24,7 @@ Unit tests for ``LMI_ResourceForSoftwareIdentity`` provider. import unittest +import package import swbase ENABLED_STATE_ENABLED = 2 @@ -161,7 +162,13 @@ class TestResourceForSoftwareIdentity(swbase.SwTestCase): ref.InstanceID.startswith("LMI:LMI_SoftwareIdentity:")) @swbase.test_with_repos('updates') - def test_repo_indentities(self): + @swbase.test_with_packages(**{ + 'updates#pkg1' : True, + 'updates#pkg2' : True, + 'updates#pkg3' : False, + 'updates#pkg4' : False + }) + def test_repo_identities(self): """ Test ``Associators()`` call on ``LMI_ResourceForSoftwareIdentity``. """ @@ -184,13 +191,24 @@ class TestResourceForSoftwareIdentity(swbase.SwTestCase): self.assertEqual(ref.classname, "LMI_SoftwareIdentity") self.assertEqual(ref.path.key_properties(), ["InstanceID"]) - nevra_set = set(i.ElementName for i in refs) + nevra_dict = {i.ElementName: i for i in refs} + installed_count = 0 for pkg in repo.packages: - self.assertTrue(pkg.nevra in nevra_set, + self.assertTrue(pkg.nevra in nevra_dict, 'Missing package "%s" in repo "%s".' % (pkg, repo.repoid)) - nevra_set.remove(pkg.nevra) - self.assertEqual(len(nevra_set), 0, + if package.is_pkg_installed(pkg): + self.assertNotEqual(nevra_dict[pkg.nevra].InstallDate, None, + "InstallDate property is set for installed and" + " available package %s" % pkg) + installed_count += 1 + else: + self.assertEqual(nevra_dict[pkg.nevra].InstallDate, None, + "InstallDate property is unset for available package" + " %s" % pkg) + del nevra_dict[pkg.nevra] + self.assertEqual(len(nevra_dict), 0, "all packages from repository have been listed") + self.assertEqual(installed_count, 2) @swbase.test_with_repos('stable') def test_get_pkg_repository_name(self): |