<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<thirdtest>
<!-- FIRST USER -->
<!--Step 1: Create a user-->

	<command>
		<name>createAccount</name>
		<testcase>    [Create the Account and a User for the account]</testcase>
		<parameters>
			<item setparam="true" random="true">
				<name>account</name>
				<param>accountname</param>
			</item>
			<item>
				<name>accounttype</name>
				<value>0</value>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item>
				<name>email</name>
				<value>user@gmail.com</value>
			</item>
			<item>
				<name>firstname</name>
				<value>user</value>
			</item>
			<item>
				<name>lastname</name>
				<value>userlastname</value>
			</item>
			<item random="true" setparam="true">
				<name>username</name>
				<param>usernameparam</param>
			</item>
			<item>
				<name>password</name>
				<value>password</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>accountid</param>
			</item>
			<item getparam="true">
				<name>name</name>
				<param>accountname</param>
			</item>

		</returnvalue>
	</command>

	<!-- Test case #5 - listUsers command -->
	<command>
		<name>listUsers</name>
		<testcase>  5 [List the Created User in (3)]</testcase>
		<parameters>
			<item getparam="true">
				<name>account</name>
				<param>accountname</param>
			</item>
		</parameters>		
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>userid</param>
			</item>			
		</returnvalue>
	</command>


<!-- 
<command>
            <name>createUser</name>
            <testcase>Create User Test Case</testcase>
            <parameters>
                  <item random="true">
                      <name>username</name>
                      <param>usernameparam</param>
                  </item>
                  <item>
                      <name>password</name>
                        <value>alena123</value>
                  </item>
                  <item>
                        <name>firstname</name>
                        <value>user</value>
                  </item>
                  <item>
                        <name>lastname</name>
                        <value>userlastname</value>
                  </item>
                  <item>
                        <name>email</name>
                        <value>user@gmail.com</value>
                  </item>
                  <item>
                        <name>accounttype</name>
                        <value>0</value>
                  </item>
            </parameters>
            
            <returnvalue>
                  <item setparam="true">
                        <name>id</name>
                        <param>userid</param>
                  </item>
                  <item setparam="true">
                        <name>account</name>
                        <param>accountname</param>
                  </item>
            </returnvalue>
</command>
-->


<!--Step 2(a): Setup VMs limit for the account-->
<command>     
      		<name>updateResourceLimit</name>
            <testcase>Setup VMs Limit for Account Test Case</testcase>
            <parameters>
                  <item>
                      <name>resourcetype</name>
                        <value>0</value>
                  </item>
                  <item>
                      <name>max</name>
                        <value>2</value>
                  </item>
                  <item getparam="true">
                      <name>account</name>
                      <param>accountname</param>
                  </item>
                  <item>
                      <name>domainid</name>
                        <value>1</value>
                  </item>
            </parameters>
            <returnvalue>
                  <item>
                        <name>resourcetype</name>
                        <value>0</value>
                  </item>
                  <item>
                        <name>max</name>
                        <value>2</value>
                  </item>
            </returnvalue>
 </command>        

<!--Step 2(b): Setup Public-IPs limit for the account-->
<command>     
      		<name>updateResourceLimit</name>
            <testcase>Setup Public-Ips Limit for Account Test Case</testcase>
            <parameters>
                  <item>
                      <name>resourcetype</name>
                        <value>1</value>
                  </item>
                  <item>
                      <name>max</name>
                        <value>2</value>
                  </item>
                  <item getparam="true">
                      <name>account</name>
                      <param>accountname</param>
                  </item>
                  <item>
                      <name>domainid</name>
                        <value>1</value>
                  </item>
            </parameters>
            <returnvalue>
                  <item>
                        <name>resourcetype</name>
                        <value>1</value>
                  </item>
                  <item>
                        <name>max</name>
                        <value>1</value>
                  </item>
            </returnvalue>
 </command>        
 
 <!--Step 2(c): Setup Volumes limit for the account-->
<command>     
      		<name>updateResourceLimit</name>
            <testcase>Setup Volumes Limit for Account Test Case</testcase>
            <parameters>
                  <item>
                      <name>resourcetype</name>
                        <value>2</value>
                  </item>
                  <item>
                      <name>max</name>
                        <value>6</value>
                  </item>
                  <item getparam="true">
                      <name>account</name>
                      <param>accountname</param>
                  </item>
                  <item>
                      <name>domainid</name>
                        <value>1</value>
                  </item>
            </parameters>
            <returnvalue>
                  <item>
                        <name>resourcetype</name>
                        <value>2</value>
                  </item>
                  <item>
                        <name>max</name>
                        <value>6</value>
                  </item>
            </returnvalue>
 </command>        

<!--Step 2(d): Setup Snapshots limit for the account -->
<command>     
      		<name>updateResourceLimit</name>
            <testcase>Setup Snapshots Limit for Account Test Case</testcase>
            <parameters>
                  <item>
                      <name>resourcetype</name>
                        <value>3</value>
                  </item>
                  <item>
                      <name>max</name>
                        <value>2</value>
                  </item>
                  <item getparam="true">
                      <name>account</name>
                      <param>accountname</param>
                  </item>
                  <item>
                      <name>domainid</name>
                        <value>1</value>
                  </item>
            </parameters>
            <returnvalue>
                  <item>
                        <name>resourcetype</name>
                        <value>3</value>
                  </item>
                  <item>
                        <name>max</name>
                        <value>2</value>
                  </item>
            </returnvalue>
 </command> 

<!-- 2(e): Setup Templates limit for the account -->
<command>
			<name>updateResourceLimit</name>
            <testcase>Setup Templates Limit for Account Test Case</testcase>
            <parameters>
                  <item>
                      <name>resourcetype</name>
                        <value>4</value>
                  </item>
                  <item>
                      <name>max</name>
                        <value>2</value>
                  </item>
                  <item getparam="true">
                      <name>account</name>
                      <param>accountname</param>
                  </item>
                  <item>
                      <name>domainid</name>
                        <value>1</value>
                  </item>
            </parameters>
            <returnvalue>
                  <item>
                        <name>resourcetype</name>
                        <value>4</value>
                  </item>
                  <item>
                        <name>max</name>
                        <value>2</value>
                  </item>
            </returnvalue>
		
</command> 
 
<!--Step 3:  Register user-->
      <command>
            <name>registerUserKeys</name>
            <testcase>Register User Keys Test Case</testcase>
            <parameters>
                  <item getparam="true">
                      <name>id</name>
                        <param>userid</param>
                  </item>
            </parameters>
            <returnvalue>
                  <item setparam="true">
                        <name>apikey</name>
                        <param>apikey</param>
                  </item>
                  <item setparam="true">
                        <name>secretkey</name>
                        <param>secretkey</param>
                  </item>
            </returnvalue>
   </command>  
   
   <command>
		<name>createNetwork</name>
		<testcase>	[Creating default network]</testcase>
		<parameters>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>
			<item getparam="true">
			    <name>networkOfferingId</name>
				<param>globalnetworkofferingid</param>
			</item>
			<item getparam="true">
				<name>account</name>
				<param>accountname</param>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item>
				<name>name</name>
				<value>defaultregressionnetwork</value>
			</item>
			<item>
				<name>displaytext</name>
				<value>defaultregressionnetwork</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>networkid</param>
			</item>
		</returnvalue>
	</command>

<!--Step4(a): Execute command deploy vm as user – deploy 2 vms -->

		<command>
		    <name>deployVirtualMachine</name>  <!--deploy vm 1-->
            <testcase>deploy vm1 test case</testcase>
            <usercommand>true</usercommand>
         <parameters>
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>	
			<item getparam="true">
			    <name>serviceofferingid</name>
				<param>globalserviceofferingid</param>
			</item>
			<item getparam="true">
			    <name>templateid</name>
				<param>globaltemplateid</param>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>
			<item>
				<name>displayname</name>
				<value>ResourceLimits-VM-1</value>
			</item>
			<item>
				<name>group</name>
				<value>group1</value>
			</item>
			<item getparam="true">
				<name>networkids</name>
				<param>networkid</param>
			</item>	
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>vmid1</param>
			</item>
		</returnvalue>
		</command>

		<command>
			<name>deployVirtualMachine</name>   <!--deploy vm 2-->
            <testcase>deploy vm2 test case</testcase>
            <usercommand>true</usercommand>
         <parameters>
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>	
			<item getparam="true">
			    <name>serviceofferingid</name>
				<param>globalserviceofferingid</param>
			</item>
			<item getparam="true">
			    <name>templateid</name>
				<param>globaltemplateid</param>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>	
			<item>
				<name>displayname</name>
				<value>ResourceLimits-VM-2</value>
			</item>
			<item>
				<name>group</name>
				<value>group1</value>
			</item>
			<item getparam="true">
				<name>networkids</name>
				<param>networkid</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>vmid2</param>
			</item>
		</returnvalue>
		</command>
		
<!--Step 4(b): Associate an IP other than the one assigned to the DOMR -->

<command>
		<name>associateIpAddress</name> 
		<testcase>Associate second IP Test Case</testcase>
		<usercommand>true</usercommand>
		
		<parameters>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>	
		</parameters>
		
		<returnvalue>
			<item setparam="true">
				<name>ipaddress</name>
				<param>ipid</param>
			</item>
		</returnvalue>
		
		
</command>		


<!--Step 4(c): Add fifth and Sixth volume to the existing volumes of one of the VMs -->
<command>
		<name>createVolume</name>
		<testcase>Create Fifth Volume Test Case</testcase>
		<usercommand>true</usercommand>
		
		<parameters>
			<item>
				<name>name</name>
				<value>FifthVolume</value>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>	
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>	
		</parameters>
		
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>volid1</param>
			</item>
		</returnvalue>
		
</command>		

<command>
		<name>attachVolume</name>
		<parameters>
			<item getparam="true">
				<name>id</name>
				<param>volid1</param>
			</item>
			<item getparam="true">
				<name>virtualmachineid</name>
				<param>vmid1</param>
			</item>
		</parameters>
</command>
		
<command>
		<name>createVolume</name>
		<testcase>Create Sixth Volume Test Case</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item>
				<name>name</name>
				<value>SixthVolume</value>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>	
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>	
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>volid2</param>
			</item>
		</returnvalue>
		
</command>

<command>
		<name>attachVolume</name>
		<parameters>
			<item getparam="true">
				<name>id</name>
				<param>volid2</param>
			</item>
			<item getparam="true">
				<name>virtualmachineid</name>
				<param>vmid2</param>
			</item>
		</parameters>
</command>
		
<!-- Step 4(d): Create two snapshots for one of the Volumes -->
<command>
		<name>createSnapshot</name>
		<testcase>Create First Snapshot Test Case</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>volid1</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>snpid</param>
			</item>
		</returnvalue>
</command>

<command>
		<name>createSnapshot</name>
		<testcase>Create Second Snapshot Test Case</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>volid2</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>snpid</param>
			</item>
		</returnvalue>
</command> 

<!--Step 4(e) Register two templates -->
<command>
		<name>registerTemplate</name>
		<testcase>Create First Template Test Case</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item>
				<name>name</name>
				<value>FirstTemplate</value>
			</item>
			<item>
				<name>displaytext</name>
				<value>Firsttemplate</value>
			</item>
			<item>
				<name>url</name>
				<value>http://192.168.10.231/templates/routing/latest/systemvm.vhd.bz2</value>
			</item>
			<item>
				<name>format</name>
				<value>vhd</value>
			</item>
			<item>
				<name>ostypeid</name>
				<value>41</value>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
				<name>account</name>
				<param>accountname</param>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item getparam="true">
				<name>hypervisor</name>
				<param>globalhypervisortype</param>
			</item>							
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>templid1</param>
			</item>
		</returnvalue>
</command>

<command>
		<name>registerTemplate</name>
		<testcase>Create Second Template Test Case</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item>
				<name>name</name>
				<value>SecondTemplate</value>
			</item>
			<item>
				<name>displaytext</name>
				<value>Secondtemplate</value>
			</item>
			<item>
				<name>url</name>
				<value>http://192.168.10.231/templates/routing/latest/systemvm.vhd.bz2</value>
			</item>
			<item>
				<name>format</name>
				<value>vhd</value>
			</item>
			<item>
				<name>ostypeid</name>
				<value>41</value>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
				<name>account</name>
				<param>accountname</param>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item getparam="true">
				<name>hypervisor</name>
				<param>globalhypervisortype</param>
			</item>						
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>templid2</param>
			</item>
		</returnvalue>
</command>

<!--Step 5(a): try to deploy third vm:-->

		<command>
			<name>deployVirtualMachine</name>  <!--deploy vm 3 – should fail-->
            <testcase>Deploy VM3 Failure test case</testcase>
            <usercommand>true</usercommand>
			<error>true</error>
        <parameters>
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>	
			<item getparam="true">
			    <name>serviceofferingid</name>
				<param>globalserviceofferingid</param>
			</item>
			<item>
			    <name>templateid</name>
				<value>2</value>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>
			<item getparam="true">
				<name>networkids</name>
				<param>network</param>
			</item>	
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>vmid3</param>
			</item>
		</returnvalue>
         </command>
         
<!--Step 5(b): Associate Third IP other than the two assigned -->

<command>
		<name>associateIpAddress</name> 
		<testcase>Associate Second IP Failure Test Case</testcase>
		<usercommand>true</usercommand>
		<error>true</error>
		<parameters>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>	
		</parameters>
		
		<returnvalue>
			<item setparam="true">
				<name>ipaddress</name>
				<param>ipid</param>
			</item>
		</returnvalue>
		
		
</command>

<!--Step 5(c): Add Seventh volume to the existing volumes of one of the VMs -->
<command>
		<name>createVolume</name>
		<testcase>Create Seventh Volume Failure Test Case</testcase>
		<usercommand>true</usercommand>
		<error>true</error>
		<parameters>
			<item>
				<name>name</name>
				<value>SeventhVolume</value>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>	
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>	
		</parameters>
		
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>volid3</param>
			</item>
		</returnvalue>
		
</command>			         

<command>
		<name>listVolumes</name>
		<parameters>
			<item getparam="true">
				<name>virtualmachineid</name>
				<param>vmid1</param>
			</item>
			<item>
				<name>type</name>
				<value>ROOT</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>rootvolumeid</param>
			</item>
		</returnvalue>
</command>

<!-- Step 5(d): Create a third Snapshot of the volume--> 
<command>
		<name>createSnapshot</name>
		<testcase>Create Third Snapshot Failure Test Case</testcase>
		<usercommand>true</usercommand>
		<error>true</error>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>rootvolumeid</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>snpid</param>
			</item>
		</returnvalue>
</command>

<!-- Step 5 (e): Try to create a third template for the same user -->

<command>
		<name>registerTemplate</name>
		<testcase>Create Third Template Failure Test Case</testcase>
		<usercommand>true</usercommand>
		<error>true</error>
		<parameters>
			<item>
				<name>name</name>
				<value>ThirdTemplate</value>
			</item>
			<item>
				<name>displaytext</name>
				<value>Thirdtemplate</value>
			</item>
			<item>
				<name>url</name>
				<value>http://192.168.10.231/templates/routing/latest/systemvm.vhd.bz2</value>
			</item>
			<item>
				<name>format</name>
				<value>vhd</value>
			</item>
			<item>
				<name>ostypeid</name>
				<value>41</value>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
				<name>account</name>
				<param>accountname</param>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item getparam="true">
				<name>hypervisor</name>
				<param>globalhypervisortype</param>
			</item>							
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>templid3</param>
			</item>
		</returnvalue>
</command>

<!-- Step 6: Clean Up -->
<command>
		<name>deleteAccount</name>
		<testcase>Clean up account test case</testcase>
		
		<parameters>
				<item getparam="true">
					<name>id</name>
					<param>accountname</param>
				</item>
		</parameters>
		
</command>

<!--  SECOND USER -->

<!--Step 1: Create a user-->

	<command>
		<name>createAccount</name>
		<testcase>    [Create the Account and a User for the account]</testcase>
		<parameters>
			<item setparam="true" random="true">
				<name>account</name>
				<param>accountname</param>
			</item>
			<item>
				<name>accounttype</name>
				<value>1</value>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item>
				<name>email</name>
				<value>newadmin@gmail.com</value>
			</item>
			<item>
				<name>firstname</name>
				<value>newadmin</value>
			</item>
			<item>
				<name>lastname</name>
				<value>newadminlastname</value>
			</item>
			<item random="true" setparam="true">
				<name>username</name>
				<param>usernameparam</param>
			</item>
			<item>
				<name>password</name>
				<value>password</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>accountid</param>
			</item>
			<item getparam="true">
				<name>name</name>
				<param>accountname</param>
			</item>

		</returnvalue>
	</command>

	<!-- Test case #5 - listUsers command -->
	<command>
		<name>listUsers</name>
		<testcase>  5 [List the Created User in (3)]</testcase>
		<parameters>
			<item getparam="true">
				<name>account</name>
				<param>accountname</param>
			</item>
		</parameters>		
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>userid</param>
			</item>			
		</returnvalue>
	</command>
<!-- 
<command>
            <name>createUser</name>
            <testcase>Create Admin Test Case</testcase>
            <parameters>
                  <item random="true">
                      <name>username</name>
                      <param>usernameparam</param>
                  </item>
                  <item>
                      <name>password</name>
                        <value>alena123</value>
                  </item>
                  <item>
                        <name>firstname</name>
                        <value>user</value>
                  </item>
                  <item>
                        <name>lastname</name>
                        <value>userlastname</value>
                  </item>
                  <item>
                        <name>email</name>
                        <value>user@gmail.com</value>
                  </item>
                  <item>
                        <name>accounttype</name>
                        <value>1</value>
                  </item>
            </parameters>
            
            <returnvalue>
                  <item setparam="true">
                        <name>id</name>
                        <param>userid</param>
                  </item>
                  <item setparam="true">
                        <name>account</name>
                        <param>accountname</param>
                  </item>
            </returnvalue>
</command>
-->

<!--Step 2(a): Setup VMs limit for the account-->
<command>     
      		<name>updateResourceLimit</name>
            <testcase>Failure in Setting Up VMs Limit for Admin Account Test Case</testcase>
            <error>true</error>
            <parameters>
                  <item>
                      <name>resourcetype</name>
                        <value>0</value>
                  </item>
                  <item>
                      <name>max</name>
                        <value>2</value>
                  </item>
                  <item getparam="true">
                      <name>account</name>
                      <param>accountname</param>
                  </item>
                  <item>
                      <name>domainid</name>
                        <value>1</value>
                  </item>
            </parameters>
            <returnvalue>
                  <item>
                        <name>resourcetype</name>
                        <value>0</value>
                  </item>
                  <item>
                        <name>max</name>
                        <value>2</value>
                  </item>
            </returnvalue>
 </command>        

<!--Step 2(b): Setup Public-IPs limit for the account-->
<command>     
      		<name>updateResourceLimit</name>
            <testcase>Failure in Setting Up Public-Ips Limit for Admin Account Test Case</testcase>
            <error>true</error>
            <parameters>
                  <item>
                      <name>resourcetype</name>
                        <value>1</value>
                  </item>
                  <item>
                      <name>max</name>
                        <value>1</value>
                  </item>
                  <item getparam="true">
                      <name>account</name>
                      <param>accountname</param>
                  </item>
                  <item>
                      <name>domainid</name>
                        <value>1</value>
                  </item>
            </parameters>
            <returnvalue>
                  <item>
                        <name>resourcetype</name>
                        <value>1</value>
                  </item>
                  <item>
                        <name>max</name>
                        <value>1</value>
                  </item>
            </returnvalue>
 </command>        
 
 <!--Step 2(c): Setup Volumes limit for the account-->
<command>     
      		<name>updateResourceLimit</name>
            <testcase>Failure in Setting Up Volumes Limit for Admin Account Test Case</testcase>
            <error>true</error>
            <parameters>
                  <item>
                      <name>resourcetype</name>
                        <value>2</value>
                  </item>
                  <item>
                      <name>max</name>
                        <value>6</value>
                  </item>
                  <item getparam="true">
                      <name>account</name>
                      <param>accountname</param>
                  </item>
                  <item>
                      <name>domainid</name>
                        <value>1</value>
                  </item>
            </parameters>
            <returnvalue>
                  <item>
                        <name>resourcetype</name>
                        <value>2</value>
                  </item>
                  <item>
                        <name>max</name>
                        <value>6</value>
                  </item>
            </returnvalue>
 </command>        

<!--Step 2(d): Setup Snapshots limit for the account-->
<command>     
      		<name>updateResourceLimit</name>
            <testcase>Failure in Setting up Snapshots Limit for Admin Account Test Case</testcase>
            <error>true</error>
            <parameters>
                  <item>
                      <name>resourcetype</name>
                        <value>3</value>
                  </item>
                  <item>
                      <name>max</name>
                        <value>2</value>
                  </item>
                  <item getparam="true">
                      <name>account</name>
                      <param>accountname</param>
                  </item>
                  <item>
                      <name>domainid</name>
                        <value>1</value>
                  </item>
            </parameters>
            <returnvalue>
                  <item>
                        <name>resourcetype</name>
                        <value>3</value>
                  </item>
                  <item>
                        <name>max</name>
                        <value>2</value>
                  </item>
            </returnvalue>
 </command>

<!-- 2(e): Setup Templates limit for the account -->
<command>
			<name>updateResourceLimit</name>
            <testcase>Failure in Seting Up Templates Limit for Admin Account Test Case</testcase>
            <error>true</error>
            <parameters>
                  <item>
                      <name>resourcetype</name>
                        <value>4</value>
                  </item>
                  <item>
                      <name>max</name>
                        <value>2</value>
                  </item>
                  <item getparam="true">
                      <name>account</name>
                      <param>accountname</param>
                  </item>
                  <item>
                      <name>domainid</name>
                        <value>1</value>
                  </item>
            </parameters>
            <returnvalue>
                  <item>
                        <name>resourcetype</name>
                        <value>4</value>
                  </item>
                  <item>
                        <name>max</name>
                        <value>2</value>
                  </item>
            </returnvalue>
		
</command> 
 
<!--Step 3:  Register user-->
      <command>
            <name>registerUserKeys</name>
            <testcase>Register User Keys Test Case</testcase>
            <parameters>
                  <item getparam="true">
                      <name>id</name>
                        <param>userid</param>
                  </item>
            </parameters>
            <returnvalue>
                  <item setparam="true">
                        <name>apikey</name>
                        <param>apikey</param>
                  </item>
                  <item setparam="true">
                        <name>secretkey</name>
                        <param>secretkey</param>
                  </item>
            </returnvalue>
   </command>  

	<command>
		<name>createNetwork</name>
		<testcase>	[Creating default network]</testcase>
		<parameters>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>
			<item getparam="true">
			    <name>networkOfferingId</name>
				<param>globalnetworkofferingid</param>
			</item>
			<item getparam="true">
				<name>account</name>
				<param>accountname</param>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item>
				<name>name</name>
				<value>defaultregressionnetwork</value>
			</item>
			<item>
				<name>displaytext</name>
				<value>defaultregressionnetwork</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>networkid</param>
			</item>
		</returnvalue>
	</command>
	
<!--Step4(a): Execute command deploy vm as user – deploy 2 vms -->

		<command>
		    <name>deployVirtualMachine</name>  <!--deploy vm 1-->
            <testcase>deploy vm1 test case</testcase>
            <usercommand>true</usercommand>
         <parameters>
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>	
			<item getparam="true">
			    <name>serviceofferingid</name>
				<param>globalserviceofferingid</param>
			</item>
			<item getparam="true">
			    <name>templateid</name>
				<param>globaltemplateid</param>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>
			<item>
				<name>displayname</name>
				<value>SnapshotTest-Admin-VM-1</value>
			</item>
			<item>
				<name>group</name>
				<value>group1</value>
			</item>
			<item getparam="true">
				<name>networkids</name>
				<param>networkid</param>
			</item>	
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>vmid1</param>
			</item>
		</returnvalue>
		</command>

		<command>
			<name>deployVirtualMachine</name>   <!--deploy vm 2-->
            <testcase>deploy vm2 test case</testcase>
            <usercommand>true</usercommand>
         <parameters>
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>	
			<item getparam="true">
			    <name>serviceofferingid</name>
				<param>globalserviceofferingid</param>
			</item>
			<item getparam="true">
			    <name>templateid</name>
				<param>globaltemplateid</param>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>
			<item>
				<name>displayname</name>
				<value>SnapshotTest-Admin-VM-2</value>
			</item>
			<item>
				<name>group</name>
				<value>group1</value>
			</item>
			<item getparam="true">
				<name>networkids</name>
				<param>networkid</param>
			</item>	
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>vmid2</param>
			</item>
		</returnvalue>
		</command>
		
<!--Step 4(b): Associate an IP other than the one assigned to the DOMR -->

<command>
		<name>associateIpAddress</name> 
		<testcase>Associate second IP Test Case</testcase>
		<usercommand>true</usercommand>
		
		<parameters>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>	
		</parameters>
		
		<returnvalue>
			<item setparam="true">
				<name>ipaddress</name>
				<param>ipid</param>
			</item>
		</returnvalue>				
</command>		

<!--Step 4(c): Add fifth and Sixth volume to the existing volumes of one of the VMs -->
<command>
		<name>createVolume</name>
		<testcase>Create Fifth Volume Test Case</testcase>
		<usercommand>true</usercommand>
		
		<parameters>
			<item>
				<name>name</name>
				<value>AdminsFifthVolume</value>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>	
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>	
		</parameters>
		
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>volid1</param>
			</item>
		</returnvalue>
		
</command>		
		
<command>
		<name>attachVolume</name>
		<parameters>
			<item getparam="true">
				<name>id</name>
				<param>volid1</param>
			</item>
			<item getparam="true">
				<name>virtualmachineid</name>
				<param>vmid1</param>
			</item>
		</parameters>
</command>		
		
<command>
		<name>createVolume</name>
		<testcase>Create Sixth Volume Test Case</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item>
				<name>name</name>
				<value>AdminsSixthVolume</value>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>	
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>	
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>volid2</param>
			</item>
		</returnvalue>
		
</command>

<command>
		<name>attachVolume</name>
		<parameters>
			<item getparam="true">
				<name>id</name>
				<param>volid2</param>
			</item>
			<item getparam="true">
				<name>virtualmachineid</name>
				<param>vmid2</param>
			</item>
		</parameters>
</command>
		
<!--Step 4(d): Create two snapshots for one of the Volumes-->
<command>
		<name>createSnapshot</name>
		<testcase>Create First Snapshot Test Case</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>volid1</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>snpid</param>
			</item>
		</returnvalue>
</command>

<command>
		<name>createSnapshot</name>
		<testcase>Create Second Snapshot Test Case</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>volid2</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>snpid</param>
			</item>
		</returnvalue>
</command>

<!--Step 4(e) Register two templates -->
<command>
		<name>registerTemplate</name>
		<testcase>Create First Template Test Case</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item>
				<name>name</name>
				<value>AdminsFirstTemplate</value>
			</item>
			<item>
				<name>displaytext</name>
				<value>AdminsFirsttemplate</value>
			</item>
			<item>
				<name>url</name>
				<value>http://192.168.10.231/templates/routing/latest/systemvm.vhd.bz2</value>
			</item>
			<item>
				<name>format</name>
				<value>vhd</value>
			</item>
			<item>
				<name>ostypeid</name>
				<value>41</value>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
				<name>account</name>
				<param>accountname</param>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item getparam="true">
				<name>hypervisor</name>
				<param>globalhypervisortype</param>
			</item>						
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>templid1</param>
			</item>
		</returnvalue>
</command>

<command>
		<name>registerTemplate</name>
		<testcase>Create Second Template Test Case</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item>
				<name>name</name>
				<value>AdminsSecondTemplate</value>
			</item>
			<item>
				<name>displaytext</name>
				<value>AdminsSecondtemplate</value>
			</item>
			<item>
				<name>url</name>
				<value>http://192.168.10.231/templates/routing/latest/systemvm.vhd.bz2</value>
			</item>
			<item>
				<name>format</name>
				<value></value>
			</item>
			<item>
				<name>ostypeid</name>
				<value>41</value>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
				<name>account</name>
				<param>accountname</param>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item getparam="true">
				<name>hypervisor</name>
				<param>globalhypervisortype</param>
			</item>						
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>templid2</param>
			</item>
		</returnvalue>
</command>

<!--Step 5(a): try to deploy third vm:-->

		<command>
			<name>deployVirtualMachine</name>  <!--deploy vm 3 – should fail-->
            <testcase>Deploy VM3 Failure Avoidance test case</testcase>
            <usercommand>true</usercommand>
			
        <parameters>
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>	
			<item getparam="true">
			    <name>serviceofferingid</name>
				<param>globalserviceofferingid</param>
			</item>
			<item getparam="true">
			    <name>templateid</name>
				<param>globaltemplateid</param>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>
			<item>
				<name>displayname</name>
				<value>SnapshotTest-Admin-VM-3</value>
			</item>
			<item>
				<name>group</name>
				<value>group1</value>
			</item>
			<item getparam="true">
				<name>networkids</name>
				<param>networkid</param>
			</item>	
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>vmid3</param>
			</item>
		</returnvalue>
         </command>
         
<!--Step 5(b): Associate Third IP other than the two assigned -->

<command>
		<name>associateIpAddress</name> 
		<testcase>Associate Second IP Failure Avoidance Test Case</testcase>
		<usercommand>true</usercommand>
	
		<parameters>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>	
		</parameters>
		
		<returnvalue>
			<item setparam="true">
				<name>ipaddress</name>
				<param>ipid</param>
			</item>
		</returnvalue>
		
		
</command>

<!--Step 5(c): Add Seventh volume to the existing volumes of one of the VMs -->
<command>
		<name>createVolume</name>
		<testcase>Create Seventh Volume Failure Avoidance Test Case</testcase>
		<usercommand>true</usercommand>
	
		<parameters>
			<item>
				<name>name</name>
				<value>AdminsSeventhVolume</value>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
			    <param>globalzoneid</param>
			</item>	
			<item getparam="true">
			    <name>account</name>
				<param>accountname</param>
			</item>	
			<item>
			    <name>domainid</name>
				<value>1</value>
			</item>	
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>	
		</parameters>
		
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>volid3</param>
			</item>
		</returnvalue>
		
</command>			         

<!-- Step 5(d): Create a third Snapshot of the volume--> 
<command>
		<name>createSnapshot</name>
		<testcase>Create Third Snapshot Failure Test Case</testcase>
		<usercommand>true</usercommand>
		<error>true</error>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>volid1</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>snpid</param>
			</item>
		</returnvalue>
</command>

<!-- Step 5 (e): Try to create a third template for the same user -->

<command>
		<name>registerTemplate</name>
		<testcase>Create Third Template Failure Avoidance Test Case</testcase>
		<usercommand>true</usercommand>

		<parameters>
			<item>
				<name>name</name>
				<value>AdminsThirdTemplate</value>
			</item>
			<item>
				<name>displaytext</name>
				<value>AdminsThirdtemplate</value>
			</item>
			<item>
				<name>url</name>
				<value>http://192.168.10.231/templates/routing/latest/systemvm.vhd.bz2</value>
			</item>
			<item>
				<name>format</name>
				<value>vhd</value>
			</item>
			<item>
				<name>ostypeid</name>
				<value>41</value>
			</item>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>	
			<item getparam="true">
				<name>account</name>
				<param>accountname</param>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item getparam="true">
				<name>hypervisor</name>
				<param>globalhypervisortype</param>
			</item>	
						
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>templid3</param>
			</item>
		</returnvalue>
</command>

<!-- Step 6: Clean Up -->
<command>
		<name>deleteAccount</name>
		<testcase>Clean up admin account test case</testcase>
		
		<parameters>
				<item getparam="true">
					<name>id</name>
					<param>accountid</param>
				</item>
		</parameters>
		
</command>
</thirdtest>
