User Tools

Site Tools


promise:testcases

This is an old revision of the document!


Promise Function Test

Test cases for Promise (work in progress): test_cases.docx

etherpad to discuss test cases

Test ID Title Test steps actions Test steps results
TC0 Pre-conditions Step 0. Create an OpenStack project called “Promise”.
Step 1. Create a quota for “Promise” limiting the amount of VCPUs to 5.
Note: In this release the created quota will be taken as the total existing capacity by Promise (to be confirmed).
Step 2: Create a block storage quota for “Promise” limiting the amount of block storage to 20 GBytes.
TC1 Reservation of a VM for immediate use followed by allocation Step 1: Create a compute resource reservation.
Description: Use the Create Compute Resource Reservation operation to reserve a virtualizationContainer with 3 VCPUs. Omit start time and end time.



Step 4: Create a compute resource using the previous reservation.
Description: use the Allocate Virtualised Compute Resource operation containing the received reservationId and the compute resource’s attributes matching the ones used in the reservation.



Step 7: Terminate the compute resource using the received computeId.



Step 9: Terminate the compute resource reservation using the received reservationId.



Step 2: Verify successful response.
Step 3: Store the received reservationId.




Step 5: Verify successful response.
Step 6: Store received computeId.


Step 8: Verify successful response.


Step 10: Verify successful response.
TC2 Reservation of a VM followed by denial of service to another user and by allocation of reserved VMStep 1: Create a compute resource reservation.
Description: Use the Create Compute Resource Reservation operation to reserve a virtualizationContainer with 5 VCPUs. Omit start time and end time.




Step 4: Create a compute resource without using the previous reservation.
Description: use the Allocate Virtualised Compute Resource operation not containing the received reservationId.
Note: the operation shall be sent as a user of the created “Promise” project in order to be constrained by the quota. This is a limitation of Promise in this release.


Step 6: Create a compute resource using the previous reservation.
Description: use the Allocate Virtualised Compute Resource operation containing the received reservationId and the compute resource’s attributes matching the ones used in the reservation.




Step 9: Terminate the compute resource using the received computeId.


Step 11: Terminate the compute resource reservation using the received reservationId.




Step 2: Verify successful response.
Step 3: Store the received reservationId.






Step 5: Verify unsuccessful response.





Step 7: Verify successful response.
Step 8: Store received computeId.


Step 10: Verify successful response.


Step 12: Verify successful response.
TC3 Reservation of a VM for future useStep 1: Store Current Time ‘T0’.
Step 2: Create a compute resource reservation.
Description: Use the Create Compute Resource Reservation operation to reserve a virtualizationContainer with 3 VCPUs. Indicate ‘T0+200 s’ as start time and ‘T0+3800 s’ as end time.



Step 5: Store Current Time ‘T1’.
Step 6: Wait T0+200+1-T1 seconds.
Step 7: Create a compute resource using the previous reservation.
Description: use the Allocate Virtualised Compute Resource operation containing the received reservationId and the compute resource’s attributes matching the ones used in the reservation.



Step 10: Terminate the compute resource using the received computeId.



Step 12: Terminate the compute resource reservation using the received reservationId.




Step 3: Verify successful response.
Step 4: Store the received reservationId.






Step 8: Verify successful response.
Step 9: Store received computeId.


Step 11: Verify successful response.


Step 13: Verify successful response.
TC4 Update of an outstanding reservation, increase capacityStep 1: Store Current Time ‘T0’.
Step 2: Create a compute resource reservation.
Description: Use the Create Compute Resource Reservation operation to reserve a virtualizationContainer with 3 VCPUs. Indicate ‘T0+300 s’ as start time and ‘T0+3800 s’ as end time.




Step 5: Update the reservation adding one more VCPU.
Description: Use the Update Compute Resource Reservation operation to modify the number of VCPUs to 4. Use the received reservationID.


Step 7: Store Current Time ‘T1’.
Step 8: Wait T0+300+1-T1 seconds.
Step 9: Create a compute resource using the previous reservation.
Description: use the Allocate Virtualised Compute Resource operation containing the received reservationId and the compute resource’s attributes matching the ones used in the updated reservation, i.e. 4 VCPUs.



Step 12: terminate the compute resource using the received computeId.


Step 14: Terminate the compute resource reservation using the received reservationId.





Step 3: Verify successful response.
Step 4: Store the received reservationId.



Step 6: Verify successful response.







Step 10: Verify successful response.
Step 11: Store received computeId.


Step 13: Verify successful response.


Step 15: Verify successful response.
TC5 Update of an outstanding reservation, decrease capacityStep 1: Store Current Time ‘T0’.
Step 2: Create a compute resource reservation.
Description: Use the Create Compute Resource Reservation operation to reserve a virtualizationContainer with 3 VCPUs. Indicate ‘T0+400 s’ as start time and ‘T0+3800 s’ as end time.




Step 5: Update the reservation reducing the number of VCPUs to 2.
Description: Use the Update Compute Resource Reservation operation to modify the number of VCPUs to 2. Use the received ReservationID.


Step 7: Wait T0+400+1-T1 seconds.
Step 8: Create a compute resource without using the previous reservation.
Description: use the Allocate Virtualised Compute Resource operation not containing the received reservationId to create a VM with 3 VCPUs.
Note: the operation shall be sent as a user of the created “Promise” project in order to be constrained by the quota. This is a limitation of Promise in this release.




Step 11: Store Current Time ‘T1’.
Step 12: Wait T0+400+1-T1 seconds.
Step 13: Create a compute resource using the previous reservation.
Description: use the Allocate Virtualised Compute Resource operation containing the received reservationId and the compute resource’s attributes matching the ones used in the updated reservation, i.e. 2 VCPUs.



Step 16: terminate the compute resource using the received computeId.



Step 18: terminate the compute resource using the received computeId’.



Step 20: Terminate the compute resource reservation using the received reservationId.




Step 3: Verify successful response.
Step 4: Store the received reservationId.


Step 6: Verify successful response.





Step 9: Verify successful response.
Step 10: Store received computeId.






Step 14: Verify successful response.
Step 15: Store received computeId’.

Step 17: Verify successful response.

Step 19: Verify successful response.

Step 21: Verify successful response.
TC6 Notification of reservation changeStep 1: Store Current Time ‘T0’.
Step 2: Create a compute resource reservation.
Description: Use the Create Compute Resource Reservation operation to reserve a virtualizationContainer with 4 VCPUs. Indicate ‘T0+400 s’ as start time and ‘T0+3800 s’ as end time.



Step 5: Subscribe to notifications of changes affecting the reservation.
Description: use the Subscribe operation with the received reservationId in order to get notified of changes that affect the reservation.

Step 7: Reduce the quota for “Promise” limiting the amount of VCPUs to 3.
Note: In this release the created quota will be taken as the total existing capacity by Promise (to be confirmed).






Step 9: Terminate the compute resource reservation using the received reservationId.


Step 11: Restore the quota for “Promise” limiting the amount of VCPUs to 5.




Step 3: Verify successful response.
Step 4: Store the received reservationId.




Step 6: Verify successful response.



Step 8: Verify a Notification is received. The reservation is modified to 3 VCPUs.
Note: alternatively, the notification could indicate that the reservation is no longer valid.


Step 10: Verify successful response.
promise/testcases.1450707075.txt.gz · Last modified: 2015/12/21 14:11 by Arturo Martin de Nicolas