4 Since the closest that GWM has to a formal specification seems to be the
5 bug list, this document is a brainstorm of the behaviors which are
6 expected of Ganeti Web Manager and can be tested using Selenium. The
7 specs will be listed here in two categories: Testing that it does what
8 it should, and testing that it doesn't do what it shouldn't.
10 *italicized sections aren't specific enough*
12 When I say that B should happen "immediately" after A, I mean that one
13 should not have to refresh the page or wait more than a second or two
14 for B to show up after A occurs. Selenium tests can run really fast, so
15 it would probably be acceptable (if necessary) to build in a half-second
16 or so of wait time between A and B, since the succession of events would
17 still seem "immediate" to a user.
27 - Create New User: From login page "Not a member" link or (admin only)
28 users page Add User button
30 - Display correct error messages for each invalid field in create
32 - Display correct success message when valid form is submitted
36 - New user appears in user list page accessed from sidebar link
38 - Correct email address is displayed
39 - Correct user creation time displayed
40 - Username links to user detail page
42 - Detail page displays correct username, email, join date, active, and
44 - New user appears in user list dropdown menu for adding permissions
46 - Edit link leads to edit form pre-populated with user's info
48 - Edit form shows correct error when invalid options are entered
50 - Catches mismatched passwords
51 - Forbids changing username to one that's already taken
52 - If 'active' status changed, this change must appear on user detail
54 - *If superuser status changed, this change must be reflected by
55 detail/list pages and in the availability of adding permissions
56 from user detail page.*
58 - Changes made via user edit form are shown in user list and user
60 - Remove User link displays popup saying "Remove user: <Username>"
61 popup... Clicking "ok" deletes user, "cancel" returns to unaltered
64 --OTHER TESTS RELATED TO USER--
66 - Resource usage displayed in tab of detail page should change when
68 - When logged in as user, should be able to change own email
70 - ADMIN should be able to add cluster or add VM to user's permissions
71 from tab of detail page, and it should show up in the list
72 immediately after being added
73 - A test which creates a log (probably done while logged in as user)
74 should check that the logged action is displayed correctly in
75 the log tab of the user detail page (same with User Actions)
80 These tests should be run after the cluster is added. Ideally the test
81 cluster will have more than one page of VMs.
83 - VM Detail Page shows list of all the VMs that should be there in the
86 - Clicking any heading in the list causes entire list to be sorted
88 - If >1 page of VMs, number buttons cause correct page of VMs to be
91 - Add VM button on detail page links to same add page as Create VM link
93 - Owner, Cluster, & other dropdown menus only offer valid options
94 (don't allow VM to be created with inactive user as owner?)
95 - Help Tip displays text appropriate to box most recently clicked
96 - Fails gracefully with bad data
98 - Non-generic error message if invalid DNS name and DNS Name Check
104 - Clicking Add Group button on Groups page opens Add Group dialog
106 - Typing a name in the dialog and either hitting enter or clicking
107 save creates the group with that name
108 - Group is displayed in group detail page with name as a link to
109 group, 0 members, 0 admins.
110 - Edit link on detail page lets you change group's name
112 - New name is reflected in list immediately if you change name
115 - Link in groups list takes you to the group detail page
117 - Log tab lists group's creation and the user who created it
121 - When user added via Add User link,
123 --OTHER TESTS RELATED TO GROUP--
125 - Permissions on cluster/VM
126 - Correct display of resource usage
131 - *If cluster is added with no username/password credentials? If quota
132 given but no credentials? What should errors be?*
137 - *Show admin things to non-admins*
140 - access admin-only url by typing the url in, if not logged in as