示例#1
0
    def test_create_user(self):
        """ Test create OCL user """

#        ocl = OclApi(debug=True)
        ocl = OclApi(admin=True)

        username = '******'
        data = {
            "username":username,
            "name":"Test User995",
            "email":"*****@*****.**",
            'hashed_password':"******",
            "company":"Some Company",
            "location":"Eldoret, Kenya",
            "preferred_locale":"en,sw",
            "extras":{"my-field":"my-value"}
        }

        result = ocl.create_user(data)
        print 'create:', result.status_code
        print result.text
        print len(result.text)
        print result.json()
        if result.status_code == 400:
            # try reactivate
            print 'reactivate?'
            result = ocl.reactivate_user('blah') # username)
            print result.status_code # , result.json()
            print result.json()

        result = ocl.get_user_auth(username, 'aaaaaa')
        print 'get auth:', result.status_code
        if len(result.text) > 0:
            print result.json()
示例#2
0
    def create_test_user(self):
        """ Creates the OCL sysadmin user """
        from users.models import User
        from allauth.account.models import EmailAddress

        print '==================================='


        print 'Creating Test User'

        if User.objects.filter(username=self.username).count() > 0:
            test_user = User.objects.get(username=self.username)
        else:
            test_user = User.objects.create_user(username=self.username)
        test_user.email = self.username + '@example.com'
        test_user.set_password(self.password)
        test_user.first_name = 'Test'
        test_user.last_name = 'User'
        test_user.save()

        print test_user

        if EmailAddress.objects.filter(user=test_user).count() > 0:
            email = EmailAddress.objects.get(user=test_user)

        else:
            email = EmailAddress.objects.create(user=test_user)

        email.email = test_user.email
        email.verified = True
        email.save()

        ocl = OclApi(admin=True)

        data = {
            "username": test_user.username,
            "name": test_user.first_name + ' ' + test_user.last_name,
            "email": test_user.email,
            'hashed_password': test_user.password,
            "company": self.company_name,
            "location": self.location,
            "preferred_locale": 'en'
        }



        result = ocl.create_user(data)
        print 'Test User Submitted to API: username='******', password='******', status_code=' + str(result.status_code)

        if result.status_code == 201:
            print '==================================='
        elif result.status_code == 400:
            # try reactivate for now, this is very not secure, #TODO
            result = ocl.reactivate_user(test_user.username)
            if result == 204:
                print 'reactivated'
                print '==================================='
        else:
            exit(1)
示例#3
0
    def create_test_user(self):
        """ Creates the OCL sysadmin user """
        from users.models import User
        from allauth.account.models import EmailAddress

        print '==================================='

        print 'Creating Test User'

        if User.objects.filter(username=self.username).count() > 0:
            test_user = User.objects.get(username=self.username)
        else:
            test_user = User.objects.create_user(username=self.username)
        test_user.email = self.username + '@example.com'
        test_user.set_password(self.password)
        test_user.first_name = 'Test'
        test_user.last_name = 'User'
        test_user.save()

        print test_user

        if EmailAddress.objects.filter(user=test_user).count() > 0:
            email = EmailAddress.objects.get(user=test_user)

        else:
            email = EmailAddress.objects.create(user=test_user)

        email.email = test_user.email
        email.verified = True
        email.save()

        ocl = OclApi(admin=True)

        data = {
            "username": test_user.username,
            "name": test_user.first_name + ' ' + test_user.last_name,
            "email": test_user.email,
            'hashed_password': test_user.password,
            "company": self.company_name,
            "location": self.location,
            "preferred_locale": 'en'
        }

        result = ocl.create_user(data)
        print 'Test User Submitted to API: username='******', password='******', status_code=' + str(
            result.status_code)

        if result.status_code == 201:
            print '==================================='
        elif result.status_code == 400:
            # try reactivate for now, this is very not secure, #TODO
            result = ocl.reactivate_user(test_user.username)
            if result == 204:
                print 'reactivated'
                print '==================================='
        else:
            exit(1)
示例#4
0
def user_created_handler(sender, request, user, **kwargs):
    """
    Signal handler called when a new user is created, so that we can create
    a corresponding user at the backend.
    """
    ocl = OclApi(admin=True, debug=True)
    data = {
        'username': user.username,
        'email': user.email,
        'hashed_password': user.password,
        'name': '%s %s' % (user.first_name, user.last_name),  # not great
    }
    result = ocl.create_user(data)
    if result.status_code == 201:
        return
    elif result.status_code == 400:
        # try reactivate for now, this is very not secure, #TODO
        result = ocl.reactivate_user(user.username)
        if result != 204:
            return

    raise Exception('Failed to create user due to: %s' % result)
    def test_create_user(self):
        """ Test create OCL user """

        #        ocl = OclApi(debug=True)
        ocl = OclApi(admin=True)

        username = '******'
        data = {
            "username": username,
            "name": "Test User995",
            "email": "*****@*****.**",
            'hashed_password': "******",
            "company": "Some Company",
            "location": "Eldoret, Kenya",
            "preferred_locale": "en,sw",
            "extras": {
                "my-field": "my-value"
            }
        }

        result = ocl.create_user(data)
        print 'create:', result.status_code
        print result.text
        print len(result.text)
        print result.json()
        if result.status_code == 400:
            # try reactivate
            print 'reactivate?'
            result = ocl.reactivate_user('blah')  # username)
            print result.status_code  # , result.json()
            print result.json()

        result = ocl.get_user_auth(username, 'aaaaaa')
        print 'get auth:', result.status_code
        if len(result.text) > 0:
            print result.json()
示例#6
0
def user_created_handler(sender, request, user, **kwargs):
    """
    Signal handler called when a new user is created, so that we can create
    a corresponding user at the backend.
    """
    print 'user created handler %s' % user.username
    ocl = OclApi(admin=True, debug=True)
    data = {
        'username': user.username,
        'email': user.email,
        'hashed_password': user.password,
        'name': '%s %s' % (user.first_name, user.last_name),  # not great
    }
    result = ocl.create_user(data)
    print result.status_code
    if result.status_code == 201:
        # result.json() has data
        pass

    elif result.status_code == 400:
        # try reactivate for now, this is very not secure, #TODO
        result = ocl.reactivate_user(user.username)
        if result == 204:
            print 'reactivated'
    def create_test_user(self):
        """ Creates the OCL sysadmin user """
        from users.models import User
        from allauth.account.models import EmailAddress

        print '==================================='

        print 'Creating "' + self.username + '" User'

        email = self.username + '@openconceptlab.org'

        user = None

        if User.objects.filter(username=self.username).count() > 0:
            user = User.objects.get(username=self.username)
            if self.superuser and not user.is_superuser:
                user.delete()
                user = None

        if user is None:
            if self.superuser:
                user = User.objects.create_superuser(self.username, email,
                                                     self.password)
            else:
                user = User.objects.create_user(username=self.username)

        user.email = email
        user.set_password(self.password)
        user.first_name = 'none'
        user.last_name = 'none'
        user.save()

        if EmailAddress.objects.filter(user=user).count() > 0:
            email = EmailAddress.objects.get(user=user)
        else:
            email = EmailAddress.objects.create(user=user)

        email.email = user.email
        email.verified = True
        email.save()

        ocl = OclApi(admin=True)

        data = {
            "username": user.username,
            "name": user.first_name + ' ' + user.last_name,
            "email": user.email,
            'hashed_password': user.password,
            "company": self.company_name,
            "location": self.location,
            "preferred_locale": 'en'
        }

        result = ocl.create_user(data)

        if result.status_code == 201:
            print 'User "' + user.username + '" synced to API'
            print '==================================='
        elif result.status_code == 400:
            print 'User "' + user.username + '" exists in API, trying to reactivate...'
            # try reactivate for now, this is very not secure, #TODO
            result = ocl.reactivate_user(user.username)
            if result == 204:
                print 'User "' + user.username + '" reactivated in API'
            else:
                print 'Failed to reactivate user "' + user.username + '" in API. Server responded with ' + str(
                    result.status_code)

            print '==================================='
        else:
            print 'Failed to sync user "' + user.username + '" to API. Server responded with ' + str(
                result.status_code)
            print '==================================='
            exit(1)