Skip to content

Commit 6dc68ac

Browse files
committed
Fix tests, pypi, and install tox to run locally
1 parent 24aaf04 commit 6dc68ac

File tree

7 files changed

+78
-22
lines changed

7 files changed

+78
-22
lines changed

Pipfile

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@ django = "*"
88
djangorestframework = "*"
99
twilio = "*"
1010

11-
1211
[dev-packages]
1312
flake8 = "*"
1413
pandoc = "*"
1514
pep8 = "*"
1615
pytest= "*"
1716
pytest-cov= "*"
1817
pytest-django= "*"
19-
requests = {version=">=2.20.0"}
18+
requests = {version = ">=2.20.0"}
2019
setuptools-markdown = "*"
2120
twine = "*"
22-
urllib3 = {version=">=1.23"}
21+
urllib3 = {version = ">=1.23"}
2322
wheel = "*"
23+
tox = "*"
2424

2525
[requires]
2626
python_version = "3.7"

Pipfile.lock

+43-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Generated by Django 3.0.2 on 2020-01-25 08:53
2+
3+
from django.db import migrations, models
4+
import drfpasswordless.models
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
('drfpasswordless', '0003_callbacktoken_type'),
11+
]
12+
13+
operations = [
14+
migrations.AlterField(
15+
model_name='callbacktoken',
16+
name='key',
17+
field=models.CharField(default=drfpasswordless.models.generate_numeric_token, max_length=6),
18+
),
19+
migrations.AlterUniqueTogether(
20+
name='callbacktoken',
21+
unique_together={('is_active', 'key', 'type')},
22+
),
23+
]

drfpasswordless/models.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,9 @@ class CallbackToken(AbstractBaseCallbackToken):
6161
TOKEN_TYPE_VERIFY = 'VERIFY'
6262
TOKEN_TYPES = ((TOKEN_TYPE_AUTH, 'Auth'), (TOKEN_TYPE_VERIFY, 'Verify'))
6363

64-
key = models.CharField(default=generate_numeric_token, max_length=6, unique=True)
64+
key = models.CharField(default=generate_numeric_token, max_length=6)
6565
type = models.CharField(max_length=20, choices=TOKEN_TYPES)
6666

6767
class Meta(AbstractBaseCallbackToken.Meta):
6868
verbose_name = 'Callback Token'
69+
unique_together = ['is_active', 'key', 'type']

drfpasswordless/serializers.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -294,8 +294,7 @@ class TokenResponseSerializer(serializers.Serializer):
294294
"""
295295
Our default response serializer.
296296
"""
297-
token = serializers.CharField(read_only=True, source='get_token')
297+
token = serializers.CharField(source='key')
298298
key = serializers.CharField(write_only=True)
299299

300-
def get_token(self):
301-
return self.key
300+

drfpasswordless/views.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,10 @@ def post(self, request, *args, **kwargs):
145145

146146
if token:
147147
TokenSerializer = import_string(api_settings.PASSWORDLESS_AUTH_TOKEN_SERIALIZER)
148-
token_serializer = TokenSerializer(token)
149-
# Return our key for consumption.
150-
return Response(token_serializer.data, status=status.HTTP_200_OK)
148+
token_serializer = TokenSerializer(data=token.__dict__, partial=True)
149+
if token_serializer.is_valid():
150+
# Return our key for consumption.
151+
return Response(token_serializer.data, status=status.HTTP_200_OK)
151152
else:
152153
logger.error("Couldn't log in unknown user. Errors on serializer: {}".format(serializer.error_messages))
153154
return Response({'detail': 'Couldn\'t log you in. Try again later.'}, status=status.HTTP_400_BAD_REQUEST)

tests/test_verification.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from rest_framework import status
22
from rest_framework.authtoken.models import Token
3+
from django.utils.translation import ugettext_lazy as _
34
from rest_framework.test import APITestCase
45
from django.contrib.auth import get_user_model
56
from django.urls import reverse

0 commit comments

Comments
 (0)