[silva.security.addables][Sylvain Viollon] Fix and improve tests.

[email protected] Fri, 08 Nov 2013 16:39:24 +0100
Newsgroups gmane.comp.web.zope.silva.cvs
Message-ID <[email protected]>
author:    Sylvain Viollon
date:      Fri Nov 08 16:39:22 2013 +0100
revision:  37:be564c85217e in silva.security.addables
branch:    2.4
details:   https://hg.infrae.com/silva.security.addables?cmd=changeset;node=be564c85217e
modified:  src/silva/security/addables/AddablesPermissions.py src/silva/security/addables/tests/test_service.py
added:     
removed:   
log:       Fix and improve tests.


diffstat:

 src/silva/security/addables/AddablesPermissions.py |  5 ++++-
 src/silva/security/addables/tests/test_service.py  |  8 +++++---
 2 files changed, 9 insertions(+), 4 deletions(-)

diffs (61 lines):

diff -r 998c8a9a2c48 -r be564c85217e src/silva/security/addables/AddablesPermissions.py
--- a/src/silva/security/addables/AddablesPermissions.py	Mon Nov 04 16:50:30 2013 +0100
+++ b/src/silva/security/addables/AddablesPermissions.py	Fri Nov 08 16:39:22 2013 +0100
@@ -54,7 +54,10 @@
             permission = 'Add ' + metatype + 's'
             current = root.rolesOfPermission(permission)
             current = [r['name'] for r in current if r['selected']]
-            wanted = REQUEST.form[metatype]
+            wanted = REQUEST.form.get(metatype)
+            if wanted is None:
+                # metatype not in request, just ignore it.
+                continue
             authorized = False
             for role in self.manageableRoles():
                 if role == wanted:
diff -r 998c8a9a2c48 -r be564c85217e src/silva/security/addables/tests/test_service.py
--- a/src/silva/security/addables/tests/test_service.py	Mon Nov 04 16:50:30 2013 +0100
+++ b/src/silva/security/addables/tests/test_service.py	Fri Nov 08 16:39:22 2013 +0100
@@ -45,6 +45,7 @@
 
         expected_perms = {
             'Mockup Asset': 'Author',
+            'Mockup Non Publishable': 'Author',
             'Mockup VersionedContent': 'Author',
             'Silva AutoTOC': 'Author',
             'Silva Link': 'Author',
@@ -52,6 +53,7 @@
             'Silva Image': 'Author',
             'Silva Publication': 'Editor',
             'Silva File': 'Author',
+            'Silva Ghost Asset': 'Author',
             'Silva Ghost Folder': 'Editor',
             'Silva Indexer': 'Editor',
             'Silva Ghost': 'Author'}
@@ -65,6 +67,7 @@
 
         new_perms = {
             'Mockup Asset': 'Author',
+            'Mockup Non Publishable': 'Editor',
             'Mockup VersionedContent': 'Author',
             'Silva AutoTOC': 'Manager',
             'Silva Link': 'Author',
@@ -72,6 +75,7 @@
             'Silva Image': 'Author',
             'Silva Publication': 'Editor',
             'Silva File': 'Author',
+            'Silva Ghost Asset': 'Author',
             'Silva Ghost Folder': 'Editor',
             'Silva Indexer': 'ChiefEditor',
             'Silva Ghost': 'Author'}
@@ -88,9 +92,7 @@
         service = self.root.service_addablespermissions
 
         # Set bad permissions
-        self.root.manage_permission(
-            'Add Silva Files', ('Author', 'Manager'), 0)
-
+        self.root.manage_permission('Add Silva Files', ('Author', 'Manager'), 0)
         self.assertRaises(ValueError, service.currentAddablesPermissions)