summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichal Minar <miminar@redhat.com>2013-08-08 12:51:05 +0200
committerMichal Minar <miminar@redhat.com>2013-08-08 12:53:21 +0200
commitd4b0d1c5cd2b62baba902d6d6ca3bcb4ca3806e1 (patch)
tree9d1039109512af52b4cccb6af0f2ff8c1439f863 /src
parent4e77e9373e45ec404cdcefe2a7862b8d064285d8 (diff)
downloadopenlmi-providers-d4b0d1c5cd2b62baba902d6d6ca3bcb4ca3806e1.tar.gz
openlmi-providers-d4b0d1c5cd2b62baba902d6d6ca3bcb4ca3806e1.tar.xz
openlmi-providers-d4b0d1c5cd2b62baba902d6d6ca3bcb4ca3806e1.zip
software: fix test for SoftwareIdentityResource
If the repository is enabled, expect repository to be ready. If disabled, allow both OK and Failed states.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/software/test/test_software_identity_resource.py32
1 files changed, 22 insertions, 10 deletions
diff --git a/src/software/test/test_software_identity_resource.py b/src/software/test/test_software_identity_resource.py
index d5efdfe..6f642d1 100755
--- a/src/software/test/test_software_identity_resource.py
+++ b/src/software/test/test_software_identity_resource.py
@@ -79,19 +79,24 @@ class TestSoftwareIdentityResource(
self.assertEqual(inst[key], inst.path[key])
self.assertEqual(repo.repoid, inst["Name"])
self.assertIsInstance(inst["AccessContext"], pywbem.Uint16)
- if inst["AccessInfo"] is not None:
- self.assertIsInstance(inst["AccessInfo"], basestring)
+
+ access_info = inst["AccessInfo"]
+ if access_info is not None and access_info.endswith('/'):
+ access_info = access_info[:-1]
+ if access_info is not None:
+ self.assertIsInstance(access_info, basestring)
if repo.mirror_list:
- self.assertEqual(inst["AccessInfo"], repo.mirror_list,
+ self.assertEqual(access_info, repo.mirror_list,
"AccessInfo does not match mirror_list for repo %s" %
repo.repoid)
elif repo.metalink:
- self.assertEqual(inst["AccessInfo"], repo.metalink,
+ self.assertEqual(access_info, repo.metalink,
"AccessInfo does not match metalink for repo %s" %
repo.repoid)
- elif inst["AccessInfo"] is not None:
- self.assertIn(inst["AccessInfo"], repo.base_urls,
+ elif access_info is not None:
+ self.assertIn(access_info, repo.base_urls,
"AccessInfo missing in base_urls for repo %s" % repo.repoid)
+
self.assertIsInstance(inst["AvailableRequestedStates"], list)
self.assertEqual(repo.name, inst["Caption"])
self.assertIsInstance(inst["Cost"], pywbem.Sint32)
@@ -106,22 +111,29 @@ class TestSoftwareIdentityResource(
else:
self.assertEqual(repo.revision, inst["Generation"],
"Generation does not match for repo %s" % repo.repoid)
- self.assertEqual(5, inst["HealthState"])
+ if repo.status:
+ self.assertEqual(5, inst["HealthState"]) # OK
+ self.assertEqual([2], inst["OperationalStatus"]) # OK
+ self.assertEqual(1, inst["PrimaryStatus"]) # OK
+ else:
+ # repo may not be enabled, but still it can be ready
+ # (which is not documented), so let's check both posibilities
+ self.assertIn(inst["HealthState"], [5, 20]) # OK, Major Failure
+ self.assertIn(inst["OperationalStatus"], [[2], [6]]) # [OK], [Error]
+ self.assertIn(inst["PrimaryStatus"], [1, 3]) # OK, Error
self.assertIsInstance(inst["GPGCheck"], bool)
self.assertEqual(200, inst["InfoFormat"])
self.assertEqual("LMI:LMI_SoftwareIdentityResource:"+repo.repoid,
inst["InstanceID"])
- if repo.mirror_list is None and repo.metalink is None:
+ if repo.mirror_list is None:
self.assertIsNone(inst["MirrorList"])
else:
self.assertEqual(
repo.metalink if repo.metalink else repo.mirror_list,
inst["MirrorList"])
- self.assertEqual([2], inst["OperationalStatus"])
self.assertIsInstance(inst["OtherAccessContext"], basestring)
#self.assertEqual(repo.pkg_count, inst["PackageCount"],
#"PackageCount does not match for repo %s" % repo.repoid)
- self.assertEqual(1, inst["PrimaryStatus"])
self.assertIsInstance(inst["RepoGPGCheck"], bool)
self.assertEqual(2 if repo.status else 3, inst["RequestedState"])
self.assertEqual(1, inst["ResourceType"])