Verify Users and Groups Control panel
Click here to get the file
Size
6.0 kB
-
File type
text/x-web-intelligent
File contents
Users and Groups control Panel
==============================
A very simple and underdocumented testbrowser test. This is all about
users and groups control panel.
>>> from re import compile
>>> from Products.Five.testbrowser import Browser
>>> browser = Browser()
>>> browser.open('http://nohost/plone')
Login Using the Login Portlet
-----------------------------
Login with the right credentials:
>>> browser.getLink('Home').click()
>>> browser.url
'http://nohost/plone'
>>> browser.getControl('Login Name').value = 'portal_owner'
>>> browser.getControl('Password').value = 'secret'
>>> browser.getControl('Log in').click()
Verify that we are given a status message saying we've logged in:
>>> 'You are now logged in' in browser.contents
True
Verify we can access to all needed pages
----------------------------------------
Verify that we have a link to site setup:
>>> 'Site Setup' in browser.contents
True
Disable mail sending on registration:
>>> browser.open('http://nohost/plone/@@security-controlpanel')
>>> browser.getControl(name="form.enable_self_reg").value = "on"
>>> browser.getControl(name="form.enable_user_pwd_choice").value = "on"
>>> browser.getControl(name="form.actions.save").click()
>>> 'Changes saved.' in browser.contents
True
Verify access for main configuration panels:
>>> browser.getLink('Site Setup').click()
>>> browser.url
'http://nohost/plone/plone_control_panel'
>>> browser.getLink('Users and Groups').click()
>>> browser.url
'http://nohost/plone/prefs_users_overview'
>>> 'Add New User' in browser.contents
True
>>> browser.getLink(compile('^Groups$')).click()
>>> browser.url
'http://nohost/plone/prefs_groups_overview'
>>> 'Add New Group' in browser.contents
True
>>> browser.getLink('Settings').click()
>>> browser.url
'http://nohost/plone/@@usergroup-controlpanel'
>>> 'User/Groups settings' in browser.contents
True
Setup an user and a group
-------------------------
Add a new user to our plone:
>>> browser.open('http://nohost/plone/prefs_users_overview')
>>> browser.getControl('Add New User').click()
>>> browser.url
'http://nohost/plone/join_form?came_from_prefs=1'
>>> browser.getControl(name='fullname').value = 'Test User #2'
>>> browser.getControl(name='username').value = 'test_user_2'
>>> browser.getControl(name='email').value = 'test_user_2@example.com'
>>> browser.getControl(name='password').value = 'secret'
>>> browser.getControl(name='password_confirm').value = 'secret'
>>> browser.getControl(name='form.button.Register').click()
>>> 'User added.' in browser.contents
True
Add a new group to our plone:
>>> browser.open('http://nohost/plone/prefs_groups_overview')
>>> browser.getControl('Add New Group').click()
>>> browser.url
'http://nohost/plone/prefs_group_details'
>>> browser.getControl(name='addname').value = 'test_group_2'
>>> browser.getControl(name='title:string').value = 'Test Group #2'
>>> browser.getControl(name='email:string').value = 'test_group_2@example.com'
>>> browser.getControl('Save').click()
>>> 'Group test_group_2 has been added.' in browser.contents
True
Add our new user into our new group:
>>> browser.getLink('test_group_2').click()
>>> browser.url
'http://nohost/plone/prefs_group_members?groupname=test_group_2'
>>> "Members of the Test Group #2 group" in browser.contents
True
>>> "There is no group or user attached to this group." in browser.contents
True
>>> "Quick search:" in browser.contents
True
>>> browser.getControl(name='searchstring').value = 'test'
>>> browser.getControl(name='form.button.Search').click()
>>> 'test_group_2' in browser.contents
True
>>> browser.getControl(name='add:list').value = 'on'
>>> browser.getControl(name='form.button.Add').click()
>>> "Changes made." in browser.contents
True
>>> "There is no group or user attached to this group." in browser.contents
False
>>> print browser.contents
<BLANKLINE>
...
...Changes made...
...
...summary="Group Members Listing"...
...
...Group/User name...
...E-mail Address...
...
...prefs_user_details?userid=test_user_2...
...
...mailto:test_user_2@example.com...
...
<BLANKLINE>
We test if the user is still in users overview
>>> browser.getLink(compile('Users and Groups')).click()
>>> browser.url
'http://nohost/plone/prefs_users_overview'
>>> "User Search:" in browser.contents
True
>>> browser.getControl(name='searchstring').value = 'test'
>>> browser.getControl(name='form.button.Search').click()
>>> print browser.contents
<BLANKLINE>
...
...test_user_2...
...(Test User #2)...
...
<BLANKLINE>
Now we create a new browser to login with the new user
>>> browser2 = Browser()
>>> browser2.open('http://nohost/plone')
>>> browser2.getControl('Login Name').value = 'test_user_2'
>>> browser2.getControl('Password').value = 'secret'
>>> browser2.getControl('Log in').click()
>>> "Welcome! You are now logged in." in browser2.contents
True
>>> "Test User #2" in browser2.contents
True
We test again if we can found the user
>>> "User Search:" in browser.contents
True
>>> browser.getControl(name='searchstring').value = 'test'
>>> browser.getControl(name='form.button.Search').click()
>>> print browser.contents
<BLANKLINE>
...
...test_user_2...
...(Test User #2)...
...
<BLANKLINE>
We now test to Members search to see if we can find the user by searching for a
group containing it
>>> browser.open('http://nohost/plone/Members/member_search_form')
>>> browser.getControl(name='login').value = 'test_'
>>> browser.getControl(name='groupname').value = 'test_group_2'
>>> browser.getControl(name='submit').click()
>>> 'No results were found.' not in browser.contents
True