コード例 #1
0
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'])
        )
コード例 #2
0
ファイル: test_membershiptool.py プロジェクト: CGTIC/Plone_SP
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'])
        )
コード例 #3
0
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"]))
コード例 #4
0
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')
コード例 #5
0
 def afterSetUp(self):
     self.membership = self.portal.portal_membership
     self.view = PASMemberView(self.portal, self.portal.REQUEST)
コード例 #6
0
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']))
コード例 #7
0
 def afterSetUp(self):
     self.membership = self.portal.portal_membership
     self.view = PASMemberView(self.portal, self.portal.REQUEST)
コード例 #8
0
 def setUp(self):
     self.portal = self.layer['portal']
     self.membership = self.portal.portal_membership
     self.view = PASMemberView(self.portal, self.portal.REQUEST)
コード例 #9
0
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'])
        )
コード例 #10
0
 def setUp(self):
     self.portal = self.layer['portal']
     self.membership = self.portal.portal_membership
     self.view = PASMemberView(self.portal, self.portal.REQUEST)
コード例 #11
0
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']))