summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichal Minar <miminar@redhat.com>2013-12-05 11:07:08 +0100
committerMichal Minar <miminar@redhat.com>2013-12-12 15:04:10 +0100
commit8996160b8a00219eb421bcf86d88f0f496647c1a (patch)
treecafc19602d6c2b12b14b63337138fd6006a1777b /src
parentc5671a8b538c64acc4083a5c044c9dd99dfb6184 (diff)
downloadopenlmi-providers-8996160b8a00219eb421bcf86d88f0f496647c1a.tar.gz
openlmi-providers-8996160b8a00219eb421bcf86d88f0f496647c1a.tar.xz
openlmi-providers-8996160b8a00219eb421bcf86d88f0f496647c1a.zip
software: improved association test
Assert that InstallDate is filled properly for available packages that are installed.
Diffstat (limited to 'src')
-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):