mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-25 02:53:58 +03:00
Add migration for CustomToken test model.
Move authentication tests to sub-app to enable this.
This commit is contained in:
parent
cb4cbb61f2
commit
481ae69df3
0
tests/authentication/__init__.py
Normal file
0
tests/authentication/__init__.py
Normal file
24
tests/authentication/migrations/0001_initial.py
Normal file
24
tests/authentication/migrations/0001_initial.py
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
initial = True
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='CustomToken',
|
||||||
|
fields=[
|
||||||
|
('key', models.CharField(max_length=40, primary_key=True, serialize=False)),
|
||||||
|
('user', models.OneToOneField(on_delete=models.CASCADE, to=settings.AUTH_USER_MODEL)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
]
|
0
tests/authentication/migrations/__init__.py
Normal file
0
tests/authentication/migrations/__init__.py
Normal file
10
tests/authentication/models.py
Normal file
10
tests/authentication/models.py
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# coding: utf-8
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import models
|
||||||
|
|
||||||
|
|
||||||
|
class CustomToken(models.Model):
|
||||||
|
key = models.CharField(max_length=40, primary_key=True)
|
||||||
|
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
|
|
@ -8,7 +8,6 @@ import pytest
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.conf.urls import include, url
|
from django.conf.urls import include, url
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.db import models
|
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from django.test import TestCase, override_settings
|
from django.test import TestCase, override_settings
|
||||||
from django.utils import six
|
from django.utils import six
|
||||||
|
@ -26,14 +25,11 @@ from rest_framework.response import Response
|
||||||
from rest_framework.test import APIClient, APIRequestFactory
|
from rest_framework.test import APIClient, APIRequestFactory
|
||||||
from rest_framework.views import APIView
|
from rest_framework.views import APIView
|
||||||
|
|
||||||
|
from .models import CustomToken
|
||||||
|
|
||||||
factory = APIRequestFactory()
|
factory = APIRequestFactory()
|
||||||
|
|
||||||
|
|
||||||
class CustomToken(models.Model):
|
|
||||||
key = models.CharField(max_length=40, primary_key=True)
|
|
||||||
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
|
||||||
|
|
||||||
|
|
||||||
class CustomTokenAuthentication(TokenAuthentication):
|
class CustomTokenAuthentication(TokenAuthentication):
|
||||||
model = CustomToken
|
model = CustomToken
|
||||||
|
|
||||||
|
@ -87,7 +83,7 @@ urlpatterns = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@override_settings(ROOT_URLCONF='tests.test_authentication')
|
@override_settings(ROOT_URLCONF=__name__)
|
||||||
class BasicAuthTests(TestCase):
|
class BasicAuthTests(TestCase):
|
||||||
"""Basic authentication"""
|
"""Basic authentication"""
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
@ -169,7 +165,7 @@ class BasicAuthTests(TestCase):
|
||||||
assert response.status_code == status.HTTP_401_UNAUTHORIZED
|
assert response.status_code == status.HTTP_401_UNAUTHORIZED
|
||||||
|
|
||||||
|
|
||||||
@override_settings(ROOT_URLCONF='tests.test_authentication')
|
@override_settings(ROOT_URLCONF=__name__)
|
||||||
class SessionAuthTests(TestCase):
|
class SessionAuthTests(TestCase):
|
||||||
"""User session authentication"""
|
"""User session authentication"""
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
@ -370,7 +366,7 @@ class BaseTokenAuthTests(object):
|
||||||
assert response.status_code == status.HTTP_401_UNAUTHORIZED
|
assert response.status_code == status.HTTP_401_UNAUTHORIZED
|
||||||
|
|
||||||
|
|
||||||
@override_settings(ROOT_URLCONF='tests.test_authentication')
|
@override_settings(ROOT_URLCONF=__name__)
|
||||||
class TokenAuthTests(BaseTokenAuthTests, TestCase):
|
class TokenAuthTests(BaseTokenAuthTests, TestCase):
|
||||||
model = Token
|
model = Token
|
||||||
path = '/token/'
|
path = '/token/'
|
||||||
|
@ -429,13 +425,13 @@ class TokenAuthTests(BaseTokenAuthTests, TestCase):
|
||||||
assert response.data['token'] == self.key
|
assert response.data['token'] == self.key
|
||||||
|
|
||||||
|
|
||||||
@override_settings(ROOT_URLCONF='tests.test_authentication')
|
@override_settings(ROOT_URLCONF=__name__)
|
||||||
class CustomTokenAuthTests(BaseTokenAuthTests, TestCase):
|
class CustomTokenAuthTests(BaseTokenAuthTests, TestCase):
|
||||||
model = CustomToken
|
model = CustomToken
|
||||||
path = '/customtoken/'
|
path = '/customtoken/'
|
||||||
|
|
||||||
|
|
||||||
@override_settings(ROOT_URLCONF='tests.test_authentication')
|
@override_settings(ROOT_URLCONF=__name__)
|
||||||
class CustomKeywordTokenAuthTests(BaseTokenAuthTests, TestCase):
|
class CustomKeywordTokenAuthTests(BaseTokenAuthTests, TestCase):
|
||||||
model = Token
|
model = Token
|
||||||
path = '/customkeywordtoken/'
|
path = '/customkeywordtoken/'
|
||||||
|
@ -549,7 +545,7 @@ class BasicAuthenticationUnitTests(TestCase):
|
||||||
authentication.authenticate = old_authenticate
|
authentication.authenticate = old_authenticate
|
||||||
|
|
||||||
|
|
||||||
@override_settings(ROOT_URLCONF='tests.test_authentication',
|
@override_settings(ROOT_URLCONF=__name__,
|
||||||
AUTHENTICATION_BACKENDS=('django.contrib.auth.backends.RemoteUserBackend',))
|
AUTHENTICATION_BACKENDS=('django.contrib.auth.backends.RemoteUserBackend',))
|
||||||
class RemoteUserAuthenticationUnitTests(TestCase):
|
class RemoteUserAuthenticationUnitTests(TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
|
@ -56,6 +56,7 @@ def pytest_configure(config):
|
||||||
'django.contrib.staticfiles',
|
'django.contrib.staticfiles',
|
||||||
'rest_framework',
|
'rest_framework',
|
||||||
'rest_framework.authtoken',
|
'rest_framework.authtoken',
|
||||||
|
'tests.authentication',
|
||||||
'tests.importable',
|
'tests.importable',
|
||||||
'tests',
|
'tests',
|
||||||
),
|
),
|
||||||
|
|
Loading…
Reference in New Issue
Block a user