Test case Id 

Test case description 

Steps 

Expected Result 

Priority

Status

Comments

1.

Verify that new account is created when we create a new user

Create a user with a unique name.

Verify that a new non-admin account got created.

P3

pass

 

 

 

2.

Remove one user from the account

1. Create an account with 2 users.
2. Start 2 VMs for them.
3. Remove one user from the account.

1. Verify that account still exists.
2. Verify that VMs started by the removed user are still running.

P3

pass

 

 

 

3.

Remove last user from the account

1. Create an account with 2 users.
2. Start 2 VMs for them.
3. Remove both users from the account.

1. Verify that account was removed as soon as a last user got removed - execute listAccounts command with account name.
2.Verify that all VMs/domRs belonging to the account got removed.

P3

pass

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

 

 

4.

Verify that users can remove VMs belonging to different users from the same account

1. Create an account with 2 users.
2. Start 2 VMs for them.
3. Try to remove a VM of the second user by the first user.

First user should be able to remove a VM belonging to the second user as the user belongs to the same account.

P3

pass

 

 

 

5.

Admin UI: update password feature

1.Login to admin UI with admin/password, create a couple of users.
2.Reset password for some of the users.

ROOT admin can update password for himself and for all other admins

P3

pass

 

 

 

7.

Admin UI: make sure that non-root admin can't see ROOT admins/users

1.Login to admin UI, create a domain, assign a new admin for this domain.
2.Login as non-root admin to user UI and make sure that you can't see ROOT users/admin.

non-root admin shouldn't see ROOT users/admin.

P3

pass

 

 

 

8.

Remove account when it has VMs in Starting/Stopping state

1.Create an account, start couple of VMs
2.Then stop one of them.
3.Once account has 1 vm in Starting and 1 VM in Stopping state, send API command to remove the account.

1.Verify that account got removed successfully. 
2.Make sure that account was marked as "Cleanup required" in vmops.account table.
And when cleaunp thread is running (default=once a day), these VMs should be destroyed.

P3

pass

 

 

 

9.

Remove account when External Firewall (having a VMs sourceNat rule) is non-accessible

1.Configure External firewall.
2.Create an account, start a VM, 3.create a portForwarding and LB rules.
4.Make firewall non-accessible.
5.Remove an account.

1.Verify that account got removed successfully. 
2.Make sure that account was marked as "Cleanup required" in vmops.account table.
3.Source NAT shouldn't be released because firewall is non-accessible; portForwarding/LB rules also shouldn't be removed from the DB.
4.Verify that when cleanup thread is run and firewall is accessible, sourceNAT/portForwarding/LB rules got removed.

P3

pass

 

 

 

10.

Verify that ROOT domain exists in the system by default, and is should have admin/system users assigned

Deploy management server.

1.Verify that ROOT domain is present in the system by default.
2.Make sure that system/admin users belong to the ROOT domain.

P3

pass

 

 

 

11.

Disable account when it has VMs in Starting state

1. Create an account.
2.Start a VM.
3.While VM is starting, disable the account.

All VMs belonging to the disabled account should be stopped.

P3

pass

 

 

 

12.

Verify that admin can't start VMs for disabled account

1.Create an account.
2.Start a VM.
3.Disable account.
4.Login to admin UI and verify that admin can't start VMs for disabled account.

Admin shouldn't be able to start VMs belonging to disabled account.

P3

pass

 

 

 

13.

Verify that disabled user can't execute any commands

1.Create an account.
2.Start a VM.
3.Disable account.
4.Using API try to send startVM command by disabled user

API Should be blocked.

P3

pass

 

 

 

14.

Try to assign user to disabled account

1.Create an account.
2.Disable account.
3.Try to create a new user and assign it to the disabled account.

API Should be blocked.

P3

pass

 

 

 

16.

Service offerings in a domain should be visible to that domain and to all the domains lower in the heirarchy.

1. create a domain and sub domain like ROOT>domain1>domain2>domain3
2.Now create service offerings for domain1 , domain2 and domain3

1.when logged in as a user in account in domain1 , we should be able to see the service offerings in domain2 and domain3
2.when logged in as a user in account in domain2 , we should be able to see the service offerings in domain2 and domain3 but not of domain1

P3

pass

 

17.

Service offerings in a domain should NOT be visible to any other domain in the same heirarchy level (sibling domains).

1. create  domains domain1 and domain2 under ROOT
2. Now create service offerings for domain1 , domain2

1.when logged in as a user in account in domain1 , we should not be able to see the service offerings in domain2

P3

pass

 

18.

Service offerings from the domains that are lower in the heirarchy level (child domains) should NOT be visible to the parent domain.

1. create  domains domain1 and domain2 under ROOT
2 .Now create service offerings for domain1 , domain2

1.when logged in as a user in account in domain1 , we should not be able to see the service offerings in ROOT

P3

pass

 

19.

Private templates in a domain should be visible to that domain and to all the domains higher in the heirarchy.

1. create  domains domain1 and domain2 under ROOT
2.Now create some private templates  for  domain1 , domain2

templates in the domain1 and domain2 should be visible from ROOT

P3

pass

 

20.

Private templates in a domain should NOT be visible to any other domain in the same heirarchy level (sibling domains).

1. create  domains domain1 and domain2 under ROOT
2. Now create some private templates  for  domain1 , domain2

templates in the domain1 should NOT be visible from  domain2

P3

pass

 

21.

Try to edit ROOT domain

Send editDomain command for the ROOT domain (id=1).

You should be denied to do it - error response should be generated.

P3

pass

 

22.

Try to create a domain with duplicate name

1) Create a domain "domain1".
2) Try to create another domain with the same name.

You should be denied to do that - domain name is supposed to be unique

P3

pass

 

23.

Try to create a domain with non-existing parent Id 

Send "createDomain" api command with non-existing value for "parentdomainid"

Should get an error response.

P3

pass

 

24.

Verify "type" return parameter in listAccounts response

1) Execute listApi command with parameter name=admin. Make sure that accountType=1 was returned.
2) Create a regular user, execute listAccount command with hist name. Make sure that accounttype=0 was returned.

1) Execute listApi command with parameter name=admin. Make sure that accountType=1 was returned.
2) Create a regular user, execute listAccount command with hist name. Make sure that accounttype=0 was returned.

P3

pass

 

26.

CreateUser and assign it to non-existing domain

Specify domainid=<non existing domainid> parameter in the url for createUser

Verify that you received an error code and no user was created.

P3

pass

 

27.

CreateUser and assign it to non-existing non-admin account

Specify account=<non existing account> parameter in the url for createUser

User and new account should be successfully created; user should be assigned to this account

P3

pass

 

28.

Miss some parameters for createUser

Try to miss one of the following parameters during the user creation:

* username
* password
* firstname
* lastname
* email

Verify that you received an error response and no user was created

P3

pass

 

30.

Issue createUser by regular user via 8080 port 

Send createUser command via 8080 port

Verify that you received an error response - regular user can't create a user

P3

pass

 

31.

CreateUser without specifying an account

Send createUser command without specifying an account.

Account creation should fail with an error

P3

pass

 

32.

CreateUser: specify existing account with non-existing domain 

1.Create first user "user1". Account "user1" got created along with domainid=2.
2.Try to create a second user specifying account=user1&domainid=<non existing domain>

Verify that you get an error response and no user got created.

P3

pass

 

35.

Create two users with the same username and different accounts specified 

Try to create two users with the same username and different accounts specified

createUser&username=foo&password=pw>&firstname=foo&lastname=foo&email=foo&account=one
createUser&username=foo&password=pw>&firstname=bar&lastname=bar&email=bar&account=two

second user will fail to create due to username exists in the root domain

P3

pass

 

36.

Create two users with the same username and no account specified in different domains

Try to create two users with the same username and no account specified in different domains
createUser&username=foo&password=<pw>&firstname=foo&lastname=foo&email=foo&domainid=2
createUser&username=foo&password=pw>&firstname=bar&lastname=bar&email=bar&domainid=3

Account creation should fail with an error in both the cases

P3

pass

 

37.

DeleteUser for non-existing user

Try to delete non-existing user.

should get an error code

P3

pass

 

38.

Delete already deleted user

Try to delete an user who is already deleted

should get an error code

P3

pass

 

39.

GetUser for deleted user

Try to getUser for deleted user

should get an error code

P3

pass

 

40.

"disableUser" command for reseller admin

1. Create a non-ROOT admin.
2 .Send "disableUser" command for this user.

The user should be disabled successfully.

P3

pass

 

41.

ListAccounts shouldn't show "system" account

Execute listAccounts command and make sure that "system" account is not listed there.

We should hide system account from the end user.

P3

pass

 

42.

Try to update user with the user name that already exist in the DB

1) Create user1 and user2 in the ROOT domain.
2) Try to update user2 with the user name=user1

You should get an error response

P3

pass

 

43.

User's password stored in the DB should be encrypted

Create a user

Make sure that his password is encrypted in the DB

P3

pass

 

44.

admin account should be able to change passwords for admins.

1.login as admin A
2.create admin B.
3.change admin password from admin UI for admin A and admin B

1.For admin A : make sure password is changed and you can login with the new password.
2.For admin B : make sure password is changed and you can login with the new password.

P3

pass

 

45.

MD5 Hashed Password authentication

1) Try to bring fresh setup of CS
2) Create user and set password
3) Generate MD5 hashed password for the plain text password
4) login to CS with login api and pass hashed password 

Login should be successful with hashed password

P1

pass

 

47.

GetUser for non-existing user 

Try to getUser for non-existing user

should get an error code

P3

pass

 

48.

Update admin user

Try to update admin user

should get an error code

P3

pass

 

49.

Create a domain with the name that already exists in the system

Try to create a domain with the name of already existing domain

should get an error response

P3

pass

 

50.

ListDomains shouldn't show removed domains

Create couple of domains and remove them.
Send listDomains API

Make sure that removed domains weren't returned in the response

P3

pass

 

51.

Remove domain when it has users assigned to it

Create a non-root domain, assign a couple of users to it.
Send remove command for this domain.

Make sure that you received error response

P3

pass

 

52.

"disableUser" command for ROOT admin

1. Create a Root admin.
2. Send "disableUser" command for this admin

Should be blocked.

P3

pass

 

53.

"disableAccount" command for ROOT admin

1. Create a Root admin.
2. Send "disableAccount" command for this admin

Should be blocked.

P3

pass

 

54.

"disableAccount" command for reseller admin

1. Create a non-ROOT admin.
2. Send "disableAccount" command for this account.

The account should be disabled successfully. 

P3

pass

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • No labels