<!--
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.
-->
<snapshots>

<!--
	  STEPS + TEST CASES COVERED:
	1.Creating a Normal User
	2.Register that User
	3.Deploy a Smaller Disk Offering VM(Small VM)
		a.List the Root Disk of the Small VM
		b.List the Data Disk of the Small VM
	4.Wait for some time for the management server to respond
	5.Create a Snapshot from the root disk of the Small VM
	6.Create a Snapshot from the data disk of the Small VM
	7.Create a Template from the snapshot taken of the root disk of the Small VM
	8.Deploy a VM from the template created from the snapshot taken of the root disk of the Small VM
	9.Create a Volume from the snapshot taken of the root disk of the Small VM
	10.Create a Volume from the snapshot taken of the data disk of the Small VM
	11.Create the snapshot of a detached Volume
	12.Attach the volume created from the snapshot taken of the root disk of the Small VM to the VM created from the template created from the snapshot taken of the root disk of the Small VM
	13.Attach the volume created from the snapshot taken of the root disk of the Small VM to a different VM.
	14.Reboot,start,stop VM created from the template created from the snapshot taken of the root disk of the Small VM
	15.Delete a Snapshot taken of an attached Volume
	16.Delete a Snapshot taken of an detached Volume
	17.Destroy VM created from the template created from the snapshot taken of the root disk of the Small VM
	18.Create a Snapshot from the root disk of the VM immediately after destruction
 	19.Create a Snapshot from the destroyed root disk of the VM after expunge delay time duration
 	20.Destroy VM created from the template created from the snapshot taken of the root disk of the Small VM
 	21.Execute the cleanup - Delete a user
-->

<!-- 1. Create a Normal User -->
<command>
		<name>createUser</name>
		<testcase>Create a user</testcase>

		<parameters>
			<item random="true">
			    <name>username</name>
			</item>
			<item>
			    <name>password</name>
				<value>apiuser</value>
			</item>
			<item>
				<name>firstname</name>
				<value>apiuser</value>
			</item>
			<item>
				<name>lastname</name>
				<value>apiuser</value>
			</item>
			<item>
				<name>email</name>
				<value>apiuser@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>accountvar</param>
			</item>
		</returnvalue>
	</command>

<!-- 2.Register that User -->
	<command>
		<name>registerUserKeys</name>
		<testcase>Registering the user</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>

<!-- 3.Deploy a Smaller Disk Offering VM(Small VM) -->
	<command>
		<name>deployVirtualMachine</name>
		<testcase>Deploying VM from small diskOffering</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>
			<item getparam="true">
			    <name>serviceofferingid</name>
				<param>globalserviceofferingid</param>
			</item>
			<item>
			    <name>diskofferingid</name>
				<value>5</value>
			</item>
			<item getparam="true">
				<name>templateid</name>
				<param>globaltemplateid</param>
			</item>
			<item>
				<name>account</name>
				<value>admin</value>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item>
				<name>displayname</name>
				<value>namefordisplay</value>
			</item>
			<item>
				<name>group</name>
				<value>group1</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>smallvmid</param>
			</item>
		</returnvalue>
	</command>

<!-- a.List the Root Disk of the Small VM -->
	<command>
		<name>listVolumes</name>
		<parameters>
			<item getparam="true">
				<name>virtualmachineid</name>
				<param>smallvmid</param>
			</item>
			<item>
				<name>type</name>
				<value>ROOT</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>smallrootvolumeid</param>
			</item>
		</returnvalue>
	</command>
<!-- b.List the Data Disk of the Small VM -->
	<command>
		<name>listVolumes</name>
		<parameters>
			<item getparam="true">
				<name>virtualmachineid</name>
				<param>smallvmid</param>
			</item>
			<item>
				<name>type</name>
				<value>datadisk</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>smalldatavolumeid</param>
			</item>
		</returnvalue>
	</command>

<!-- 4.Wait for some time for the management server to respond -->
	<command>
		<name>sleep.sh</name>
		<script>true</script>
		<testcase>Sleep for some time</testcase>
		<parameters>
			<item>
			    <name>s</name>
				<value>200</value>
			</item>
		</parameters>
	</command>

<!-- 5.Create a Snapshot from the root disk of the Small VM -->
	<command>
		<name>createSnapshot</name>
		<testcase>Creating snapshot of ROOT disk of small vm</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>smallrootvolumeid</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>smallrootsnapshot</param>
			</item>
		</returnvalue>
	</command>

<!-- 6.Create a Snapshot from the data disk of the Small VM -->
	<command>
		<name>createSnapshot</name>
		<testcase>Creating snapshot of Data disk of small vm</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>smalldatavolumeid</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>smalldatasnapshot</param>
			</item>
		</returnvalue>
	</command>

<!-- 7.Create a Template from the snapshot taken of the root disk of the Small VM -->
	<command>
		<name>createTemplate</name>
		<testcase>Creating template of ROOT snapshot of small vm</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
				<name>snapshotid</name>
				<param>smallrootsnapshot</param>
			</item>
			<item random="true">
				<name>name</name>
			</item>
			<item>
				<name>displaytext</name>
				<value>newtext</value>
			</item>
			<item>
				<name>osTypeId</name>
				<value>12</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>smalltemplateid</param>
			</item>
		</returnvalue>
	</command>

<!-- 8.Deploy a VM from the template created from the snapshot taken of the root disk of the Small VM -->
	<command>
		<name>deployVirtualMachine</name>
		<testcase>Deploy a vm from template created from snapshot of ROOT disk of small vm</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>
			<item getparam="true">
			    <name>serviceofferingid</name>
				<param>globalserviceofferingid</param>
			</item>
			<item>
			    <name>diskofferingid</name>
				<value>5</value>
			</item>
			<item getparam="true">
				<name>templateid</name>
				<param>smalltemplateid</param>
			</item>
			<item>
				<name>account</name>
				<value>admin</value>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item>
				<name>displayname</name>
				<value>smallsnpshtVM</value>
			</item>
			<item>
				<name>group</name>
				<value>group1</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>smallvmid1</param>
			</item>
		</returnvalue>
	</command>

<!-- 9.Create a Volume from the snapshot taken of the root disk of the Small VM -->
	<command>
		<name>createVolume</name>
		<testcase>Create a volume from smaller disk snapshot</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
				<name>snapshotid</name>
				<param>smallrootsnapshot</param>
			</item>
			<item random="true">
				<name>name</name>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>smallvolumeid</param>
			</item>
		</returnvalue>
	</command>

<!-- 10.Create a Volume from the snapshot taken of the data disk of the Small VM -->
	<command>
		<name>createVolume</name>
		<testcase>Create a volume from smaller disk snapshot</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
				<name>snapshotid</name>
				<param>smalldatasnapshot</param>
			</item>
			<item random="true">
				<name>name</name>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>smallvolumeid</param>
			</item>
		</returnvalue>
	</command>

<!-- 11.Create the snapshot of a detached Volume -->
	<command>
		<name>createSnapshot</name>
		<testcase>Creating snapshot of Detached Volume</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>smallvolumeid</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>detachsnapshotid</param>
			</item>
		</returnvalue>
	</command>

<!-- 12.Attach the volume created from the snapshot taken of the root disk of the Small VM to the VM created from the template created from the snapshot taken of the root disk of the Small VM-->
	<command>
		<name>attachVolume</name>
		<testcase>Attach small volume to the vm created from small snapshot</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
				<name>id</name>
				<param>smallvolumeid</param>
			</item>
			<item getparam="true">
				<name>virtualmachineid</name>
				<param>smallvmid1</param>
			</item>
		</parameters>
	</command>

<!-- 13.Attach the volume created from the snapshot taken of the root disk of the Small VM to a different VM. -->

	<command>
		<name>attachVolume</name>
		<testcase>Attach small volume to a different VM</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
				<name>id</name>
				<param>smallvolumeid</param>
			</item>
			<item getparam="true">
				<name>virtualmachineid</name>
				<param>smallvmid</param>
			</item>
		</parameters>
	</command>


<!-- 14.Reboot,start,stop VM created from the template created from the snapshot taken of the root disk of the Small VM -->
<!-- Reboot small vm, start/stop medium vm -->
	<command>
		<name>rebootVirtualMachine</name>
		<testcase>Reboot small vm</testcase>
		<parameters>
			<item getparam="true">
				<name>id</name>
				<param>smallvmid1</param>
			</item>
		</parameters>
	</command>

	<command>
		<name>stopVirtualMachine</name>
		<testcase>stop medium vm</testcase>
		<parameters>
			<item getparam="true">
				<name>id</name>
				<param>smallvmid1</param>
			</item>
		</parameters>
	</command>

	<command>
		<name>startVirtualMachine</name>
		<testcase>stop medium vm</testcase>
		<parameters>
			<item getparam="true">
				<name>id</name>
				<param>smallvmid1</param>
			</item>
		</parameters>
	</command>

<!-- 15.Delete a Snapshot taken of an attached Volume  -->
	<command>
		<name>deleteSnapshot</name>
		<testcase>Deleting a snapshot taken of an attached Volume</testcase>
		<parameters>
			<item getparam="true">
			    <name>id</name>
				<param>smallrootsnapshot</param>
			</item>
		</parameters>
	</command>

<!-- 16.Delete a Snapshot taken of an detached Volume  -->
	<command>
		<name>deleteSnapshot</name>
		<testcase>Deleting a snapshot taken of a detached Volume</testcase>
		<parameters>
			<item getparam="true">
			    <name>id</name>
				<param>detachsnapshotid</param>
			</item>
		</parameters>
	</command>


<!-- 17.Destroy VM created from the template created from the snapshot taken of the root disk of the Small VM -->
	<command>
		<name>destroyVirtualMachine</name>
		<testcase>Destroy small vm</testcase>
		<parameters>
			<item getparam="true">
				<name>id</name>
				<param>smallvmid1</param>
			</item>
		</parameters>
	</command>



<!-- 18.Create a Snapshot from the root disk of the VM immediately after destruction-->

	<command>
		<name>createSnapshot</name>
		<testcase>Creating snapshot of root disk immediately after destroying VM.</testcase>
		<usercommand>true</usercommand>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>smallrootvolumeid</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>smallrootsnapshot</param>
			</item>
		</returnvalue>
	</command>


	<command>
		<name>sleep.sh</name>
		<script>true</script>
		<testcase>Sleep for expunge delayed interval</testcase>
		<parameters>
			<item getparam="true">
			    <name>s</name>
				<param>expunge.delay</param>
			</item>
		</parameters>
	</command>

	<command>
		<name>sleep.sh</name>
		<script>true</script>
		<testcase>Sleep for another expunge delayed interval</testcase>
		<parameters>
			<item getparam="true">
			    <name>s</name>
				<param>expunge.delay</param>
			</item>
		</parameters>
	</command>


<!-- 19.Create a Snapshot from the destroyed root disk of the VM after expunge delay time duration -->

	<command>
		<name>createSnapshot</name>
		<testcase>Creating snapshot of Destroyed root disk after expunge delay Failure Test Case</testcase>
		<usercommand>true</usercommand>
		<error>true</error>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>smallrootvolumeid</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>smallrootsnapshot</param>
			</item>
		</returnvalue>
	</command>

<!-- 20.Destroy VM created from the template created from the snapshot taken of the root disk of the Small VM -->
	<command>
		<name>destroyVirtualMachine</name>
		<testcase>Destroy small vm</testcase>
		<parameters>
			<item getparam="true">
				<name>id</name>
				<param>smallvmid1</param>
			</item>
		</parameters>
	</command>

	<command>
		<name>listConfiguration</name>
		<testcase>Getting value of the expunge.delay configuration parameter</testcase>
		<parameters>
			<item getparam="true">
			    <name>name</name>
				<value>expunge.delay</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
			    <name>value</name>
				<param>expunge.delay</param>
			</item>
		</returnvalue>
	</command>

	<command>
		<name>listConfiguration</name>
		<testcase>Getting value of the expunge.delay configuration parameter</testcase>
		<parameters>
			<item getparam="true">
			    <name>name</name>
				<value>expunge.delay</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
			    <name>value</name>
				<param>expunge.delay</param>
			</item>
		</returnvalue>
	</command>

<!-- 21. Execute the cleanup - Delete a user -->
	<command>
		<name>deleteUser</name>
		<testcase>Deleting a user</testcase>
		<parameters>
			<item getparam="true">
			    <name>id</name>
				<param>userid</param>
			</item>
		</parameters>
	</command>

</snapshots>
