Пример #1
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)
     self.account.status = 'active'
     self.account.save()
     self.endpoint = '/api/accounts/' + str(self.account.user_id)
Пример #2
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)
     self.client.login(username=self.account.user.username, password=self.password)
     self.account_id = self.account.user_id
     self.endpoint = '/api/accounts/' + str(self.account_id)
Пример #3
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)
     self.account.status = 'active'
     self.account.save()
     self.endpoint = '/api/accounts/' + str(self.account.user_id)
Пример #4
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)
     self.account.status = 'active'
     self.account.save()
     self.client.login(username=self.account.user.username, password=self.password)
Пример #5
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)
     ar = AccountRequest.objects.get(account=self.account, type='create-primary-account', status='pending')
     payload = json.dumps({"action": "verify_email", "code": ar.code})
     self.client.put('/api/accounts/' + str(self.account.id), payload, content_type='application/json')
     self.client.login(username=self.account.user.username, password=self.password)
Пример #6
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)
     self.account.status = 'active'
     self.account.save()
     self.client.login(username=self.account.user.username,
                       password=self.password)
Пример #7
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)
     self.client.login(username=self.account.user.username,
                       password=self.password)
     self.account_id = self.account.user_id
     self.endpoint = '/api/accounts/' + str(self.account_id)
Пример #8
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)
     self.account.status = 'active'
     self.account.save()
     payload = json.dumps({"action": "request_password_reset", "email": self.email})
     self.client.put('/api/accounts', payload, content_type='application/json')
     self.endpoint = '/api/accounts/' + str(self.account.user_id)
Пример #9
0
    def test_400_missing_email_list(self):
        account = Account.create_account(self.email, self.password)
        account.status = 'active'
        account.group = 'agency'
        account.save()
        self.client.login(username=account.user.username, password=self.password)

        data = json.dumps({
            "type": "secondary",
        })
        response = self.client.post('/api/accounts', data, content_type='application/json')
        self.assertEqual(response.status_code, 400)
Пример #10
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)
     ar = AccountRequest.objects.get(account=self.account,
                                     type='create-primary-account',
                                     status='pending')
     payload = json.dumps({"action": "verify_email", "code": ar.code})
     self.client.put('/api/accounts/' + str(self.account.id),
                     payload,
                     content_type='application/json')
     self.client.login(username=self.account.user.username,
                       password=self.password)
Пример #11
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)
     self.account.status = 'active'
     self.account.group = 'agency'
     self.account.save()
     self.client.login(username=self.account.user.username, password=self.password)
     payload = json.dumps({
         "type": "secondary",
         "email_list": ['*****@*****.**']
     })
     response = self.client.post('/api/accounts/', payload, content_type='application/json')
     self.client.logout()
Пример #12
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)
     self.account.status = 'active'
     self.account.save()
     payload = json.dumps({
         "action": "request_password_reset",
         "email": self.email
     })
     self.client.put('/api/accounts',
                     payload,
                     content_type='application/json')
     self.endpoint = '/api/accounts/' + str(self.account.user_id)
Пример #13
0
    def test_400_missing_email_list(self):
        account = Account.create_account(self.email, self.password)
        account.status = 'active'
        account.group = 'agency'
        account.save()
        self.client.login(username=account.user.username,
                          password=self.password)

        data = json.dumps({
            "type": "secondary",
        })
        response = self.client.post('/api/accounts',
                                    data,
                                    content_type='application/json')
        self.assertEqual(response.status_code, 400)
Пример #14
0
    def test_200_valid_secondary_accounts(self):
        account = Account.create_account(self.email, self.password)
        account.status = 'active'
        account.group = 'agency'
        account.save()
        self.client.login(username=account.user.username, password=self.password)

        data = json.dumps({
            "type": "secondary",
            "email_list": [
                '*****@*****.**',
                '*****@*****.**'
            ],
        })
        response = self.client.post('/api/accounts', data, content_type='application/json')
        self.assertEqual(response.status_code, 200)
Пример #15
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)
     self.account.status = 'active'
     self.account.group = 'agency'
     self.account.save()
     self.client.login(username=self.account.user.username,
                       password=self.password)
     payload = json.dumps({
         "type": "secondary",
         "email_list": ['*****@*****.**']
     })
     response = self.client.post('/api/accounts/',
                                 payload,
                                 content_type='application/json')
     self.client.logout()
Пример #16
0
    def test_200_valid_secondary_accounts(self):
        account = Account.create_account(self.email, self.password)
        account.status = 'active'
        account.group = 'agency'
        account.save()
        self.client.login(username=account.user.username,
                          password=self.password)

        data = json.dumps({
            "type":
            "secondary",
            "email_list": ['*****@*****.**', '*****@*****.**'],
        })
        response = self.client.post('/api/accounts',
                                    data,
                                    content_type='application/json')
        self.assertEqual(response.status_code, 200)
Пример #17
0
    def post(self, request):
        #################
        # Setup
        #################

        headers = {
            "Content-Type": "application/json",
            "Allow": "GET, POST",
        }

        # Check content-type header
        if not self.content_type.startswith('application/json'):
            errors = {"header_content_type": "Content-Type must be 'application/json'. Your Content-Type is " + str(self.content_type)}
            return Response(content=errors, headers=headers, status=status.HTTP_400_BAD_REQUEST)

        try:
            request.session["_auth_user_id"]
        except KeyError:
            pass
        else:
            error = {"session": "Unable to create new account with a valid session."}
            return Response(content=error, headers=headers, status=status.HTTP_400_BAD_REQUEST)

        try:
            email = self.CONTENT['email']
        except KeyError:
            error = {"email": "Missing email address field."}
            return Response(content=error, headers=headers, status=status.HTTP_400_BAD_REQUEST)

        try:
            password = self.CONTENT['password']
        except KeyError:
            error = {"password": "******"}
            return Response(content=error, headers=headers, status=status.HTTP_400_BAD_REQUEST)

        try:
            code = self.CONTENT['code']
        except KeyError:
            code = None

        account = Account.create_account(email, password, code=code)
        if not isinstance(account, Account):
            return Response(content=account, headers=headers, status=status.HTTP_400_BAD_REQUEST)

        return Response(content=account.record_to_dictionary(), headers=headers, status=status.HTTP_200_OK)
Пример #18
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)
Пример #19
0
    def post(self, request):
        #################
        # Setup
        #################

        headers = {
            "Content-Type": "application/json",
            "Allow": "GET, POST",
        }

        # Check content-type header
        if not self.content_type.startswith('application/json'):
            errors = {
                "header_content_type":
                "Content-Type must be 'application/json'. Your Content-Type is "
                + str(self.content_type)
            }
            return Response(content=errors,
                            headers=headers,
                            status=status.HTTP_400_BAD_REQUEST)

        try:
            request.session["_auth_user_id"]
        except KeyError:
            pass
        else:
            error = {
                "session": "Unable to create new account with a valid session."
            }
            return Response(content=error,
                            headers=headers,
                            status=status.HTTP_400_BAD_REQUEST)

        try:
            email = self.CONTENT['email']
        except KeyError:
            error = {"email": "Missing email address field."}
            return Response(content=error,
                            headers=headers,
                            status=status.HTTP_400_BAD_REQUEST)

        try:
            password = self.CONTENT['password']
        except KeyError:
            error = {"password": "******"}
            return Response(content=error,
                            headers=headers,
                            status=status.HTTP_400_BAD_REQUEST)

        try:
            code = self.CONTENT['code']
        except KeyError:
            code = None

        account = Account.create_account(email, password, code=code)
        if not isinstance(account, Account):
            return Response(content=account,
                            headers=headers,
                            status=status.HTTP_400_BAD_REQUEST)

        return Response(content=account.record_to_dictionary(),
                        headers=headers,
                        status=status.HTTP_200_OK)
Пример #20
0
 def setUp(self):
     self.email = '*****@*****.**'
     self.password = '******'
     self.account = Account.create_account(self.email, self.password)