Example #1
0
    def test_register_invalid_email_unique(self):
        url = reverse('api:register')

        User.objects.create(email='*****@*****.**')
        response = APIClient().post(url, data={
            'email': '*****@*****.**',
            'password': '******',
            'public_key': serialize_public_key(PUBLIC_KEY)
        })

        assert response.status_code == 400
        assert response.json() == {
            'email': ['User with this Email already exists.']
        }
Example #2
0
    def test_simple_register(self):
        url = reverse('api:register')

        response = APIClient().post(url, data={
            'email': '*****@*****.**',
            'password': '******',
            'public_key': serialize_public_key(PUBLIC_KEY)
        })

        assert response.status_code == 201
        assert response.json() == {
            'email': '*****@*****.**',
            'device_id': mock.ANY
        }
        assert User.objects.filter(email='*****@*****.**').exists()
Example #3
0
    def test_register_invalid_public_key(self):
        url = reverse('api:register')

        response = APIClient().post(url, data={
            'email': '*****@*****.**',
            'password': '******',
            'public_key': 'invalid'
        })

        assert response.status_code == 400
        assert response.json() == {
            'public_key': ['Invalid public key']
        }

        assert User.objects.all().count() == 0
        assert Device.objects.all().count() == 0
Example #4
0
    def test_register_invalid_email(self):
        url = reverse('api:register')

        response = APIClient().post(url, data={
            'email': 'test',
            'password': '******',
            'public_key': serialize_public_key(PUBLIC_KEY)
        })

        assert response.status_code == 400
        assert response.json() == {
            'email': ['Enter a valid email address.']
        }

        assert User.objects.all().count() == 0
        assert Device.objects.all().count() == 0
Example #5
0
    def test_register_invalid_password(self):
        url = reverse('api:register')

        response = APIClient().post(url, data={
            'email': '*****@*****.**',
            'password': '******',
            'public_key': serialize_public_key(PUBLIC_KEY)
        })

        assert response.status_code == 400
        assert response.json() == {
            'password': [
                'This password is too short. It must contain at least 10 characters.',
                'This password is too common.',
                'This password is entirely numeric.'
            ]
        }

        # Make sure we never created a user or device
        assert User.objects.all().count() == 0
        assert Device.objects.all().count() == 0