Selenium test specs¶
Since the closest that GWM has to a formal specification seems to be the bug list, this document is a brainstorm of the behaviors which are expected of Ganeti Web Manager and can be tested using Selenium. The specs will be listed here in two categories: Testing that it does what it should, and testing that it doesn’t do what it shouldn’t.
italicized sections aren’t specific enough
When I say that B should happen “immediately” after A, I mean that one should not have to refresh the page or wait more than a second or two for B to show up after A occurs. Selenium tests can run really fast, so it would probably be acceptable (if necessary) to build in a half-second or so of wait time between A and B, since the succession of events would still seem “immediate” to a user.
gwm SHOULD:¶
User¶
–ANYONE–
Create New User: From login page “Not a member” link or (admin only) users page Add User button
Display correct error messages for each invalid field in create form
Display correct success message when valid form is submitted
–ADMIN–
New user appears in user list page accessed from sidebar link
Correct email address is displayed
Correct user creation time displayed
Username links to user detail page
Detail page displays correct username, email, join date, active, and admin fields
New user appears in user list dropdown menu for adding permissions
Edit link leads to edit form pre-populated with user’s info
Edit form shows correct error when invalid options are entered
Catches mismatched passwords
Forbids changing username to one that’s already taken
If ‘active’ status changed, this change must appear on user detail & user list pages
If superuser status changed, this change must be reflected by detail/list pages and in the availability of adding permissions from user detail page.
Changes made via user edit form are shown in user list and user dropdown lists
Remove User link displays popup saying “Remove user: <Username>” popup… Clicking “ok” deletes user, “cancel” returns to unaltered user list page
–OTHER TESTS RELATED TO USER–
Resource usage displayed in tab of detail page should change when used resources change
When logged in as user, should be able to change own email address/password
ADMIN should be able to add cluster or add VM to user’s permissions from tab of detail page, and it should show up in the list immediately after being added
A test which creates a log (probably done while logged in as user) should check that the logged action is displayed correctly in the log tab of the user detail page (same with User Actions)
VM:¶
These tests should be run after the cluster is added. Ideally the test cluster will have more than one page of VMs.
VM Detail Page shows list of all the VMs that should be there in the test cluster
Clicking any heading in the list causes entire list to be sorted by that attribute
If >1 page of VMs, number buttons cause correct page of VMs to be shown
Add VM button on detail page links to same add page as Create VM link in sidebar…
Owner, Cluster, & other dropdown menus only offer valid options (don’t allow VM to be created with inactive user as owner?)
Help Tip displays text appropriate to box most recently clicked
Fails gracefully with bad data
Non-generic error message if invalid DNS name and DNS Name Check box was checked
Group¶
Clicking Add Group button on Groups page opens Add Group dialog
Typing a name in the dialog and either hitting enter or clicking save creates the group with that name
Group is displayed in group detail page with name as a link to group, 0 members, 0 admins.
Edit link on detail page lets you change group’s name
New name is reflected in list immediately if you change name from edit link
Link in groups list takes you to the group detail page
Log tab lists group’s creation and the user who created it
Users page:
When user added via Add User link,
–OTHER TESTS RELATED TO GROUP–
Permissions on cluster/VM
Correct display of resource usage
Cluster¶
If cluster is added with no username/password credentials? If quota given but no credentials? What should errors be?
gwm should NOT:¶
Show admin things to non-admins
Search Results
access admin-only url by typing the url in, if not logged in as admin
edit user page?