Test case Id

Test case description

Steps

Expected Result

Priority

Status

Comments

1.

Verify Global configuration
allow.user.project.creation

1. Set configuration to true
2. Create a Project as  domain admin
3. Create a Project as domain user

In both 2 and 3 project creation should be successful

P1

pass

 

2.

Verify Global configuration
allow.user.project.creation

1.  Set configuration to false
2.  Create a Project as  domain admin
3.  Create a Project as domain user

In  2  project creation should be successful
In  3  project creation should fail

P1

pass

 

3.

Verify Global configuration
project.invite.required

1.  Set configuration to false
2.  Create a Project
3.  Add users to the project

Verify after step 3 user is added to project as regular user

P1

pass

 

4.

Verify Global configuration
project.invite.required

1. Set configuration to true
2. Create a Project
3. Add users to the project

Verify after step 3 user is not added to project as regular user
Verify after step 3 user is shown as in Pending state

P1

pass

 

5.

Verify Global configuration
 project.invite.timeout

1. Set configuration to 5 mins
2. Create a Project
3. Add users to the project
4. As a user accept invitation within 5 mins

Verify invitation is accepted and user become regular user of project

P1

pass

 

6.

Verify Global configuration
 project.invite.timeout

1. Set configuration to 5 mins
2.Create a Project3. Add users to the project
4. As a user try to accept invitation after 5 mins

Verify invitation is not accepted and shown as expired

P2

pass

 

7.

Verify Global configuration
 project.invite.timeout

1. Set configuration to 5 mins
2.Create a Project3. Add users to the project
4. Wait for  invitation to expire after 5 mins
5. Resend the invitation

Verify invitation send again

P3

pass

 

8.

Verify Global configuration
 project.invite.timeout

1. Set configuration to 5 mins
2.Create a Project3. Add users to the project4. As a user decline invitation within 5 mins

Verify invitation is rejected and user does not become regular user of project

P1

pass

 

9.

Verify Global configuration
project.invite.required

1. Set configuration to 5 mins
2.Create a Project
3. Add users to the project by email

Verify after step 3 user is not added to project as regular user
Verify a mail is send to the mentioned email address
Verify mail contain a verification token

P2

pass

 

10.

Verify Global configuration
 project.invite.timeout

1. Set configuration to 5 mins
2. Create a Project
3. Add users to the project by email
4. As a user accept invitation by entering the received token in mail within 5 mins

Verify invitation is accepted and user become regular user of project

P2

pass

 

11.

Verify Global configuration
 project.invite.timeout

1. Set configuration to 5 mins
2. Create a Project
3. Add users to the project by email4. As a user accept invitation by entering the received token in mail within 5 mins

Verify invitation is not accepted and shown as expired

P2

pass

 

12.

Verify Global configuration
 project.invite.timeout

1. Set configuration to 5 mins
2. Create a Project
3. Add users to the project by email4. Wait for  invitation to expire after 5 mins
5. Resend the invitation by email

Verify invitation send again

P2

pass

 

13.

Verify Global configuration
 project.invite.timeout

1. Set configuration to 5 mins
2. Create a Project3. Add users to the project by email
4. Accept the invitation
5. Resend the invitation to the same email address

Verify invitation send again

P3

pass

 

14.

Verify an account can own multiple projects and  can belong to multiple projects

1. Create multiple project
2. add one account to multiple project

Verify at step 1 An account is allowed to create multiple projects
Verify at step 2 an account is allowed to added to multiple project

P1

pass

 

15.

Verify No cross domain projects

1. Create a project in a  domain
2. Add a different domain account to the project

After step 2 Verify account addition fails

P1

pass

 

16.

Verify As long as the project exists, its owner can't be removed

1. Create a Project
2. Delete the account who is the owner of the project

After step 2 delete account should fail

P1

pass

 

17.

Verify delete domain with cleanup=true should delete projects belonging to the domain

1. Create a project in a  domain
2. Delete the domain forcefully

After Step 2 Projects belonging to this domain should also be deleted as a part of domain cleanup

P2

pass

 

18.

Verify a project user can be later promoted to become a owner

1. Create a Project
2. Add account to the project
3. Edit the account to make it a project owner

After step 3 new account should be the project owner and the old owner should be now a project user

P1

pass

 

19.

Verify there can only be one owner of a project at a time

1. Create a Project
2. Add account to the project
3. Edit the account to make it a project owner
4. Edit another account to make it also a project owner

After step 4 making another user also project owner should fail

P2

pass

 

20.

Verify after an account is removed from the project, all his resources stay with the project.

1. Create a Project
2. Add account to the project
3. Add some resources to the project
4. Delete a account who is a project user

After step 4 verify all the resources of project is still there with the project

P1

pass

 

21.

Verify project deletion

1. Create a Project
2. Add account to the project
3. Add some resources to the project
4. Delete the project

Verify after step 4 all the resources belonging to project is released and freed.
Verify all accounts are being unassigned from the project automatically once their resources are cleaned up on deleting the project.

P1

pass

 

22.

Verify Project Suspension

1. Create a Project
2. Add account to the project
3. Add some resources to the project
4. Suspend  the project

Verify all running VM stops
Verify project owners/users not able to add any other resources to the project
Verify when project is suspended, stop/delete existing resources - stop/destroy vm, delete Volume etc works. But start stopped vms and recover destroyed vms should not.

P1

pass

 

23.

Verify Project activation after its Suspension

1. Create a Project
2. Add account to the project
3. Add some resources to the project
4. Suspend  the project
5. Activate the project again

Verify project is activated after step 5
Verify we can add more resources to project once its activated again.

P2

pass

 

24.

Verify change views

1. Create a Project
2. Add account to the project
3. Add some resources to the project
4. Select default view
5. Select project view

After Step 4 Only resources related to account is shown
After step 6 Only resources to project should be shown

P1

pass

 

25.

Verify user is presented list of all the projects he belongs to “view” into.

1. Create several projects
2. Add some resources to the all the different projects
3. Select Project View
4. Select a project

after step 3 a list of all the projects belonging to this account should be shown
After step 4 verify resources belonging to that particular project is only shown.
Verify dashboard shows summary of virtual machines, storage, network traffic, network elements, events, and users of the projects.
Verify resources count associated with each resource on the dashboard in a selected project view is correct

P1

pass

 

26.

Project Limits

1. Create a Project
2. Reduce Project resources limits
3. Increase Projects Resources limits above domains limit
4. Create Resource more than its set limit for a project

After step 1 Verify once projects are created, they inherit a default set of resource limits as configured by the Cloud Stack ROOT admin.
After step 2 Verify limits can be reduced by the Project Owner of each project
After Step 2 Verify project limit applies to number of virtual instances, disk volumes, snapshots, IP address.
After step 2 Verify Resource limits for the project are independent of account resource limits
After Step 3 Verify project can’t have more resources than domain level limit allows.
After step 4 resource allocation should fail giving proper message

P1

pass

 

27.

Project limits

1. Create a Project
2. Reduce the projects limits as a domain admin
3. Reduce the projects limits as a project user /owner who is not a domain admin

After step 2 resource count should be updated
After step 3 resource update should fail.

P3

pass

 

28.

Project Limits :VMs

1. Create a Project
2. Reduce Project VM limits
3. Create VM more than its set limit for a project

After step 3 resource allocation should fail giving proper message

P1

pass

 

29.

Project Limits :snapshots

1. Create a Project
2. Reduce Project snapshots limits
3. Create snapshots more than its set limit for a project

After step 3 resource allocation should fail giving proper message

P1

pass

 

30.

Project Limits :Volumes

1. Create a Project
2. Reduce Project Volumes limits
3. Create Volumes more than its set limit for a project

After step 3 resource allocation should fail giving proper message

P1

pass

 

31.

Project Limits :IP

1. Create a Project
2. Reduce Project IP limits
3. Create IP more than its set limit for a project

After step 3 resource allocation should fail giving proper message

P1

pass

 

32.

Project Limits :Templates

1. Create a Project
2. Reduce Project templates limits
3. Create templates  more than its set limit for a project

After step 3 resource allocation should fail giving proper message

P1

pass

 

33.

Resource creation -ServiceOffering/DiskOffering* *

1. Create a Project
2. List Disk /service offerings for the project

After step 2 All DO/SO available in the domain can be used for project resource creation.

Verify resource can be used by the project when it is
       Private and belongs to the project
       Outside the project and shared

P1

pass

 

34.

Resource creation -Network

1. Create a Project
2. Add virtual/direct  network resource to the project
3. User shared network resource for the project

Verify any number of Project level Virtual/Direct networks can be created and used for vm deployment within the project.

Verify shared networks (zone and domain wide) from outside the project can also be used in a project.

Verify all resources created within the project, belong to:
          Project
          Domain

P1

pass

 

35.

Resource creation -Template

1. Create a Project
2. Add some private template to the project
3. Use  Public templates to create VM for the project

Verify only Public templates can be used without any restrictions by Project.
Verify that in order to use somebody’s Private template for vm creation in the project, permission to use the template has to be granted to the Project (use API “updateTemplatePermissions” with project id to achieve that).
Verify template belonging to a project (using registerTemplate/createTemplate commands) can be created, and use this template inside the project w/o any restrictions.

P1

pass

 

36.

Resource creation -Snapshot

1. Create a Project
2. Add some snapshots  to the project

Verify only snapshot created within the project can be used by the project

P1

pass

 

37.

Resource creation -IpAddress

1. Create a Project
2. Add some IP address to the project

Verify only ip address created within the project can be used for PF/LB/Firewall rules creation within the project.

P1

fail

https://issues.apache.org/jira/browse/CLOUDSTACK-95

38.

Resource creation -PF/LB/VPN rules 

1. Create a Project
2. Add some IP address to the project
3. Apply some PF/LB/VPN rules

Verify  when rule is creating in the project, it can be mapped only for vm/IP belonging to the project

P1

pass

 

39.

Resource creation -Security groups in Basic zone

1. Create a Project
2. Apply some security groups

Verify if rule is created in the project, it can be assigned only to the vm belonging to the project

P1

pass

 

40.

Verify usage for projects

1. Create a Project
2. Add some resources to the project

After step 2 Verify all the usage generated for the resources belong to the project

P1

pass

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • No labels