
# HG changeset patch # User Kaitlin Rupert <karupert@us.ibm.com> # Date 1229361894 28800 # Node ID 509194d22352d8c6ca7c0426225ab11b05c7e9f7 # Parent 8feb8f22739358d39e50166712ce069e10bb82af [TEST] #2 Remove try_getinstance() from VSMSD - 02_vsmsd_gi_errs.py try_getinstance() is no longer needed - this function can be implemented using functions from enumclass.py. Plus, a conn needs to be passed to the function, which is poor function design. Removed the "invalid_instid_keyname" case - passing an invalid keyname only tests the CIMOM, it does not test the providers. Updates: -Change "return PASS" to "return status" Signed-off-by: Kaitlin Rupert <karupert@us.ibm.com> diff -r 8feb8f227393 -r 509194d22352 suites/libvirt-cim/cimtest/VirtualSystemMigrationSettingData/02_vsmsd_gi_errs.py --- a/suites/libvirt-cim/cimtest/VirtualSystemMigrationSettingData/02_vsmsd_gi_errs.py Fri Dec 12 13:59:35 2008 -0800 +++ b/suites/libvirt-cim/cimtest/VirtualSystemMigrationSettingData/02_vsmsd_gi_errs.py Mon Dec 15 09:24:54 2008 -0800 @@ -23,70 +23,64 @@ # -------------- # This tc is used to verify if appropriate exceptions are # returned by Xen_VSMSD on giving invalid inputs. -# 1) Test by giving invalid Invalid InstanceID Key Name -# Input: -# ------ -# wbemcli gi http://localhost:5988/root/virt:\ -# Xen_VirtualSystemMigrationSettingData.Wrong="MigrationSettingData" -nl # -# 2) Test by passing Invalid InstanceID Key Value +# 1) Test by passing Invalid InstanceID Key Value # Input: # ------ # wbemcli gi http://localhost:5988/root/virt:\ # Xen_VirtualSystemMigrationSettingData.InstanceID="Wrong" -nl -# -# Inboth the cases the following exception is verified. # # Output: # ------- # error code : CIM_ERR_NOT_FOUND # error desc : "No such instance (InstanceID)" # -# Date: 06-03-2008 + import sys -import pywbem -from XenKvmLib import assoc -from CimTest.Globals import logger, CIM_USER, CIM_PASS, CIM_NS -from CimTest.ReturnCodes import PASS -from XenKvmLib.common_util import try_getinstance +from pywbem import CIM_ERR_NOT_FOUND, CIMError +from pywbem.cim_obj import CIMInstanceName +from CimTest.ReturnCodes import PASS, FAIL +from CimTest.Globals import logger from XenKvmLib.const import do_main from XenKvmLib.classes import get_typed_class +from XenKvmLib.enumclass import GetInstance, CIM_CimtestClass platform_sup = ['Xen', 'XenFV', 'KVM', 'LXC'] -expr_values = { - "invalid_instid" : { 'rc' : pywbem.CIM_ERR_NOT_FOUND, \ - 'desc' : 'No such instance (InstanceID)' } - } -def verify_fields(): - classname = get_typed_class(options.virt, "VirtualSystemMigrationSettingData") - return try_getinstance(conn, classname, keys, field_name=field, \ - expr_values=expr_values['invalid_instid'], bug_no="") - - @do_main(platform_sup) def main(): - global options options = main.options - global conn - global keys - global field - conn = assoc.myWBEMConnection('http://%s' % options.ip, (CIM_USER, CIM_PASS), CIM_NS) - field = 'INVALID_Instid_KeyName' - keys = { field : "MigrationSettingData" } - status = verify_fields() + expr_values = { + 'rc' : CIM_ERR_NOT_FOUND, + 'desc' : 'No such instance (InstanceID)' + } + + cn = get_typed_class(options.virt, 'VirtualSystemMigrationSettingData') + + keys = { 'InstanceID' : 'INVALID_Instid_KeyValue' } + + ref = CIMInstanceName(cn, keybindings=keys) + + status = FAIL + try: + inst = CIM_CimtestClass(options.ip, ref) + + except CIMError, (err_no, err_desc): + exp_rc = expr_values['rc'] + exp_desc = expr_values['desc'] + + if err_no == exp_rc and err_desc.find(exp_desc) >= 0: + logger.info("Got expected exception: %s %s", exp_desc, exp_rc) + status = PASS + else: + logger.error("Unexpected errno %s and desc %s", err_no, err_desc) + logger.error("Expected %s %s", exp_desc, exp_rc) + status = FAIL + if status != PASS: - logger.error("------ FAILED: to check INVALID_Instid_KeyName.------") - return status + logger.error("------ FAILED: Invalid InstanceID Key Value.------") - field = 'INVALID_Instid_KeyValue' - keys = { 'InstanceID' : field } - status = verify_fields() - if status != PASS: - logger.error("------ FAILED: to check INVALID_Instid_KeyValue.------") - return status - - return PASS + return status if __name__ == "__main__": sys.exit(main())