summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/software/test/test_resource_for_software_identity.py28
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):