|
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>
|