File tree Expand file tree Collapse file tree 2 files changed +12
-2
lines changed
Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -49,5 +49,6 @@ def pk(self):
4949 return self .user .pk
5050
5151 class Meta :
52- proxy = True
52+ proxy = 'rest_framework.authtoken' in settings .INSTALLED_APPS
53+ abstract = 'rest_framework.authtoken' not in settings .INSTALLED_APPS
5354 verbose_name = "token"
Original file line number Diff line number Diff line change 1+ import importlib
12from io import StringIO
23
34import pytest
45from django .contrib .admin import site
56from django .contrib .auth .models import User
67from django .core .management import CommandError , call_command
7- from django .test import TestCase
8+ from django .test import TestCase , modify_settings
89
910from rest_framework .authtoken .admin import TokenAdmin
1011from rest_framework .authtoken .management .commands .drf_create_token import \
@@ -21,6 +22,14 @@ def setUp(self):
2122 self .user = User .objects .create_user (username = 'test_user' )
2223 self .token = Token .objects .create (key = 'test token' , user = self .user )
2324
25+ def test_authtoken_can_be_imported_when_not_included_in_installed_apps (self ):
26+ import rest_framework .authtoken .models
27+ with modify_settings (INSTALLED_APPS = {'remove' : 'rest_framework.authtoken' }):
28+ importlib .reload (rest_framework .authtoken .models )
29+ # Set the proxy and abstract properties back to the version,
30+ # where authtoken is among INSTALLED_APPS.
31+ importlib .reload (rest_framework .authtoken .models )
32+
2433 def test_model_admin_displayed_fields (self ):
2534 mock_request = object ()
2635 token_admin = TokenAdmin (self .token , self .site )
You can’t perform that action at this time.
0 commit comments