Merge tag '0.10.2'
[ganeti_webmgr.git] / docs / source / dev / selenium.rst
blobdf24f39163ceb23d5e3931fc8df17101294798ed
1 Selenium test specs
2 ===================
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.
19 gwm SHOULD:
20 -----------
22 User
23 ~~~~
25 --ANYONE--
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
31       form
32    -  Display correct success message when valid form is submitted
34 --ADMIN--
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
43    admin fields
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
53       & user list pages
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
59    dropdown lists
60 -  Remove User link displays popup saying "Remove user: <Username>"
61    popup... Clicking "ok" deletes user, "cancel" returns to unaltered
62    user list page
64 --OTHER TESTS RELATED TO USER--
66 -  Resource usage displayed in tab of detail page should change when
67    used resources change
68 -  When logged in as user, should be able to change own email
69    address/password
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)
77 VM:
78 ~~~
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
84    test cluster
86    -  Clicking any heading in the list causes entire list to be sorted
87       by that attribute
88    -  If >1 page of VMs, number buttons cause correct page of VMs to be
89       shown
91 -  Add VM button on detail page links to same add page as Create VM link
92    in sidebar...
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
99       box was checked
101 Group
102 ~~~~~
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
113          from edit link
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
119 -  Users page:
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
128 Cluster
129 ~~~~~~~
131 -  *If cluster is added with no username/password credentials? If quota
132    given but no credentials? What should errors be?*
134 gwm should NOT:
135 ---------------
137 -  *Show admin things to non-admins*
139    -  *Search Results*
140    -  access admin-only url by typing the url in, if not logged in as
141       admin
142    -  *edit user page?*