Beispiel #1
0
    def test_nonadmin_user_group_mapping(self):
        # Test the mapping for the non-admin user, 'user'.
        ldap_user = User()
        ldap_user.group_dns = self.non_admin_user_group_dns
        populate_user.send(LDAPBackend,
                           user=self.nonadmin_user,
                           ldap_user=ldap_user)

        # According to our group mapping, the 'user' user should be populated
        # to only the 'Users' Django group.
        self.assertFalse(self.nonadmin_user.groups.filter(name='Admins'))
        self.assertTrue(self.nonadmin_user.groups.filter(name='Users'))

        self.assertEquals(
            Group.objects.filter(user__username='******').count(), 1)

        self.assertFalse(
            self.nonadmin_user.groups.filter(name='nonexistentgroup'))

        # Ensure Django groups are updated when LDAP group membership changes.
        ldap_user.group_dns = set([])
        populate_user.send(LDAPBackend,
                           user=self.nonadmin_user,
                           ldap_user=ldap_user)
        self.assertFalse(self.nonadmin_user.groups.filter(name='Users'))
        self.assertEquals(
            Group.objects.filter(user__username='******').count(), 0)
    def test_nonadmin_user_group_mapping(self):
        # Test the mapping for the non-admin user, 'user'.
        ldap_user = User()
        ldap_user.group_dns = self.non_admin_user_group_dns
        populate_user.send(
            LDAPBackend, user = self.nonadmin_user, ldap_user = ldap_user)

        # According to our group mapping, the 'user' user should be populated
        # to only the 'Users' Django group.
        self.assertFalse(self.nonadmin_user.groups.filter(
            name = 'Admins'))
        self.assertTrue(self.nonadmin_user.groups.filter(
            name = 'Users'))

        self.assertEquals(Group.objects.filter(
            user__username = '******').count(), 1)

        self.assertFalse(self.nonadmin_user.groups.filter(
            name = 'nonexistentgroup'))

        # Ensure Django groups are updated when LDAP group membership changes.
        ldap_user.group_dns = set([])
        populate_user.send(
            LDAPBackend, user = self.nonadmin_user, ldap_user = ldap_user)
        self.assertFalse(self.nonadmin_user.groups.filter(
            name = 'Users'))
        self.assertEquals(Group.objects.filter(
            user__username = '******').count(), 0)
Beispiel #3
0
    def test_admin_user_group_mapping(self):
        # Test the group map for the 'admin' user
        ldap_user = User()
        ldap_user.group_dns = self.admin_user_group_dns
        populate_user.send(LDAPBackend,
                           user=self.admin_user,
                           ldap_user=ldap_user)

        # According to our group mapping, the 'admin' user should be populated
        # to both the 'Admins' and the 'Users' Django groups.
        self.assertTrue(self.admin_user.groups.filter(name='Admins'))
        self.assertTrue(self.admin_user.groups.filter(name='Users'))

        self.assertEquals(
            Group.objects.filter(user__username='******').count(), 2)

        self.assertFalse(
            self.admin_user.groups.filter(name='nonexistentgroup'))

        # Ensure Django groups are updated when LDAP group membership changes.
        ldap_user.group_dns = set(
            [u'cn=app users,ou=groups,dc=example,dc=local'])
        populate_user.send(LDAPBackend,
                           user=self.admin_user,
                           ldap_user=ldap_user)
        self.assertFalse(self.nonadmin_user.groups.filter(name='Admins'))
        self.assertEquals(
            Group.objects.filter(user__username='******').count(), 1)
    def test_admin_user_group_mapping(self):
        # Test the group map for the 'admin' user
        ldap_user = User()
        ldap_user.group_dns = self.admin_user_group_dns
        populate_user.send(
            LDAPBackend, user = self.admin_user, ldap_user = ldap_user)

        # According to our group mapping, the 'admin' user should be populated
        # to both the 'Admins' and the 'Users' Django groups.
        self.assertTrue(self.admin_user.groups.filter(name = 'Admins'))
        self.assertTrue(self.admin_user.groups.filter(name = 'Users'))

        self.assertEquals(Group.objects.filter(
            user__username = '******').count(), 2)

        self.assertFalse(self.admin_user.groups.filter(
            name = 'nonexistentgroup'))

        # Ensure Django groups are updated when LDAP group membership changes.
        ldap_user.group_dns = set([
            u'cn=app users,ou=groups,dc=example,dc=local'])
        populate_user.send(
            LDAPBackend, user = self.admin_user, ldap_user = ldap_user)
        self.assertFalse(self.nonadmin_user.groups.filter(
            name = 'Admins'))
        self.assertEquals(Group.objects.filter(
            user__username = '******').count(), 1)