From: Michael Chase-S. <mc...@us...> - 2012-05-23 21:58:57
|
Update of /cvsroot/sblim/sfcb/test/TestProviders/tests In directory vz-cvs-3.sog:/tmp/cvs-serv22257/test/TestProviders/tests Modified Files: limitTest.sh Added Files: limitTestCF2.XML limitTestDS2.XML limitTestEnableSub.XML Log Message: 3513390 - Enforce LD and subscription limits Active sub limit, move LD limits to interop --- NEW FILE: limitTestEnableSub.XML --- <?xml version="1.0" encoding="utf-8" ?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="4711" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL NAME="ModifyInstance"><LOCALNAMESPACEPATH><NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="interop"></NAMESPACE></LOCALNAMESPACEPATH> <IPARAMVALUE NAME="ModifiedInstance"><VALUE.NAMEDINSTANCE><INSTANCENAME CLASSNAME="cim_indicationsubscription"><KEYBINDING NAME="filter"><VALUE.REFERENCE><INSTANCEPATH><NAMESPACEPATH><HOST>localhost</HOST><LOCALNAMESPACEPATH><NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="interop"></NAMESPACE></LOCALNAMESPACEPATH></NAMESPACEPATH><INSTANCENAME CLASSNAME="cim_indicationfilter"><KEYBINDING NAME="creationclassname"><KEYVALUE VALUETYPE="string">CIM_IndicationFilter</KEYVALUE></KEYBINDING><KEYBINDING NAME="name"><KEYVALUE VALUETYPE="string">limitTest_f2</KEYVALUE></KEYBINDING><KEYBINDING NAME="systemcreationclassname"><KEYVALUE VALUETYPE="string">CIM_ComputerSystem</KEYVALUE></KEYBINDING><KEYBINDING NAME="systemname"><KEYVALUE VALUETYPE="string">localhost.localdomain</KEYVALUE></KEYBINDING></INSTANCENAME></INSTANCEPATH></VALUE.REFERENCE></KEYBINDING><KEYBINDING NAME="handler"><VALUE.REFERENCE><INSTANCEPATH><NAMESPACEPATH><HOST>localhost</HOST><LOCALNAMESPACEPATH><NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="interop"></NAMESPACE></LOCALNAMESPACEPATH></NAMESPACEPATH><INSTANCENAME CLASSNAME="cim_indicationhandlercimxml"><KEYBINDING NAME="creationclassname"><KEYVALUE VALUETYPE="string">CIM_IndicationHandlerCIMXML</KEYVALUE></KEYBINDING><KEYBINDING NAME="name"><KEYVALUE VALUETYPE="string">limitTest_1</KEYVALUE></KEYBINDING><KEYBINDING NAME="systemcreationclassname"><KEYVALUE VALUETYPE="string">CIM_ComputerSystem</KEYVALUE></KEYBINDING><KEYBINDING NAME="systemname"><KEYVALUE VALUETYPE="string">localhost.localdomain</KEYVALUE></KEYBINDING></INSTANCENAME></INSTANCEPATH></VALUE.REFERENCE></KEYBINDING></INSTANCENAME><INSTANCE CLASSNAME="cim_indicationsubscription"><PROPERTY.REFERENCE NAME="Handler"> <VALUE.REFERENCE> <LOCALINSTANCEPATH> <LOCALNAMESPACEPATH> <NAMESPACE NAME="root"/> <NAMESPACE NAME="interop"/> </LOCALNAMESPACEPATH> <INSTANCENAME CLASSNAME="CIM_IndicationHandlerCIMXML"> <KEYBINDING NAME="SystemCreationClassName"> <KEYVALUE VALUETYPE="string">CIM_ComputerSystem</KEYVALUE> </KEYBINDING> <KEYBINDING NAME="SystemName"> <KEYVALUE VALUETYPE="string">localhost.localdomain</KEYVALUE> </KEYBINDING> <KEYBINDING NAME="CreationClassName"> <KEYVALUE VALUETYPE="string">CIM_IndicationHandlerCIMXML</KEYVALUE> </KEYBINDING> <KEYBINDING NAME="Name"> <KEYVALUE VALUETYPE="string">limitTest_1</KEYVALUE> </KEYBINDING> </INSTANCENAME> </LOCALINSTANCEPATH> </VALUE.REFERENCE> </PROPERTY.REFERENCE><PROPERTY.REFERENCE NAME="Filter"> <VALUE.REFERENCE> <LOCALINSTANCEPATH> <LOCALNAMESPACEPATH> <NAMESPACE NAME="root"/> <NAMESPACE NAME="interop"/> </LOCALNAMESPACEPATH> <INSTANCENAME CLASSNAME="CIM_IndicationFilter"> <KEYBINDING NAME="SystemCreationClassName"> <KEYVALUE VALUETYPE="string">CIM_ComputerSystem</KEYVALUE> </KEYBINDING> <KEYBINDING NAME="SystemName"> <KEYVALUE VALUETYPE="string">localhost.localdomain</KEYVALUE> </KEYBINDING> <KEYBINDING NAME="CreationClassName"> <KEYVALUE VALUETYPE="string">CIM_IndicationFilter</KEYVALUE> </KEYBINDING> <KEYBINDING NAME="Name"> <KEYVALUE VALUETYPE="string">limitTest_f2</KEYVALUE> </KEYBINDING> </INSTANCENAME> </LOCALINSTANCEPATH> </VALUE.REFERENCE> </PROPERTY.REFERENCE><PROPERTY NAME="OnFatalErrorPolicy" TYPE="uint16"> </PROPERTY><PROPERTY NAME="OtherOnFatalErrorPolicy" TYPE="string"> </PROPERTY><PROPERTY NAME="FailureTriggerTimeInterval" TYPE="uint64"> </PROPERTY> <PROPERTY NAME="SubscriptionState" TYPE="uint16"><VALUE>2</VALUE></PROPERTY><PROPERTY NAME="OtherSubscriptionState" TYPE="string"> </PROPERTY><PROPERTY NAME="TimeOfLastStateChange" TYPE="datetime"> </PROPERTY><PROPERTY NAME="SubscriptionDuration" TYPE="uint64"> </PROPERTY><PROPERTY NAME="SubscriptionStartTime" TYPE="datetime"> <VALUE>20120522154444.655395-240</VALUE> </PROPERTY><PROPERTY NAME="SubscriptionTimeRemaining" TYPE="uint64"> </PROPERTY><PROPERTY NAME="RepeatNotificationPolicy" TYPE="uint16"> </PROPERTY><PROPERTY NAME="OtherRepeatNotificationPolicy" TYPE="string"> </PROPERTY><PROPERTY NAME="RepeatNotificationInterval" TYPE="uint64"> </PROPERTY><PROPERTY NAME="RepeatNotificationGap" TYPE="uint64"> </PROPERTY><PROPERTY NAME="RepeatNotificationCount" TYPE="uint16"> </PROPERTY></INSTANCE></VALUE.NAMEDINSTANCE></IPARAMVALUE> </IMETHODCALL></SIMPLEREQ> </MESSAGE></CIM> --- NEW FILE: limitTestCF2.XML --- <?xml version="1.0" encoding="utf-8"?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="4711" PROTOCOLVERSION="1.0"> <SIMPLEREQ> <IMETHODCALL NAME="CreateInstance"> <LOCALNAMESPACEPATH> <NAMESPACE NAME="root"/> <NAMESPACE NAME="interop"/> </LOCALNAMESPACEPATH> <IPARAMVALUE NAME="NewInstance"> <INSTANCE CLASSNAME="CIM_IndicationFilter"> <PROPERTY NAME="SystemName" TYPE="string"> <VALUE>localhost.localdomain</VALUE> </PROPERTY> <PROPERTY NAME="SystemCreationClassName" TYPE="string"> <VALUE>CIM_ComputerSystem</VALUE> </PROPERTY> <PROPERTY NAME="CreationClassName" TYPE="string"> <VALUE>CIM_IndicationFilter</VALUE> </PROPERTY> <PROPERTY NAME="Name" TYPE="string"> <VALUE>limitTest_f2</VALUE> </PROPERTY> <PROPERTY NAME="Query" TYPE="string"> <VALUE> SELECT * FROM Test_Indication </VALUE> </PROPERTY> <PROPERTY NAME="QueryLanguage" TYPE="string"> <VALUE>WQL</VALUE> </PROPERTY> <PROPERTY NAME="SourceNamespace" TYPE="string"> <VALUE>root/interop</VALUE> </PROPERTY> </INSTANCE> </IPARAMVALUE> </IMETHODCALL> </SIMPLEREQ> </MESSAGE> </CIM> Index: limitTest.sh =================================================================== RCS file: /cvsroot/sblim/sfcb/test/TestProviders/tests/limitTest.sh,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- limitTest.sh 19 Apr 2012 17:39:55 -0000 1.1 +++ limitTest.sh 23 May 2012 21:58:55 -0000 1.2 @@ -43,7 +43,76 @@ cleanup () { # Cleans up all created instances - CLPRE='<?xml version="1.0" encoding="utf-8"?> + CLSPRE='<?xml version="1.0" encoding="utf-8"?> +<CIM CIMVERSION="2.0" DTDVERSION="2.0"> + <MESSAGE ID="4711" PROTOCOLVERSION="1.0"> + <SIMPLEREQ> + <IMETHODCALL NAME="DeleteInstance"> + <LOCALNAMESPACEPATH> + <NAMESPACE NAME="root"/> + <NAMESPACE NAME="interop"/> + </LOCALNAMESPACEPATH> + <IPARAMVALUE NAME="InstanceName"> + <INSTANCENAME CLASSNAME="CIM_IndicationSubscription"> + <KEYBINDING NAME="Filter"> + <VALUE.REFERENCE> + <INSTANCENAME CLASSNAME="CIM_IndicationFilter"> + <KEYBINDING NAME="SystemCreationClassName"> + <KEYVALUE VALUETYPE="string"> + CIM_ComputerSystem + </KEYVALUE> + </KEYBINDING> + <KEYBINDING NAME="SystemName"> + <KEYVALUE VALUETYPE="string"> + localhost.localdomain + </KEYVALUE> + </KEYBINDING> + <KEYBINDING NAME="CreationClassName"> + <KEYVALUE VALUETYPE="string"> + CIM_IndicationFilter + </KEYVALUE> + </KEYBINDING> + <KEYBINDING NAME="Name"> + <KEYVALUE VALUETYPE="string"> + Test_Indication_Filter_ + </KEYVALUE> + </KEYBINDING> + </INSTANCENAME> + </VALUE.REFERENCE> + </KEYBINDING> + <KEYBINDING NAME="Handler"> + <VALUE.REFERENCE> + <INSTANCENAME CLASSNAME="CIM_IndicationHandlerCIMXML"> + <KEYBINDING NAME="SystemCreationClassName"> + <KEYVALUE VALUETYPE="string"> + CIM_ComputerSystem + </KEYVALUE> + </KEYBINDING> + <KEYBINDING NAME="SystemName"> + <KEYVALUE VALUETYPE="string"> + localhost.localdomain + </KEYVALUE> + </KEYBINDING> + <KEYBINDING NAME="CreationClassName"> + <KEYVALUE VALUETYPE="string"> + CIM_IndicationHandlerCIMXML + </KEYVALUE> + </KEYBINDING> + <KEYBINDING NAME="Name"> + <KEYVALUE VALUETYPE="string">' + CLSPOST=' </KEYVALUE> + </KEYBINDING> + </INSTANCENAME> + </VALUE.REFERENCE> + </KEYBINDING> + </INSTANCENAME> + </IPARAMVALUE> + </IMETHODCALL> + </SIMPLEREQ> + </MESSAGE> +</CIM>' + + CLDPRE='<?xml version="1.0" encoding="utf-8"?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="4711" PROTOCOLVERSION="1.0"> <SIMPLEREQ> @@ -65,7 +134,7 @@ </KEYBINDING> <KEYBINDING NAME="Name"> <KEYVALUE>' - CLPOST='</KEYVALUE> + CLDPOST='</KEYVALUE> </KEYBINDING> </INSTANCENAME> </IPARAMVALUE> @@ -77,17 +146,25 @@ j=1 while [ $j -le $lim ] do - XML=$CLPRE"limitTest_"$j$CLPOST + XML=$CLSPRE"limitTest_"$j$CLSPOST + echo $XML > ./limitTest.xml + sendxml ./limitTest.xml /dev/null + XML=$CLDPRE"limitTest_"$j$CLDPOST echo $XML > ./limitTest.xml sendxml ./limitTest.xml /dev/null j=$((j+1)) done - XML=$CLPRE"limitTest_final"$CLPOST + XML=$CLSPRE"limitTest_final"$CLSPOST + echo $XML > ./limitTest.xml + sendxml ./limitTest.xml /dev/null + XML=$CLDPRE"limitTest_final"$CLDPOST echo $XML > ./limitTest.xml sendxml ./limitTest.xml /dev/null rm ./limitTest.xml rm ./limitTest.result + wbemcat IndTest7DeleteFilter.xml > /dev/null + wbemcat limitTestDF2.xml > /dev/null } # Start of main @@ -138,7 +215,7 @@ # Create 100 Listener Destinations j=1 -echo -n " Testing LD limit ..." +echo -n " Testing LD limit " while [ $j -le $lim ] do # Use "limitTest_xxx" as the name @@ -159,7 +236,9 @@ # some reason. Might be ok, so just flag it # and continue. It's possible other instances # existed before the test was run. - echo -n " Create $j failed ... continuing ..." + echo -n "X" + else + echo -n "." fi j=$((j+1)) done @@ -179,6 +258,167 @@ exit 1; fi echo " PASSED" -cleanup +# +# Now check for active subscriptions +# + +PRE='<?xml version="1.0" encoding="utf-8"?> +<CIM CIMVERSION="2.0" DTDVERSION="2.0"> + <MESSAGE ID="4711" PROTOCOLVERSION="1.0"> + <SIMPLEREQ> + <IMETHODCALL NAME="CreateInstance"> + <LOCALNAMESPACEPATH> + <NAMESPACE NAME="root"/> + <NAMESPACE NAME="interop"/> + </LOCALNAMESPACEPATH> + <IPARAMVALUE NAME="NewInstance"> + <INSTANCE CLASSNAME="CIM_IndicationSubscription"> + <PROPERTY.REFERENCE NAME="Filter" + REFERENCECLASS="CIM_IndicationFilter"> + <VALUE.REFERENCE> + <INSTANCENAME CLASSNAME="CIM_IndicationFilter"> + <KEYBINDING NAME="SystemCreationClassName"> + <KEYVALUE VALUETYPE="string"> + CIM_ComputerSystem + </KEYVALUE> + </KEYBINDING> + <KEYBINDING NAME="SystemName"> + <KEYVALUE VALUETYPE="string"> + localhost.localdomain + </KEYVALUE> + </KEYBINDING> + <KEYBINDING NAME="CreationClassName"> + <KEYVALUE VALUETYPE="string"> + CIM_IndicationFilter + </KEYVALUE> + </KEYBINDING> + <KEYBINDING NAME="Name"> + <KEYVALUE VALUETYPE="string">' +MID=' + </KEYVALUE> + </KEYBINDING> + </INSTANCENAME> + </VALUE.REFERENCE> + </PROPERTY.REFERENCE> + <PROPERTY.REFERENCE NAME="Handler" + REFERENCECLASS="CIM_IndicationHandler"> + <VALUE.REFERENCE> + <INSTANCENAME CLASSNAME="CIM_IndicationHandlerCIMXML"> + <KEYBINDING NAME="SystemCreationClassName"> + <KEYVALUE VALUETYPE="string"> + CIM_ComputerSystem + </KEYVALUE> + </KEYBINDING> + <KEYBINDING NAME="SystemName"> + <KEYVALUE VALUETYPE="string"> + localhost.localdomain + </KEYVALUE> + </KEYBINDING> + <KEYBINDING NAME="CreationClassName"> + <KEYVALUE VALUETYPE="string"> + CIM_IndicationHandlerCIMXML + </KEYVALUE> + </KEYBINDING> + <KEYBINDING NAME="Name"> + <KEYVALUE VALUETYPE="string">' + +POST='</KEYVALUE> + </KEYBINDING> + </INSTANCENAME> + </VALUE.REFERENCE> + </PROPERTY.REFERENCE> + <PROPERTY NAME="SubscriptionState" TYPE="uint16"> + <VALUE> 2 </VALUE> + </PROPERTY> + </INSTANCE> + </IPARAMVALUE> + </IMETHODCALL> + </SIMPLEREQ> + </MESSAGE> +</CIM>' + +POSTD='</KEYVALUE> + </KEYBINDING> + </INSTANCENAME> + </VALUE.REFERENCE> + </PROPERTY.REFERENCE> + <PROPERTY NAME="SubscriptionState" TYPE="uint16"> + <VALUE> 1 </VALUE> + </PROPERTY> + </INSTANCE> + </IPARAMVALUE> + </IMETHODCALL> + </SIMPLEREQ> + </MESSAGE> +</CIM>' + +# Create 100 subs +lim=100 +j=1 +wbemcat IndTest1CreateFilter.xml > /dev/null +wbemcat limitTestCF2.XML > /dev/null +echo -n " Testing Sub limit " +while [ $j -le $lim ] +do + XML=$PRE"Test_Indication_Filter_"$MID"limitTest_"$j$POST + echo $XML > ./limitTest.xml + sendxml ./limitTest.xml limitTest.result + if [ $? -ne 0 ] + then + echo " Create $j FAILED" + cleanup + exit 1; + fi + grep "limitTest" ./limitTest.result >/dev/null 2>&1 + if [ $? -ne 0 ] + then + # This means one of the early creates failed for + # some reason. Might be ok, so just flag it + # and continue. It's possible other instances + # existed before the test was run. + echo -n "X" + else + echo -n "." + fi + j=$((j+1)) +done + +# Make sure the final one fails +XML=$PRE"limitTest_f2"$MID"limitTest_1"$POST +echo $XML > ./limitTest.xml +sendxml ./limitTest.xml ./limit.result +wbemcat limitTestDS2.XML > /dev/null +grep "limitTest" ./limit.result >/dev/null 2>&1 +if [ $? -eq 0 ] +then + echo " limit not enforced. FAILED" + cleanup + exit 1; +fi + +# Should be able to create a disabled one +XML=$PRE"limitTest_f2"$MID"limitTest_1"$POSTD +echo $XML > ./limitTest.xml +sendxml ./limitTest.xml ./limit.result +grep "limitTest" ./limit.result >/dev/null 2>&1 +if [ $? -ne 0 ] +then + echo " disabled subscription prevented. FAILED" + cleanup + exit 1; +fi +# but we shouldn't be able to activate it. +wbemcat limitTestEnableSub.XML > ./limit.result +wbemcat limitTestDS2.XML > /dev/null +grep "MaxActiveSubscription" ./limit.result >/dev/null 2>&1 +if [ $? -ne 0 ] +then + echo " enable subscription limit not enforced. FAILED" + cleanup + exit 1; +fi + +echo " PASSED" +cleanup exit 0 --- NEW FILE: limitTestDS2.XML --- <?xml version="1.0" encoding="utf-8"?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="4711" PROTOCOLVERSION="1.0"> <SIMPLEREQ> <IMETHODCALL NAME="DeleteInstance"> <LOCALNAMESPACEPATH> <NAMESPACE NAME="root"/> <NAMESPACE NAME="interop"/> </LOCALNAMESPACEPATH> <IPARAMVALUE NAME="InstanceName"> <INSTANCENAME CLASSNAME="CIM_IndicationSubscription"> <KEYBINDING NAME="Filter"> <VALUE.REFERENCE> <INSTANCENAME CLASSNAME="CIM_IndicationFilter"> <KEYBINDING NAME="SystemCreationClassName"> <KEYVALUE VALUETYPE="string"> CIM_ComputerSystem </KEYVALUE> </KEYBINDING> <KEYBINDING NAME="SystemName"> <KEYVALUE VALUETYPE="string"> localhost.localdomain </KEYVALUE> </KEYBINDING> <KEYBINDING NAME="CreationClassName"> <KEYVALUE VALUETYPE="string"> CIM_IndicationFilter </KEYVALUE> </KEYBINDING> <KEYBINDING NAME="Name"> <KEYVALUE VALUETYPE="string"> limitTest_f2 </KEYVALUE> </KEYBINDING> </INSTANCENAME> </VALUE.REFERENCE> </KEYBINDING> <KEYBINDING NAME="Handler"> <VALUE.REFERENCE> <INSTANCENAME CLASSNAME="CIM_IndicationHandlerCIMXML"> <KEYBINDING NAME="SystemCreationClassName"> <KEYVALUE VALUETYPE="string"> CIM_ComputerSystem </KEYVALUE> </KEYBINDING> <KEYBINDING NAME="SystemName"> <KEYVALUE VALUETYPE="string"> localhost.localdomain </KEYVALUE> </KEYBINDING> <KEYBINDING NAME="CreationClassName"> <KEYVALUE VALUETYPE="string"> CIM_IndicationHandlerCIMXML </KEYVALUE> </KEYBINDING> <KEYBINDING NAME="Name"> <KEYVALUE VALUETYPE="string"> limitTest_1 </KEYVALUE> </KEYBINDING> </INSTANCENAME> </VALUE.REFERENCE> </KEYBINDING> </INSTANCENAME> </IPARAMVALUE> </IMETHODCALL> </SIMPLEREQ> </MESSAGE> </CIM> |