Example #1
0
    def test_search(self):
        from django.conf import settings
        from tardis.tardis_portal.auth.ldap_auth import ldap_auth

        l = ldap_auth()
        res = l._query(settings.LDAP_USER_BASE, '(objectClass=*)', ['cn'])
        res1 = [('ou=People,dc=example,dc=com', {}),
                ('uid=testuser1,ou=People,dc=example,dc=com', {
                    'cn': ['Test User']
                }),
                ('uid=testuser2,ou=People,dc=example,dc=com', {
                    'cn': ['Test User2']
                }),
                ('uid=testuser3,ou=People,dc=example,dc=com', {
                    'cn': ['Test User3']
                })]
        self.assertEqual(res, res1)

        res = l._query(settings.LDAP_GROUP_BASE, '(objectClass=*)', ['cn'])
        res1 = [('ou=Group,dc=example,dc=com', {}),
                ('cn=empty,ou=Group,dc=example,dc=com', {
                    'cn': ['empty']
                }), ('cn=full,ou=Group,dc=example,dc=com', {
                    'cn': ['full']
                }),
                ('cn=systems,ou=Group,dc=example,dc=com', {
                    'cn': ['systems']
                })]
        self.assertEqual(res, res1)
Example #2
0
    def test_getgroupbyid(self):
        from tardis.tardis_portal.auth.ldap_auth import ldap_auth

        l = ldap_auth()
        self.assertEqual(l.getGroupById('full'),
                         {'id': 'full', 'display': 'Full Group'})
        self.assertEqual(l.getGroupById('invalid'), None)
Example #3
0
 def test_searchgroups(self):
     from tardis.tardis_portal.auth.ldap_auth import ldap_auth
     l = ldap_auth()
     self.assertEqual([g for g in l.searchGroups(id='fu*')],
                      [{'id': 'full',
                        'members': ['testuser1', 'testuser2', 'testuser3'],
                        'display': 'Full Group'}])
Example #4
0
    def test_authenticate(self):
        from tardis.tardis_portal.auth.ldap_auth import ldap_auth
        from django.core.handlers.wsgi import WSGIRequest
        from django.contrib.auth.models import User

        # Tests Authenticate API
        l = ldap_auth()
        req = WSGIRequest({"REQUEST_METHOD": "POST"})
        req._post = {'username': '******',
                     'password': '******',
                     'authMethod': 'ldap'}
        u = l.authenticate(req)
        u1 = {'email': '*****@*****.**',
              'display': 'Test', 'id': 'testuser1'}
        self.failUnlessEqual(u, u1)

        # Test authservice API
        from tardis.tardis_portal.auth import auth_service
        req = WSGIRequest({"REQUEST_METHOD": "POST"})
        req._post = {'username': '******',
                     'password': '******',
                     'authMethod': 'ldap'}
        user = auth_service.authenticate('ldap', request=req)
        self.assertTrue(isinstance(user, User))

        # Check that there is an entry in the user authentication table
        from tardis.tardis_portal.models import UserAuthentication
        userAuth = UserAuthentication.objects.get(
            userProfile__user=user,
            authenticationMethod=l.name)

        user1 = UserAuthentication.objects.get(username=user.username,
                        authenticationMethod='ldap').userProfile.user
        self.assertEqual(user, user1)
Example #5
0
 def test_getgroupsforentity(self):
     from tardis.tardis_portal.auth.ldap_auth import ldap_auth
     l = ldap_auth()
     self.assertEqual([g for g in l.getGroupsForEntity('testuser1')],
                      [{
                          'id': 'full',
                          'display': 'Full Group'
                      }, {
                          'id': 'systems',
                          'display': 'Systems Services'
                      }])
Example #6
0
    def test_getuserbyid(self):
        from tardis.tardis_portal.auth.ldap_auth import ldap_auth
        l = ldap_auth()
        user = l.getUserById('testuser1')
        user1 = {'id': 'testuser1',
                 'email': '*****@*****.**',
                 'display': 'Test'}
        self.assertEqual(user, user1)

        user = l.getUserById('nulluser')
        self.assertEqual(user, None)
Example #7
0
    def test_getuserbyid(self):
        from tardis.tardis_portal.auth.ldap_auth import ldap_auth
        l = ldap_auth()
        user = l.getUserById('testuser1')
        user1 = {'id': 'testuser1',
                 'email': '*****@*****.**',
                 'first_name': 'Test',
                 'last_name': 'User'}
        self.assertEqual(user, user1)

        user = l.getUserById('nulluser')
        self.assertEqual(user, None)
Example #8
0
    def test_getgroups(self):
        from django.contrib.auth.models import User
        from django.core.handlers.wsgi import WSGIRequest
        from tardis.tardis_portal.auth import auth_service
        req = WSGIRequest({"REQUEST_METHOD": "POST"})
        req._post = {'username': '******',
                     'password': '******',
                     'authMethod': 'ldap'}
        user = auth_service.authenticate('ldap', request=req)
        self.assertTrue(isinstance(user, User))
        req.user = user

        from tardis.tardis_portal.auth.ldap_auth import ldap_auth
        # Tests getGroups
        l = ldap_auth()
        self.assertEqual([g for g in l.getGroups(req)], ['full', 'systems'])
Example #9
0
    def test_getgroups(self):
        from django.contrib.auth.models import User
        from tardis.tardis_portal.auth import auth_service
        rf = RequestFactory()
        req = rf.post('')
        req._post = {'username': '******',
                     'password': '******',
                     'authMethod': 'ldap'}
        user = auth_service.authenticate('ldap', request=req)
        self.assertTrue(isinstance(user, User))
        req.user = user

        from tardis.tardis_portal.auth.ldap_auth import ldap_auth
        # Tests getGroups
        l = ldap_auth()
        self.assertEqual([g for g in l.getGroups(req.user)],
                         ['full', 'systems'])
Example #10
0
    def test_getgroups(self):
        from django.contrib.auth.models import User
        from django.core.handlers.wsgi import WSGIRequest
        from tardis.tardis_portal.auth import auth_service
        req = WSGIRequest({"REQUEST_METHOD": "POST"})
        req._post = {
            'username': '******',
            'password': '******',
            'authMethod': 'ldap'
        }
        user = auth_service.authenticate('ldap', request=req)
        self.assertTrue(isinstance(user, User))
        req.user = user

        from tardis.tardis_portal.auth.ldap_auth import ldap_auth
        # Tests getGroups
        l = ldap_auth()
        self.assertEqual([g for g in l.getGroups(req)], ['full', 'systems'])
Example #11
0
    def test_authenticate(self):
        from tardis.tardis_portal.auth.ldap_auth import ldap_auth
        from django.core.handlers.wsgi import WSGIRequest
        from django.contrib.auth.models import User

        # Tests Authenticate API
        l = ldap_auth()
        req = WSGIRequest({"REQUEST_METHOD": "POST"})
        req._post = {
            'username': '******',
            'password': '******',
            'authMethod': 'ldap'
        }
        u = l.authenticate(req)
        u1 = {
            'email': '*****@*****.**',
            'display': 'Test',
            'id': 'testuser1'
        }
        self.failUnlessEqual(u, u1)

        # Test authservice API
        from tardis.tardis_portal.auth import auth_service
        req = WSGIRequest({"REQUEST_METHOD": "POST"})
        req._post = {
            'username': '******',
            'password': '******',
            'authMethod': 'ldap'
        }
        user = auth_service.authenticate('ldap', request=req)
        self.assertTrue(isinstance(user, User))

        # Check that there is an entry in the user authentication table
        from tardis.tardis_portal.models import UserAuthentication
        userAuth = UserAuthentication.objects.get(userProfile__user=user,
                                                  authenticationMethod=l.name)

        user1 = UserAuthentication.objects.get(
            username=user.username,
            authenticationMethod='ldap').userProfile.user
        self.assertEqual(user, user1)
Example #12
0
    def test_search(self):
        from django.conf import settings
        from tardis.tardis_portal.auth.ldap_auth import ldap_auth

        l = ldap_auth()
        res = l._query(settings.LDAP_USER_BASE, '(objectClass=*)', ['givenName', 'sn'])
        res1 = [('ou=People,dc=example,dc=com', {}),
                ('uid=testuser1,ou=People,dc=example,dc=com',
                 {'givenName': ['Test'], 'sn': ['User']}),
                ('uid=testuser2,ou=People,dc=example,dc=com',
                 {'givenName': ['Test'], 'sn': ['User2']}),
                ('uid=testuser3,ou=People,dc=example,dc=com',
                 {'givenName': ['Test'], 'sn': ['User3']})]
        self.assertEqual(res, res1)

        res = l._query(settings.LDAP_GROUP_BASE, '(objectClass=*)', ['cn'])
        res1 = [('ou=Group,dc=example,dc=com', {}),
                ('cn=empty,ou=Group,dc=example,dc=com',
                 {'cn': ['empty']}),
                ('cn=full,ou=Group,dc=example,dc=com',
                 {'cn': ['full']}),
                ('cn=systems,ou=Group,dc=example,dc=com',
                 {'cn': ['systems']})]
        self.assertEqual(res, res1)
Example #13
0
 def test_search(self):
     from tardis.tardis_portal.auth.ldap_auth import ldap_auth
     l = ldap_auth()
     self.assertEqual(l._query('', '', ''), None)
Example #14
0
 def test_search(self):
     from tardis.tardis_portal.auth.ldap_auth import ldap_auth
     l = ldap_auth()
     self.assertEqual(l._query('', '', ''), None)
Example #15
0
 def test_getgroupsforentity(self):
     from tardis.tardis_portal.auth.ldap_auth import ldap_auth
     l = ldap_auth()
     self.assertEqual([g for g in l.getGroupsForEntity('testuser1')],
                      [{'id': 'full', 'display': 'Full Group'},
                       {'id': 'systems', 'display': 'Systems Services'}])