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?

Project Versions

Table Of Contents

Previous topic

About the search system

Next topic

Working With The RAPI

This Page