[Testbot] Plone 5.0 - Python 2.7 - Build # 3124 - Still failing! - 0 failure(s)
jenkins at plone.org
jenkins at plone.org
Tue Aug 26 03:13:46 UTC 2014
-------------------------------------------------------------------------------
Plone 5.0 - Python 2.7 - Build # 3124 - Still Failing!
-------------------------------------------------------------------------------
http://jenkins.plone.org/job/plone-5.0-python-2.7/3124/
-------------------------------------------------------------------------------
CHANGES
-------------------------------------------------------------------------------
Repository: plone.app.workflow
Branch: refs/heads/master
Date: 2014-08-26T01:01:07+02:00
Author: Gil Forcada (gforcada) <gforcada at gnome.org>
Commit: https://github.com/plone/plone.app.workflow/commit/50af8a59f5a46e36a09b24132d3ffeac13aca97d
Rename .txt to .rst
Files changed:
A plone/app/workflow/TODO.rst
A plone/app/workflow/tests/onestateworkflow.rst
A plone/app/workflow/tests/sharingpage.rst
M plone/app/workflow/tests/test_functional.py
D plone/app/workflow/TODO.txt
D plone/app/workflow/tests/onestateworkflow.txt
D plone/app/workflow/tests/sharingpage.txt
diff --git a/plone/app/workflow/TODO.rst b/plone/app/workflow/TODO.rst
new file mode 100644
index 0000000..0a7136e
--- /dev/null
+++ b/plone/app/workflow/TODO.rst
@@ -0,0 +1,11 @@
+========================
+plone.app.workflow to-do
+========================
+
+ Sharing page:
+
+ - Enable settings for the Anonymous user (aka "Everyone")
+ - Enable settings for the "Logged in" pseudo-user
+ - note, this is not necessarily easy, because there is no user for
+ this; it may be possible to make "all users" pseudo-group using
+ PAS.
diff --git a/plone/app/workflow/TODO.txt b/plone/app/workflow/TODO.txt
deleted file mode 100644
index 0a7136e..0000000
--- a/plone/app/workflow/TODO.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-========================
-plone.app.workflow to-do
-========================
-
- Sharing page:
-
- - Enable settings for the Anonymous user (aka "Everyone")
- - Enable settings for the "Logged in" pseudo-user
- - note, this is not necessarily easy, because there is no user for
- this; it may be possible to make "all users" pseudo-group using
- PAS.
diff --git a/plone/app/workflow/tests/onestateworkflow.rst b/plone/app/workflow/tests/onestateworkflow.rst
new file mode 100644
index 0000000..22225eb
--- /dev/null
+++ b/plone/app/workflow/tests/onestateworkflow.rst
@@ -0,0 +1,122 @@
+=======================================================
+Functional Testing of the One State Workflow Definition
+=======================================================
+
+First, some set-up of our site for testing:
+
+ >>> self.setUpDefaultWorkflow(defaultWorkflow='one_state_workflow')
+
+ >>> from plone.testing.z2 import Browser
+ >>> browser = Browser(app)
+
+Let us log all exceptions, which is useful for debugging.
+
+ >>> self.portal.error_log._ignored_exceptions = ()
+ >>> import transaction; transaction.commit()
+
+Verify that our items are actually all in the one_state_workflow and in our
+default 'published' state
+
+ >>> self.workflow.getChainForPortalType('Document')
+ ('one_state_workflow',)
+ >>> self.workflow.getChainForPortalType('Folder')
+ ('one_state_workflow',)
+ >>> self.workflow.getChainForPortalType('News Item')
+ ('one_state_workflow',)
+ >>> self.workflow.getChainForPortalType('Event')
+ ('one_state_workflow',)
+
+ >>> self.workflow.getInfoFor(self.folder, 'review_state')
+ 'published'
+ >>> self.workflow.getInfoFor(self.folder.document1, 'review_state')
+ 'published'
+ >>> self.workflow.getInfoFor(self.folder.newsitem1, 'review_state')
+ 'published'
+
+
+Test as anonymous
+-----------------
+
+XXX - Test this logout by outputting the HTML to make sure we're actually anon
+here
+
+Now we logout, so that we can inspect our item as an anonymous user
+
+ >>> browser.open('%s/logout' % self.portal.absolute_url())
+
+Head over to our temporary folder containing our one_state_workflow items
+
+ >>> browser.open('%s' % self.folder.absolute_url())
+
+We're not forced to log in and we can view the item. Thus, we have view permission
+
+ >>> 'Login Name' not in browser.contents
+ True
+
+We can also access contents information
+
+ >>> 'document1' and 'newsitem1' in browser.contents
+ True
+
+We shouldn't see the edit tab
+
+ >>> browser.getControl('Edit')
+ Traceback (most recent call last):
+ ...
+ LookupError: label 'Edit'
+ >>> browser.open('%s' % self.folder.document1.absolute_url())
+ >>> browser.getControl('Edit')
+ Traceback (most recent call last):
+ ...
+ LookupError: label 'Edit'
+
+Or have the "Modify portal content" permission in any scenario
+
+ >>> browser.open('%s/edit' % self.folder.absolute_url())
+ >>> 'Login Name' in browser.contents
+ True
+
+ >>> browser.open('%s/edit' % self.folder.document1.absolute_url())
+ >>> 'Login Name' in browser.contents
+ True
+
+
+Test with the member role
+-------------------------
+Logout, so that we can inspect our item as another user of the system
+
+ >>> browser.open('%s/logout' % self.portal.absolute_url())
+ >>> browser.open('%s/login_form' % self.portal.absolute_url())
+ >>> browser.getControl(name='__ac_name').value = 'member'
+ >>> browser.getControl(name='__ac_password').value = 'secret'
+ >>> browser.getControl('Log in').click()
+
+Head over to our temporary folder containing our one_state_workflow items
+
+ >>> browser.open('%s' % self.folder.absolute_url())
+
+We're not forced to log in and we can view the item. Thus, we have view permission
+
+ >>> 'Login Name' not in browser.contents
+ True
+
+We can also access contents information
+
+ >>> 'document1' and 'newsitem1' in browser.contents
+ True
+
+We shouldn't see the edit tab
+
+ >>> browser.getControl('Edit')
+ Traceback (most recent call last):
+ ...
+ LookupError: label 'Edit'
+ >>> browser.open('%s' % self.folder.document1.absolute_url())
+ >>> browser.getControl('Edit')
+ Traceback (most recent call last):
+ ...
+ LookupError: label 'Edit'
+
+Or have the "Modify portal content" permission in any scenario
+
+ >>> # browser.open('%s/edit' % self.folder.absolute_url())
diff --git a/plone/app/workflow/tests/onestateworkflow.txt b/plone/app/workflow/tests/onestateworkflow.txt
deleted file mode 100644
index 22225eb..0000000
--- a/plone/app/workflow/tests/onestateworkflow.txt
+++ /dev/null
@@ -1,122 +0,0 @@
-=======================================================
-Functional Testing of the One State Workflow Definition
-=======================================================
-
-First, some set-up of our site for testing:
-
- >>> self.setUpDefaultWorkflow(defaultWorkflow='one_state_workflow')
-
- >>> from plone.testing.z2 import Browser
- >>> browser = Browser(app)
-
-Let us log all exceptions, which is useful for debugging.
-
- >>> self.portal.error_log._ignored_exceptions = ()
- >>> import transaction; transaction.commit()
-
-Verify that our items are actually all in the one_state_workflow and in our
-default 'published' state
-
- >>> self.workflow.getChainForPortalType('Document')
- ('one_state_workflow',)
- >>> self.workflow.getChainForPortalType('Folder')
- ('one_state_workflow',)
- >>> self.workflow.getChainForPortalType('News Item')
- ('one_state_workflow',)
- >>> self.workflow.getChainForPortalType('Event')
- ('one_state_workflow',)
-
- >>> self.workflow.getInfoFor(self.folder, 'review_state')
- 'published'
- >>> self.workflow.getInfoFor(self.folder.document1, 'review_state')
- 'published'
- >>> self.workflow.getInfoFor(self.folder.newsitem1, 'review_state')
- 'published'
-
-
-Test as anonymous
------------------
-
-XXX - Test this logout by outputting the HTML to make sure we're actually anon
-here
-
-Now we logout, so that we can inspect our item as an anonymous user
-
- >>> browser.open('%s/logout' % self.portal.absolute_url())
-
-Head over to our temporary folder containing our one_state_workflow items
-
- >>> browser.open('%s' % self.folder.absolute_url())
-
-We're not forced to log in and we can view the item. Thus, we have view permission
-
- >>> 'Login Name' not in browser.contents
- True
-
-We can also access contents information
-
- >>> 'document1' and 'newsitem1' in browser.contents
- True
-
-We shouldn't see the edit tab
-
- >>> browser.getControl('Edit')
- Traceback (most recent call last):
- ...
- LookupError: label 'Edit'
- >>> browser.open('%s' % self.folder.document1.absolute_url())
- >>> browser.getControl('Edit')
- Traceback (most recent call last):
- ...
- LookupError: label 'Edit'
-
-Or have the "Modify portal content" permission in any scenario
-
- >>> browser.open('%s/edit' % self.folder.absolute_url())
- >>> 'Login Name' in browser.contents
- True
-
- >>> browser.open('%s/edit' % self.folder.document1.absolute_url())
- >>> 'Login Name' in browser.contents
- True
-
-
-Test with the member role
--------------------------
-Logout, so that we can inspect our item as another user of the system
-
- >>> browser.open('%s/logout' % self.portal.absolute_url())
- >>> browser.open('%s/login_form' % self.portal.absolute_url())
- >>> browser.getControl(name='__ac_name').value = 'member'
- >>> browser.getControl(name='__ac_password').value = 'secret'
- >>> browser.getControl('Log in').click()
-
-Head over to our temporary folder containing our one_state_workflow items
-
- >>> browser.open('%s' % self.folder.absolute_url())
-
-We're not forced to log in and we can view the item. Thus, we have view permission
-
- >>> 'Login Name' not in browser.contents
- True
-
-We can also access contents information
-
- >>> 'document1' and 'newsitem1' in browser.contents
- True
-
-We shouldn't see the edit tab
-
- >>> browser.getControl('Edit')
- Traceback (most recent call last):
- ...
- LookupError: label 'Edit'
- >>> browser.open('%s' % self.folder.document1.absolute_url())
- >>> browser.getControl('Edit')
- Traceback (most recent call last):
- ...
- LookupError: label 'Edit'
-
-Or have the "Modify portal content" permission in any scenario
-
- >>> # browser.open('%s/edit' % self.folder.absolute_url())
diff --git a/plone/app/workflow/tests/sharingpage.rst b/plone/app/workflow/tests/sharingpage.rst
new file mode 100644
index 0000000..57b01a4
--- /dev/null
+++ b/plone/app/workflow/tests/sharingpage.rst
@@ -0,0 +1,262 @@
+======================================
+Functional Testing of the Sharing Page
+======================================
+
+The test setup has already ensured that we have a number of users available.
+Let's also create some
+
+ >>> self.setUpDefaultWorkflow(defaultWorkflow='one_state_workflow')
+
+ >>> from plone.testing.z2 import Browser
+ >>> browser = Browser(app)
+ >>> browser.handleErrors = False
+
+Let us log all exceptions, which is useful for debugging.
+
+ >>> self.portal.error_log._ignored_exceptions = ()
+ >>> import transaction; transaction.commit()
+
+Anonymous users
+---------------
+
+When we log out, we cannot see the "Sharing" tab at all.
+
+ >>> browser.open('%s/logout' % self.portal.absolute_url())
+ >>> browser.open('%s' % self.folder.absolute_url())
+
+We're not forced to log in and we can view the item. Thus, we have view
+permission.
+
+ >>> 'Please log in' not in browser.contents
+ True
+
+We shouldn't see the Sharing tab
+
+ >>> browser.getLink('Sharing')
+ Traceback (most recent call last):
+ ...
+ LinkNotFoundError
+
+Manager
+-------
+
+A Manager should be able to delegate all the accessible roles. Let's also
+take this opportunity to delegate some roles so that we can check what the
+other roles can do.
+
+ >>> browser.open('%s/logout' % self.portal.absolute_url())
+ >>> browser.open('%s/login_form' % self.portal.absolute_url())
+ >>> browser.getControl(name='__ac_name').value = 'manager'
+ >>> browser.getControl(name='__ac_password').value = 'secret'
+ >>> browser.getControl('Log in').click()
+
+ >>> browser.open('%s' % self.folder.absolute_url())
+ >>> browser.getLink('Sharing').click()
+
+ >>> "Can add" in browser.contents
+ True
+ >>> "Can edit" in browser.contents
+ True
+ >>> "Can manage" in browser.contents
+ False
+ >>> "Can own" in browser.contents
+ False
+ >>> "Can subscribe" in browser.contents
+ False
+ >>> "Can view" in browser.contents
+ True
+ >>> "Can review" in browser.contents
+ True
+
+ >>> browser.getControl(name='search_term').value = "delegate_contributor"
+ >>> browser.getControl(name='form.button.Search').click()
+ >>> 'Changes saved' not in browser.contents
+ True
+ >>> browser.getControl(name='entries.role_Contributor:records').getControl(value='True',index=-1).click()
+ >>> request = self.portal.REQUEST
+ >>> request.form['form.button.Save'] = 1
+ >>> browser.getControl("Save").click()
+ >>> 'Changes saved' in browser.contents
+ True
+
+ >>> browser.getControl(name='search_term').value = "delegate_editor"
+ >>> browser.getControl(name='form.button.Search').click()
+ >>> browser.getControl(name='entries.role_Editor:records').getControl(value='True',index=-1).click()
+ >>> request = self.portal.REQUEST
+ >>> request.form['form.button.Save'] = 1
+ >>> browser.getControl("Save").click()
+ >>> 'Changes saved' in browser.contents
+ True
+
+ >>> #browser.getControl(name='search_term').value = "delegate_manager"
+ >>> #browser.getControl(name='form.button.Search').click()
+ >>> #browser.getControl(name='entries.role_Manager:records').getControl(value='True',index=-1).click()
+ >>> #request = self.portal.REQUEST
+ >>> #request.form['form.button.Save'] = 1
+ >>> #browser.getControl("Save").click()
+ >>> #'Changes saved' in browser.contents
+
+ >>> browser.getControl(name='search_term').value = "delegate_reader"
+ >>> browser.getControl(name='form.button.Search').click()
+ >>> browser.getControl(name='entries.role_Reader:records').getControl(value='True',index=-1).click()
+ >>> request = self.portal.REQUEST
+ >>> request.form['form.button.Save'] = 1
+ >>> browser.getControl("Save").click()
+ >>> 'Changes saved' in browser.contents
+ True
+
+ >>> browser.getControl(name='search_term').value = "delegate_reviewer"
+ >>> browser.getControl(name='form.button.Search').click()
+ >>> browser.getControl(name='entries.role_Reviewer:records').getControl(value='True',index=-1).click()
+ >>> request = self.portal.REQUEST
+ >>> request.form['form.button.Save'] = 1
+ >>> browser.getControl("Save").click()
+ >>> 'Changes saved' in browser.contents
+ True
+
+Owner
+-----
+
+The owner should be able to delegate Reader, Editor and Contributor.
+
+ >>> from plone.app.testing import TEST_USER_NAME
+ >>> browser.open('%s/logout' % self.portal.absolute_url())
+ >>> browser.open('%s/login_form' % self.portal.absolute_url())
+ >>> browser.getControl(name='__ac_name').value = TEST_USER_NAME
+ >>> browser.getControl(name='__ac_password').value = 'secret'
+ >>> browser.getControl('Log in').click()
+
+ >>> browser.open('%s' % self.folder.absolute_url())
+ >>> browser.getLink('Sharing').click()
+
+ >>> "Can add" in browser.contents
+ True
+ >>> "Can edit" in browser.contents
+ True
+ >>> "Can manage" in browser.contents
+ False
+ >>> "Can own" in browser.contents
+ False
+ >>> "Can subscribe" in browser.contents
+ False
+ >>> "Can view" in browser.contents
+ True
+ >>> "Can review" in browser.contents
+ False
+
+Delegated Reader
+----------------
+
+A delegated reader should only be able to view the page, not even get to the
+Sharing tab.
+
+ >>> browser.open('%s/logout' % self.portal.absolute_url())
+ >>> browser.open('%s/login_form' % self.portal.absolute_url())
+ >>> browser.getControl(name='__ac_name').value = 'delegate_reader'
+ >>> browser.getControl(name='__ac_password').value = 'secret'
+ >>> browser.getControl('Log in').click()
+
+ >>> browser.open('%s' % self.folder.absolute_url())
+ >>> browser.getLink('Sharing')
+ Traceback (most recent call last):
+ ...
+ LinkNotFoundError
+
+Delegated Editor
+----------------
+
+A delegated Editor can give other people "view" and "edit" rights.
+
+ >>> browser.open('%s/logout' % self.portal.absolute_url())
+ >>> browser.open('%s/login_form' % self.portal.absolute_url())
+ >>> browser.getControl(name='__ac_name').value = 'delegate_editor'
+ >>> browser.getControl(name='__ac_password').value = 'secret'
+ >>> browser.getControl('Log in').click()
+
+ >>> browser.open('%s' % self.folder.absolute_url())
+ >>> browser.getLink('Sharing').click()
+
+ >>> "Can add" in browser.contents
+ False
+ >>> "Can edit" in browser.contents
+ True
+ >>> "Can view" in browser.contents
+ True
+ >>> "Can review" in browser.contents
+ False
+
+
+Delegated Contributor
+---------------------
+
+A delegated Contributor cannot assign any further rights.
+
+ >>> browser.open('%s/logout' % self.portal.absolute_url())
+ >>> browser.open('%s/login_form' % self.portal.absolute_url())
+ >>> browser.getControl(name='__ac_name').value = 'delegate_contributor'
+ >>> browser.getControl(name='__ac_password').value = 'secret'
+ >>> browser.getControl('Log in').click()
+
+ >>> browser.open('%s' % self.folder.absolute_url())
+ >>> browser.getLink('Sharing').click()
+ Traceback (most recent call last):
+ ...
+ LinkNotFoundError
+
+Delegated Reviewer
+------------------
+
+A delegated Reviewer can assign "view" and "review" rights.
+
+ >>> browser.open('%s/logout' % self.portal.absolute_url())
+ >>> browser.open('%s/login_form' % self.portal.absolute_url())
+ >>> browser.getControl(name='__ac_name').value = 'delegate_reviewer'
+ >>> browser.getControl(name='__ac_password').value = 'secret'
+ >>> browser.getControl('Log in').click()
+
+ >>> browser.open('%s' % self.folder.absolute_url())
+ >>> browser.getLink('Sharing').click()
+
+ >>> "Can add" in browser.contents
+ False
+ >>> "Can edit" in browser.contents
+ False
+ >>> "Can manage" in browser.contents
+ False
+ >>> "Can own" in browser.contents
+ False
+ >>> "Can subscribe" in browser.contents
+ False
+ >>> "Can view" in browser.contents
+ True
+ >>> "Can review" in browser.contents
+ True
+
+#Delegated Manager
+#-----------------
+#
+#A delegated Manager can assign all rights.
+#
+# >>> browser.open('%s/logout' % self.portal.absolute_url())
+# >>> browser.open('%s/login_form' % self.portal.absolute_url())
+# >>> browser.getControl(name='__ac_name').value = 'delegate_manager'
+# >>> browser.getControl(name='__ac_password').value = 'secret'
+# >>> browser.getControl('Log in').click()
+#
+# >>> browser.open('%s' % self.folder.absolute_url())
+# >>> browser.getLink('Sharing').click()
+#
+# >>> "Can add" in browser.contents
+# True
+# >>> "Can edit" in browser.contents
+# True
+# >>> "Can manage" in browser.contents
+# False
+# >>> "Can own" in browser.contents
+# False
+# >>> "Can subscribe" in browser.contents
+# False
+# >>> "Can view" in browser.contents
+# True
+# >>> "Can review" in browser.contents
+# True
diff --git a/plone/app/workflow/tests/sharingpage.txt b/plone/app/workflow/tests/sharingpage.txt
deleted file mode 100644
index 57b01a4..0000000
--- a/plone/app/workflow/tests/sharingpage.txt
+++ /dev/null
@@ -1,262 +0,0 @@
-======================================
-Functional Testing of the Sharing Page
-======================================
-
-The test setup has already ensured that we have a number of users available.
-Let's also create some
-
- >>> self.setUpDefaultWorkflow(defaultWorkflow='one_state_workflow')
-
- >>> from plone.testing.z2 import Browser
- >>> browser = Browser(app)
- >>> browser.handleErrors = False
-
-Let us log all exceptions, which is useful for debugging.
-
- >>> self.portal.error_log._ignored_exceptions = ()
- >>> import transaction; transaction.commit()
-
-Anonymous users
----------------
-
-When we log out, we cannot see the "Sharing" tab at all.
-
- >>> browser.open('%s/logout' % self.portal.absolute_url())
- >>> browser.open('%s' % self.folder.absolute_url())
-
-We're not forced to log in and we can view the item. Thus, we have view
-permission.
-
- >>> 'Please log in' not in browser.contents
- True
-
-We shouldn't see the Sharing tab
-
- >>> browser.getLink('Sharing')
- Traceback (most recent call last):
- ...
- LinkNotFoundError
-
-Manager
--------
-
-A Manager should be able to delegate all the accessible roles. Let's also
-take this opportunity to delegate some roles so that we can check what the
-other roles can do.
-
- >>> browser.open('%s/logout' % self.portal.absolute_url())
- >>> browser.open('%s/login_form' % self.portal.absolute_url())
- >>> browser.getControl(name='__ac_name').value = 'manager'
- >>> browser.getControl(name='__ac_password').value = 'secret'
- >>> browser.getControl('Log in').click()
-
- >>> browser.open('%s' % self.folder.absolute_url())
- >>> browser.getLink('Sharing').click()
-
- >>> "Can add" in browser.contents
- True
- >>> "Can edit" in browser.contents
- True
- >>> "Can manage" in browser.contents
- False
- >>> "Can own" in browser.contents
- False
- >>> "Can subscribe" in browser.contents
- False
- >>> "Can view" in browser.contents
- True
- >>> "Can review" in browser.contents
- True
-
- >>> browser.getControl(name='search_term').value = "delegate_contributor"
- >>> browser.getControl(name='form.button.Search').click()
- >>> 'Changes saved' not in browser.contents
- True
- >>> browser.getControl(name='entries.role_Contributor:records').getControl(value='True',index=-1).click()
- >>> request = self.portal.REQUEST
- >>> request.form['form.button.Save'] = 1
- >>> browser.getControl("Save").click()
- >>> 'Changes saved' in browser.contents
- True
-
- >>> browser.getControl(name='search_term').value = "delegate_editor"
- >>> browser.getControl(name='form.button.Search').click()
- >>> browser.getControl(name='entries.role_Editor:records').getControl(value='True',index=-1).click()
- >>> request = self.portal.REQUEST
- >>> request.form['form.button.Save'] = 1
- >>> browser.getControl("Save").click()
- >>> 'Changes saved' in browser.contents
- True
-
- >>> #browser.getControl(name='search_term').value = "delegate_manager"
- >>> #browser.getControl(name='form.button.Search').click()
- >>> #browser.getControl(name='entries.role_Manager:records').getControl(value='True',index=-1).click()
- >>> #request = self.portal.REQUEST
- >>> #request.form['form.button.Save'] = 1
- >>> #browser.getControl("Save").click()
- >>> #'Changes saved' in browser.contents
-
- >>> browser.getControl(name='search_term').value = "delegate_reader"
- >>> browser.getControl(name='form.button.Search').click()
- >>> browser.getControl(name='entries.role_Reader:records').getControl(value='True',index=-1).click()
- >>> request = self.portal.REQUEST
- >>> request.form['form.button.Save'] = 1
- >>> browser.getControl("Save").click()
- >>> 'Changes saved' in browser.contents
- True
-
- >>> browser.getControl(name='search_term').value = "delegate_reviewer"
- >>> browser.getControl(name='form.button.Search').click()
- >>> browser.getControl(name='entries.role_Reviewer:records').getControl(value='True',index=-1).click()
- >>> request = self.portal.REQUEST
- >>> request.form['form.button.Save'] = 1
- >>> browser.getControl("Save").click()
- >>> 'Changes saved' in browser.contents
- True
-
-Owner
------
-
-The owner should be able to delegate Reader, Editor and Contributor.
-
- >>> from plone.app.testing import TEST_USER_NAME
- >>> browser.open('%s/logout' % self.portal.absolute_url())
- >>> browser.open('%s/login_form' % self.portal.absolute_url())
- >>> browser.getControl(name='__ac_name').value = TEST_USER_NAME
- >>> browser.getControl(name='__ac_password').value = 'secret'
- >>> browser.getControl('Log in').click()
-
- >>> browser.open('%s' % self.folder.absolute_url())
- >>> browser.getLink('Sharing').click()
-
- >>> "Can add" in browser.contents
- True
- >>> "Can edit" in browser.contents
- True
- >>> "Can manage" in browser.contents
- False
- >>> "Can own" in browser.contents
- False
- >>> "Can subscribe" in browser.contents
- False
- >>> "Can view" in browser.contents
- True
- >>> "Can review" in browser.contents
- False
-
-Delegated Reader
-----------------
-
-A delegated reader should only be able to view the page, not even get to the
-Sharing tab.
-
- >>> browser.open('%s/logout' % self.portal.absolute_url())
- >>> browser.open('%s/login_form' % self.portal.absolute_url())
- >>> browser.getControl(name='__ac_name').value = 'delegate_reader'
- >>> browser.getControl(name='__ac_password').value = 'secret'
- >>> browser.getControl('Log in').click()
-
- >>> browser.open('%s' % self.folder.absolute_url())
- >>> browser.getLink('Sharing')
- Traceback (most recent call last):
- ...
- LinkNotFoundError
-
-Delegated Editor
-----------------
-
-A delegated Editor can give other people "view" and "edit" rights.
-
- >>> browser.open('%s/logout' % self.portal.absolute_url())
- >>> browser.open('%s/login_form' % self.portal.absolute_url())
- >>> browser.getControl(name='__ac_name').value = 'delegate_editor'
- >>> browser.getControl(name='__ac_password').value = 'secret'
- >>> browser.getControl('Log in').click()
-
- >>> browser.open('%s' % self.folder.absolute_url())
- >>> browser.getLink('Sharing').click()
-
- >>> "Can add" in browser.contents
- False
- >>> "Can edit" in browser.contents
- True
- >>> "Can view" in browser.contents
- True
- >>> "Can review" in browser.contents
- False
-
-
-Delegated Contributor
----------------------
-
-A delegated Contributor cannot assign any further rights.
-
- >>> browser.open('%s/logout' % self.portal.absolute_url())
- >>> browser.open('%s/login_form' % self.portal.absolute_url())
- >>> browser.getControl(name='__ac_name').value = 'delegate_contributor'
- >>> browser.getControl(name='__ac_password').value = 'secret'
- >>> browser.getControl('Log in').click()
-
- >>> browser.open('%s' % self.folder.absolute_url())
- >>> browser.getLink('Sharing').click()
- Traceback (most recent call last):
- ...
- LinkNotFoundError
-
-Delegated Reviewer
-------------------
-
-A delegated Reviewer can assign "view" and "review" rights.
-
- >>> browser.open('%s/logout' % self.portal.absolute_url())
- >>> browser.open('%s/login_form' % self.portal.absolute_url())
- >>> browser.getControl(name='__ac_name').value = 'delegate_reviewer'
- >>> browser.getControl(name='__ac_password').value = 'secret'
- >>> browser.getControl('Log in').click()
-
- >>> browser.open('%s' % self.folder.absolute_url())
- >>> browser.getLink('Sharing').click()
-
- >>> "Can add" in browser.contents
- False
- >>> "Can edit" in browser.contents
- False
- >>> "Can manage" in browser.contents
- False
- >>> "Can own" in browser.contents
- False
- >>> "Can subscribe" in browser.contents
- False
- >>> "Can view" in browser.contents
- True
- >>> "Can review" in browser.contents
- True
-
-#Delegated Manager
-#-----------------
-#
-#A delegated Manager can assign all rights.
-#
-# >>> browser.open('%s/logout' % self.portal.absolute_url())
-# >>> browser.open('%s/login_form' % self.portal.absolute_url())
-# >>> browser.getControl(name='__ac_name').value = 'delegate_manager'
-# >>> browser.getControl(name='__ac_password').value = 'secret'
-# >>> browser.getControl('Log in').click()
-#
-# >>> browser.open('%s' % self.folder.absolute_url())
-# >>> browser.getLink('Sharing').click()
-#
-# >>> "Can add" in browser.contents
-# True
-# >>> "Can edit" in browser.contents
-# True
-# >>> "Can manage" in browser.contents
-# False
-# >>> "Can own" in browser.contents
-# False
-# >>> "Can subscribe" in browser.contents
-# False
-# >>> "Can view" in browser.contents
-# True
-# >>> "Can review" in browser.contents
-# True
diff --git a/plone/app/workflow/tests/test_functional.py b/plone/app/workflow/tests/test_functional.py
index 0cd34da..2400fea 100644
--- a/plone/app/workflow/tests/test_functional.py
+++ b/plone/app/workflow/tests/test_functional.py
@@ -5,7 +5,7 @@
def test_suite():
- tests = ['onestateworkflow.txt', 'sharingpage.txt']
+ tests = ['onestateworkflow.rst', 'sharingpage.rst']
suite = TestSuite()
for test in tests:
suite.addTest(ZopeDocFileSuite(test,
-------------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CHANGES.log
Type: application/octet-stream
Size: 28730 bytes
Desc: not available
URL: <http://lists.plone.org/pipermail/plone-testbot/attachments/20140826/0287e7cb/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build.log
Type: application/octet-stream
Size: 118737 bytes
Desc: not available
URL: <http://lists.plone.org/pipermail/plone-testbot/attachments/20140826/0287e7cb/attachment-0003.obj>
More information about the Testbot
mailing list