class TestMemberInfoView(base.TestCase): def afterSetUp(self): self.membership = self.portal.portal_membership self.view = PASMemberView(self.portal, self.portal.REQUEST) def testMemberInfoViewForAuthenticated(self): member = self.membership.getAuthenticatedMember() member.setMemberProperties({'fullname': 'Test user'}) info = self.view.info() self.assertEqual(info['username'], 'test-user') self.assertEqual(info['fullname'], 'Test user') self.assertEqual(info['name_or_id'], 'Test user') def testGetMemberInfoViewForMember(self): self.membership.addMember('user2', 'secret', ['Member'], [], properties={'fullname': 'Second user'}) info = self.view.info('user2') self.assertEqual(info['username'], 'user2') self.assertEqual(info['fullname'], 'Second user') self.assertEqual(info['name_or_id'], 'Second user') def testGetMemberInfoViewForNonMember(self): # When content is owned by a user who has meanwhile been # removed, we do not want to throw an exception when asking # for his member info. self.assertFalse(self.membership.getMemberById('charon')) info = self.view.info('charon') self.assertEqual(info['username'], 'charon') self.assertEqual(info['fullname'], '') self.assertEqual(info['name_or_id'], 'charon') def testGetMemberInfoViewForAnonymous(self): self.logout() self.assertTrue(self.membership.isAnonymousUser()) info = self.view.info() self.assertEqual(info['username'], 'Anonymous User') self.assertEqual(info['fullname'], None) self.assertEqual(info['name_or_id'], 'Anonymous User') def testSetGroupsWithUserNameIdDifference(self): pas = self.portal['acl_users'] self.portal.portal_groups.addGroup('Editors', [], []) self.setGroups(['Editors'], name=TEST_USER_ID) self.login(TEST_USER_NAME) user = getSecurityManager().getUser() self.assertTrue( 'Editors' in getGroupsForPrincipal(user, pas['plugins']) ) self.login() def testSetGroupsWithSameUserNameAndId(self): pas = self.portal['acl_users'] self.portal.portal_groups.addGroup('Editors', [], []) self.setGroups(['Editors']) user = getSecurityManager().getUser() self.assertTrue( 'Editors' in getGroupsForPrincipal(user, pas['plugins']) )
class TestMemberInfoView(base.TestCase): def afterSetUp(self): self.membership = self.portal.portal_membership self.view = PASMemberView(self.portal, self.portal.REQUEST) def testMemberInfoViewForAuthenticated(self): member = self.membership.getAuthenticatedMember() member.setMemberProperties({"fullname": "Test user"}) info = self.view.info() self.assertEqual(info["username"], "test-user") self.assertEqual(info["fullname"], "Test user") self.assertEqual(info["name_or_id"], "Test user") def testGetMemberInfoViewForMember(self): self.membership.addMember("user2", "secret", ["Member"], [], properties={"fullname": "Second user"}) info = self.view.info("user2") self.assertEqual(info["username"], "user2") self.assertEqual(info["fullname"], "Second user") self.assertEqual(info["name_or_id"], "Second user") def testGetMemberInfoViewForNonMember(self): # When content is owned by a user who has meanwhile been # removed, we do not want to throw an exception when asking # for his member info. self.assertFalse(self.membership.getMemberById("charon")) info = self.view.info("charon") self.assertEqual(info["username"], "charon") self.assertEqual(info["fullname"], "") self.assertEqual(info["name_or_id"], "charon") def testGetMemberInfoViewForAnonymous(self): self.logout() self.assertTrue(self.membership.isAnonymousUser()) info = self.view.info() self.assertEqual(info["username"], "Anonymous User") self.assertEqual(info["fullname"], "") self.assertEqual(info["name_or_id"], "Anonymous User") def testSetGroupsWithUserNameIdDifference(self): pas = self.portal["acl_users"] self.portal.portal_groups.addGroup("Editors", [], []) self.setGroups(["Editors"], name=TEST_USER_ID) self.login(TEST_USER_NAME) user = getSecurityManager().getUser() self.assertTrue("Editors" in getGroupsForPrincipal(user, pas["plugins"])) self.login() def testSetGroupsWithSameUserNameAndId(self): pas = self.portal["acl_users"] self.portal.portal_groups.addGroup("Editors", [], []) self.setGroups(["Editors"]) user = getSecurityManager().getUser() self.assertTrue("Editors" in getGroupsForPrincipal(user, pas["plugins"]))
class TestMemberInfoView(base.TestCase): def afterSetUp(self): self.membership = self.portal.portal_membership self.view = PASMemberView(self.portal, self.portal.REQUEST) def testMemberInfoViewForAuthenticated(self): member = self.membership.getAuthenticatedMember() member.setMemberProperties({'fullname': 'Test user'}) info = self.view.info() self.assertEqual(info['username'], 'test_user_1_') self.assertEqual(info['fullname'], 'Test user') self.assertEqual(info['name_or_id'], 'Test user') def testGetMemberInfoViewForMember(self): self.membership.addMember('user2', 'secret', ['Member'], [], properties={'fullname': 'Second user'}) info = self.view.info('user2') self.assertEqual(info['username'], 'user2') self.assertEqual(info['fullname'], 'Second user') self.assertEqual(info['name_or_id'], 'Second user') def testGetMemberInfoViewForNonMember(self): # When content is owned by a user who has meanwhile been # removed, we do not want to throw an exception when asking # for his member info. self.failIf(self.membership.getMemberById('charon')) info = self.view.info('charon') self.assertEqual(info['username'], 'charon') self.assertEqual(info['fullname'], '') self.assertEqual(info['name_or_id'], 'charon') def testGetMemberInfoViewForAnonymous(self): self.logout() self.failUnless(self.membership.isAnonymousUser()) info = self.view.info() self.assertEqual(info['username'], 'Anonymous User') self.assertEqual(info['fullname'], None) self.assertEqual(info['name_or_id'], 'Anonymous User')
class TestMemberInfoView(base.TestCase): def afterSetUp(self): self.membership = self.portal.portal_membership self.view = PASMemberView(self.portal, self.portal.REQUEST) def testMemberInfoViewForAuthenticated(self): member = self.membership.getAuthenticatedMember() member.setMemberProperties({'fullname': 'Test user'}) info = self.view.info() self.assertEqual(info['username'], 'test_user_1_') self.assertEqual(info['fullname'], 'Test user') self.assertEqual(info['name_or_id'], 'Test user') def testGetMemberInfoViewForMember(self): self.membership.addMember('user2', 'secret', ['Member'], [], properties={'fullname': 'Second user'}) info = self.view.info('user2') self.assertEqual(info['username'], 'user2') self.assertEqual(info['fullname'], 'Second user') self.assertEqual(info['name_or_id'], 'Second user') def testGetMemberInfoViewForNonMember(self): # When content is owned by a user who has meanwhile been # removed, we do not want to throw an exception when asking # for his member info. self.assertFalse(self.membership.getMemberById('charon')) info = self.view.info('charon') self.assertEqual(info['username'], 'charon') self.assertEqual(info['fullname'], '') self.assertEqual(info['name_or_id'], 'charon') def testGetMemberInfoViewForAnonymous(self): self.logout() self.assertTrue(self.membership.isAnonymousUser()) info = self.view.info() self.assertEqual(info['username'], 'Anonymous User') self.assertEqual(info['fullname'], None) self.assertEqual(info['name_or_id'], 'Anonymous User') def testSetGroupsWithUserNameIdDifference(self): # XXX these constants can be imported from plone.app.testing later TEST_USER_NAME = 'test-user-2' TEST_USER_ID = 'test_user_2_' TEST_USER_PASSWORD = '******' TEST_USER_ROLES = ['Member',] pas = self.portal['acl_users'] pas.source_users.addUser(TEST_USER_ID, TEST_USER_NAME, TEST_USER_PASSWORD) for role in TEST_USER_ROLES: pas.portal_role_manager.doAssignRoleToPrincipal(TEST_USER_ID, role) self.portal.portal_groups.addGroup('Editors', [], []) self.setGroups(['Editors'], name=TEST_USER_ID) self.login(TEST_USER_ID) user = getSecurityManager().getUser() self.assertTrue('Editors' in getGroupsForPrincipal(user, pas['plugins'])) self.login() def testSetGroupsWithSameUserNameAndId(self): pas = self.portal['acl_users'] self.portal.portal_groups.addGroup('Editors', [], []) self.setGroups(['Editors']) self.login() user = getSecurityManager().getUser() self.assertTrue('Editors' in getGroupsForPrincipal(user, pas['plugins']))
class TestMemberInfoView(unittest.TestCase): layer = PRODUCTS_PLONEPAS_INTEGRATION_TESTING def setUp(self): self.portal = self.layer['portal'] self.membership = self.portal.portal_membership self.view = PASMemberView(self.portal, self.portal.REQUEST) def testMemberInfoViewForAuthenticated(self): member = self.membership.getAuthenticatedMember() member.setMemberProperties({'fullname': 'Test user'}) info = self.view.info() self.assertEqual(info['username'], 'test-user') self.assertEqual(info['fullname'], 'Test user') self.assertEqual(info['name_or_id'], 'Test user') def testGetMemberInfoViewForMember(self): self.membership.addMember( 'user2', 'secret', ['Member'], [], properties={'fullname': 'Second user', 'home_page': 'http://maurits.vanrees.org'}) info = self.view.info('user2') self.assertEqual(info['username'], 'user2') self.assertEqual(info['fullname'], 'Second user') self.assertEqual(info['name_or_id'], 'Second user') self.assertEqual(info['home_page'], 'http://maurits.vanrees.org') def testGetMemberInfoViewForNonMember(self): # When content is owned by a user who has meanwhile been # removed, we do not want to throw an exception when asking # for his member info. self.assertFalse(self.membership.getMemberById('charon')) info = self.view.info('charon') self.assertEqual(info['username'], 'charon') self.assertEqual(info['fullname'], '') self.assertEqual(info['name_or_id'], 'charon') def testGetMemberInfoViewForAnonymous(self): logout() self.assertTrue(self.membership.isAnonymousUser()) info = self.view.info() self.assertEqual(info['username'], 'Anonymous User') self.assertEqual(info['fullname'], '') self.assertEqual(info['name_or_id'], 'Anonymous User') def testGetMemberInfoViewHomePageInternal(self): self.membership.addMember( 'user4', 'secret', ['Member'], [], properties={'home_page': 'internal_page'}) info = self.view.info('user4') self.assertEqual(info.get('home_page'), 'internal_page') def testGetMemberInfoViewHomePageBad(self): self.membership.addMember( 'user4', 'secret', ['Member'], [], properties={'home_page': 'javascript:alert("hello")'}) info = self.view.info('user4') self.assertEqual(info.get('home_page'), '') def testSetGroupsWithUserNameIdDifference(self): pas = self.portal['acl_users'] self.portal.portal_groups.addGroup('Editors', [], []) self.portal.acl_users.userSetGroups(TEST_USER_ID, groupnames=['Editors']) login(self.portal, TEST_USER_NAME) user = getSecurityManager().getUser() self.assertTrue( 'Editors' in getGroupsForPrincipal(user, pas['plugins']) ) def testSetGroupsWithSameUserNameAndId(self): pas = self.portal['acl_users'] self.portal.portal_groups.addGroup('Editors', [], []) self.portal.acl_users.userSetGroups(TEST_USER_ID, groupnames=['Editors']) user = getSecurityManager().getUser() self.assertTrue( 'Editors' in getGroupsForPrincipal(user, pas['plugins']) )
class TestMemberInfoView(unittest.TestCase): layer = PRODUCTS_PLONEPAS_INTEGRATION_TESTING def setUp(self): self.portal = self.layer['portal'] self.membership = self.portal.portal_membership self.view = PASMemberView(self.portal, self.portal.REQUEST) def testMemberInfoViewForAuthenticated(self): member = self.membership.getAuthenticatedMember() member.setMemberProperties({'fullname': 'Test user'}) info = self.view.info() self.assertEqual(info['username'], 'test-user') self.assertEqual(info['fullname'], 'Test user') self.assertEqual(info['name_or_id'], 'Test user') def testGetMemberInfoViewForMember(self): self.membership.addMember('user2', 'secret', ['Member'], [], properties={ 'fullname': 'Second user', 'home_page': 'http://maurits.vanrees.org' }) info = self.view.info('user2') self.assertEqual(info['username'], 'user2') self.assertEqual(info['fullname'], 'Second user') self.assertEqual(info['name_or_id'], 'Second user') self.assertEqual(info['home_page'], 'http://maurits.vanrees.org') def testGetMemberInfoViewForNonMember(self): # When content is owned by a user who has meanwhile been # removed, we do not want to throw an exception when asking # for his member info. self.assertFalse(self.membership.getMemberById('charon')) info = self.view.info('charon') self.assertEqual(info['username'], 'charon') self.assertEqual(info['fullname'], '') self.assertEqual(info['name_or_id'], 'charon') def testGetMemberInfoViewForAnonymous(self): logout() self.assertTrue(self.membership.isAnonymousUser()) info = self.view.info() self.assertEqual(info['username'], 'Anonymous User') self.assertEqual(info['fullname'], '') self.assertEqual(info['name_or_id'], 'Anonymous User') def testGetMemberInfoViewHomePageInternal(self): self.membership.addMember('user4', 'secret', ['Member'], [], properties={'home_page': 'internal_page'}) info = self.view.info('user4') self.assertEqual(info.get('home_page'), 'internal_page') def testGetMemberInfoViewHomePageBad(self): self.membership.addMember( 'user4', 'secret', ['Member'], [], properties={'home_page': 'javascript:alert("hello")'}) info = self.view.info('user4') self.assertEqual(info.get('home_page'), '') def testSetGroupsWithUserNameIdDifference(self): pas = self.portal['acl_users'] self.portal.portal_groups.addGroup('Editors', [], []) self.portal.acl_users.userSetGroups(TEST_USER_ID, groupnames=['Editors']) login(self.portal, TEST_USER_NAME) user = getSecurityManager().getUser() self.assertTrue( 'Editors' in getGroupsForPrincipal(user, pas['plugins'])) def testSetGroupsWithSameUserNameAndId(self): pas = self.portal['acl_users'] self.portal.portal_groups.addGroup('Editors', [], []) self.portal.acl_users.userSetGroups(TEST_USER_ID, groupnames=['Editors']) user = getSecurityManager().getUser() self.assertTrue( 'Editors' in getGroupsForPrincipal(user, pas['plugins']))