def testDeleteSimpleItemWithCommits(self): rope = self.rope manage_addRopeSimpleItem(rope, ITEM_ID) transaction.commit() rope.manage_delObjects([ITEM_ID]) transaction.commit() self.failIf(rope.objectIds())
def testInstantiateSimpleItem(self): rope = self.rope manage_addRopeSimpleItem(rope, ITEM_ID) self.failUnless(ITEM_ID in rope.objectIds()) item = getattr(rope, ITEM_ID) self.assertEquals(ITEM_KEY, item.key) self.assertEquals(ITEM_ID, item.getId())
def testDelete(self): rope = self.rope manage_addRopeSimpleItem(rope, ITEM_ID) transaction.commit() browser = self.browser browser.open(self.folder_path + '/%s/manage_main' % FOLDER_ID) ctl = browser.getControl(name='ids:list') ctl.value = [ITEM_ID] browser.getControl(name='manage_delObjects:method').click() self.failIf(FOLDER_ID in self.rope.objectIds())
def testEdit(self): rope = self.rope manage_addRopeSimpleItem(rope, ITEM_ID) transaction.commit() browser = self.browser browser.open(self.item_path + '/manage_workspace') ctl = browser.getControl(name='title:UTF-8:string') ctl.value = ITEM_TITLE browser.getControl(name="manage_editProperties:method").click() self.failUnless(ITEM_TITLE in browser.contents) browser.open(self.item_path) self.assertEquals(browser.contents, ITEM_VIEW)
def testLocalRole(self): uf = self.app.acl_users uf._addUser('other', 'other', 'other', [], ()) rope = self.rope manage_addRopeSimpleItem(rope, ITEM_ID) transaction.commit() # browser used by 'other' other = plone.testing.z2.Browser(self.layer['app']) other.addHeader('Authorization', 'Basic %s:%s' % ('other', 'other')) # other cannot access properties page self.assertRaises(HTTPError, other.open, self.item_path + '/manage_workspace') # give Owner local role to other browser = self.browser browser.open(self.item_path + '/manage_listLocalRoles') form = browser.getForm(index=1) ctl = form.getControl(name='roles:list') ctl.value = ['Manager'] ctl = form.getControl(name='userid') ctl.value = ['other'] form.getControl(name='submit').click() # other can access properties page other.open(self.item_path + '/manage_workspace') self.assertEquals('200 OK'.lower(), other.headers['status'].lower()) # remove local role browser = self.browser browser.open(self.item_path + '/manage_listLocalRoles') ctl = browser.getControl(name='userids:list') ctl.value = ['other'] form = browser.getForm(index=0) form.getControl(name='submit').click() # other cannot access properties page anymore self.assertRaises(HTTPError, other.open, self.item_path + '/manage_workspace')
def testPermission(self): rope = self.rope manage_addRopeSimpleItem(rope, ITEM_ID) transaction.commit() browser = self.browser browser.open(self.item_path) self.assertEquals('200 OK'.lower(), browser.headers['status'].lower()) # browser used by 'anonymous' anonymous = plone.testing.z2.Browser(self.layer['app']) # anonymous can access anonymous.open(self.item_path) self.assertEquals('200 OK'.lower(), anonymous.headers['status'].lower()) # change security to deny anonymous browser.open(self.item_path + \ '/manage_permissionForm?permission_to_manage=View') ctl = browser.getControl(name='roles:list') ctl.value = ['Manager'] ctl = browser.getControl(name='acquire') ctl.value = False browser.getControl(name='submit').click() # anonymous cannot access anymore self.assertRaises(HTTPError, anonymous.open, self.item_path) # store View permission on item instead of acquiring it browser.open(self.item_path + \ '/manage_permissionForm?permission_to_manage=View') ctl = browser.getControl(name='roles:list') ctl.value = ['Manager', 'Anonymous'] ctl = browser.getControl(name='acquire') ctl.value = False browser.getControl(name='submit').click() # anonymous can access again anonymous = plone.testing.z2.Browser(self.layer['app']) anonymous.open(self.item_path) self.assertEquals('200 OK'.lower(), anonymous.headers['status'].lower())
def testFolderUnrestrictedTraverse(self): rope = self.rope manage_addRopeSimpleItem(rope, ITEM_ID) item = rope.unrestrictedTraverse(ITEM_ID) self.assertEquals(ITEM_KEY, item.key) self.assertEquals(ITEM_ID, item.getId())
def testFolderGetAttr(self): rope = self.rope manage_addRopeSimpleItem(rope, ITEM_ID) item = getattr(rope, ITEM_ID) self.assertEquals(ITEM_KEY, item.key) self.assertEquals(ITEM_ID, item.getId())
def testDeleteSimpleItem(self): rope = self.rope manage_addRopeSimpleItem(rope, ITEM_ID) self.failUnless(ITEM_ID in rope.objectIds()) rope.manage_delObjects([ITEM_ID]) self.failIf(rope.objectIds())
def testInstantiateSimpleItemWithCommit(self): rope = self.rope manage_addRopeSimpleItem(rope, ITEM_ID) transaction.commit() self.failUnless(ITEM_ID in rope.objectIds())