Kaitlin Rupert wrote:
> +
> + # This below modification is req to accomadate the + #
> sblim-base-provider provider related changes
> + if ret == PASS and len(host_info) == 0:
> + host = linux_cs
> + elif ret == FAIL and len(host_info) == 1:
> + host = host_info[0]
> + elif (ret == FAIL and len(host_info) == 0) or \
> + (ret == PASS and len(host_info) == 1):
> + logger.error("Error in getting HostSystem information, Exiting...")
> + cxml.undefine(options.ip)
> + return FAIL
This kind of checking isn't needed. If sblim_check() returns PASS, use
the instance returned by it. Otherwise, verify len(host_info) > 1. If
it's not, return FAIL. Continue with the test if it is greater than 1.
So, you have:
if ret == PASS:
host = linux_cs
elif len(host_info) > 1:
host = host_info[0]
else:
return FAIL
The reason HostSystem enum_01.py needs to make this check is that it
is the test we use to very the enumeration of the HostSystem class. If
both a SBLIM provider and a HostSystem instance are returned, the
HostSystem/enum_01.py test will fail.
This test is about verifying the HostedDependency association - so,
all we need is the instance. HostSystem instance verification can take
place in enum_01.py.
And I didn't think of it when I was reviewing Daisy's tests, but we
could roll the sblim_check() call and the above if/elif/else statement
info get_host_info(). That way, you only need to call get_host_info()
- no need to worry about other checks.
Yes, moving to these verifications to get_host_info() will avoid lot of
repetations and will make the tc's look more cleaner.
I have submitted the changes.
Thanks and Regards,
Deepti.