Skip to content

Commit 90d433b

Browse files
committed
Fix tests
1 parent dd6fd51 commit 90d433b

File tree

5 files changed

+59
-56
lines changed

5 files changed

+59
-56
lines changed

example/test_app/tests/test_current_platform.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@ class TestCurrentPlatform(TestCase):
77
def setUp(self) -> None:
88
self.request_factory = RequestFactory()
99

10-
def check_platform(self,user_agent, platform):
11-
request = self.request_factory.get('/', HTTP_USER_AGENT=user_agent)
12-
self.assertEquals(get_current_platform(request), platform)
10+
def check_platform(self, user_agent, platform):
11+
request = self.request_factory.get("/", HTTP_USER_AGENT=user_agent)
12+
self.assertEqual(get_current_platform(request), platform)
1313

1414
def test_mac(self):
1515
self.check_platform("Mozilla/5.0 (Macintosh; Intel Mac OS X 13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5 Safari/605.1.15","Apple")
16+
1617
def test_ios(self):
1718
self.check_platform("Mozilla/5.0 (Macintosh; Intel Mac OS X 13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5 Safari/605.1.15","Apple")
19+
1820
def test_ipad(self):
1921
self.check_platform("Mozilla/5.0 (iPad; CPU OS 16_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5 Mobile/15E148 Safari/604.1","Apple")
2022

example/test_app/tests/test_fido.py

+29-30
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
from base64 import urlsafe_b64encode
33
from importlib import import_module
44

5-
from django.http import HttpRequest
6-
from django.test import RequestFactory,TransactionTestCase, Client
5+
from django.test import RequestFactory, TransactionTestCase, Client
76
from django.urls import reverse
87

98
from django.conf import settings
@@ -15,15 +14,17 @@
1514
def get_server_id(request):
1615
return request.META["SERVER_NAME"] + "1"
1716

17+
1818
def get_server_name(request):
1919
return "MySite"
2020

21-
class test_fido(TransactionTestCase):
21+
22+
class TestFIDO(TransactionTestCase):
2223
def setUp(self) -> None:
2324
from django.contrib.auth import get_user_model
2425
self.user_model = get_user_model()
25-
if self.user_model.objects.filter(username="test").count()==0:
26-
self.user = self.user_model.objects.create_user(username="test",password="test")
26+
if not self.user_model.objects.filter(username="test").exists():
27+
self.user = self.user_model.objects.create_user(username="test", password="test")
2728
else:
2829
self.user = self.user_model.objects.get(username="test")
2930
self.client = Client()
@@ -38,32 +39,30 @@ def setUp(self) -> None:
3839
self.client.post("/auth/login", {"username": "test", "password": "test", 'passkeys': ''})
3940
self.factory = RequestFactory()
4041

41-
4242
def test_key_reg(self):
43-
self.client.post('auth/login',{"usernaame":"test","password":"test","passkeys":""})
43+
self.client.post('auth/login', {"usernaame": "test", "password": "test", "passkeys": ""})
4444
r = self.client.get(reverse('passkeys:reg_begin'))
45-
self.assertEquals(r.status_code, 200)
45+
self.assertEqual(r.status_code, 200)
4646
j = json.loads(r.content)
4747
j['publicKey']['challenge'] = j['publicKey']['challenge'].encode("ascii")
4848
s = SoftWebauthnDevice()
4949
res = s.create(j, "https://" + j["publicKey"]["rp"]["id"])
50-
res["key_name"]="testKey"
50+
res["key_name"] = "testKey"
5151
u = reverse('passkeys:reg_complete')
52-
r = self.client.post(u, data=json.dumps(res),headers={"USER_AGENT":""}, HTTP_USER_AGENT="", content_type="application/json")
52+
r = self.client.post(u, data=json.dumps(res), headers={"USER_AGENT": ""}, HTTP_USER_AGENT="", content_type="application/json")
5353
try:
5454
j = json.loads(r.content)
5555
except Exception:
5656
raise AssertionError("Failed to get the required JSON after reg_completed")
5757
self.assertTrue("status" in j)
5858

59-
self.assertEquals(j["status"], "OK")
60-
self.assertEquals(UserPasskey.objects.latest('id').name, "testKey")
59+
self.assertEqual(j["status"], "OK")
60+
self.assertEqual(UserPasskey.objects.latest('id').name, "testKey")
6161
return s
6262

63-
6463
def test_auto_key_name(self):
6564
r = self.client.get(reverse('passkeys:reg_begin'))
66-
self.assertEquals(r.status_code, 200)
65+
self.assertEqual(r.status_code, 200)
6766
j = json.loads(r.content)
6867
j['publicKey']['challenge'] = j['publicKey']['challenge'].encode("ascii")
6968
s = SoftWebauthnDevice()
@@ -75,8 +74,8 @@ def test_auto_key_name(self):
7574
except Exception:
7675
raise AssertionError("Failed to get the required JSON after reg_completed")
7776
self.assertTrue("status" in j)
78-
self.assertEquals(j["status"], "OK")
79-
self.assertEquals(UserPasskey.objects.latest('id').name,"Apple")
77+
self.assertEqual(j["status"], "OK")
78+
self.assertEqual(UserPasskey.objects.latest('id').name, "Apple")
8079
return s
8180

8281
def test_error_when_no_session(self):
@@ -90,35 +89,35 @@ def test_error_when_no_session(self):
9089
except Exception:
9190
raise AssertionError("Failed to get the required JSON after reg_completed")
9291
self.assertTrue("status" in j)
93-
self.assertEquals(j["status"], "ERR")
94-
self.assertEquals(j["message"], "FIDO Status can't be found, please try again")
92+
self.assertEqual(j["status"], "ERR")
93+
self.assertEqual(j["message"], "FIDO Status can't be found, please try again")
9594

9695
def test_passkey_login(self):
9796
authenticator = self.test_key_reg()
9897
self.client.get('/auth/logout')
9998
r = self.client.get(reverse('passkeys:auth_begin'))
100-
self.assertEquals(r.status_code, 200)
99+
self.assertEqual(r.status_code, 200)
101100
j = json.loads(r.content)
102101
j['publicKey']['challenge'] = j['publicKey']['challenge'].encode("ascii")
103102

104103
res = authenticator.get(j, "https://" + j["publicKey"]["rpId"])
105104
u = reverse('login')
106-
self.client.post(u, {'passkeys': json.dumps(res), "username": "", "password": ""},headers={"USER_AGENT":""}, HTTP_USER_AGENT="")
107-
self.assertTrue(self.client.session.get('_auth_user_id',False))
108-
self.assertTrue(self.client.session.get("passkey",{}).get("passkey",False))
109-
self.assertEquals(self.client.session.get("passkey",{}).get("name"),"testKey")
105+
self.client.post(u, {'passkeys': json.dumps(res), "username": "", "password": ""}, headers={"USER_AGENT": ""}, HTTP_USER_AGENT="")
106+
self.assertTrue(self.client.session.get('_auth_user_id', False))
107+
self.assertTrue(self.client.session.get("passkey", {}).get("passkey", False))
108+
self.assertEqual(self.client.session.get("passkey", {}).get("name"), "testKey")
110109

111110
def test_base_username(self):
112111
authenticator = self.test_key_reg()
113112
self.client.get('/auth/logout')
114113
session = self.session
115-
session["base_username"]= "test"
114+
session["base_username"] = "test"
116115
session.save(must_create=True)
117116
self.client.cookies["sessionid"] = session.session_key
118117
r = self.client.get(reverse('passkeys:auth_begin'))
119-
self.assertEquals(r.status_code, 200)
118+
self.assertEqual(r.status_code, 200)
120119
j = json.loads(r.content)
121-
self.assertEquals(j['publicKey']['allowCredentials'][0]['id'],urlsafe_b64encode(authenticator.credential_id).decode("utf8").strip('='))
120+
self.assertEqual(j['publicKey']['allowCredentials'][0]['id'], urlsafe_b64encode(authenticator.credential_id).decode("utf8").strip('='))
122121

123122
def test_passkey_login_no_session(self):
124123
pass
@@ -128,14 +127,14 @@ def test_server_id_callable(self):
128127
from test_app.tests.test_fido import get_server_id
129128
settings.FIDO_SERVER_ID = get_server_id
130129
r = self.client.get(reverse('passkeys:auth_begin'))
131-
self.assertEquals(r.status_code, 200)
130+
self.assertEqual(r.status_code, 200)
132131
j = json.loads(r.content)
133-
self.assertEquals(j['publicKey']['rpId'],'testserver1')
132+
self.assertEqual(j['publicKey']['rpId'],'testserver1')
134133

135134
def test_server_name_callable(self):
136135
from test_app.tests.test_fido import get_server_name
137136
settings.FIDO_SERVER_NAME = get_server_name
138137
r = self.client.get(reverse('passkeys:reg_begin'))
139-
self.assertEquals(r.status_code, 200)
138+
self.assertEqual(r.status_code, 200)
140139
j = json.loads(r.content)
141-
self.assertEquals(j['publicKey']['rp']["name"],'MySite')
140+
self.assertEqual(j['publicKey']['rp']["name"], 'MySite')
+15-14
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,40 @@
1-
from django.test import RequestFactory,TransactionTestCase, Client
1+
from django.test import RequestFactory, TransactionTestCase, Client
22

3-
class test_passkeys(TransactionTestCase):
3+
4+
class TestPasskeys(TransactionTestCase):
45
def setUp(self) -> None:
56
from django.contrib.auth import get_user_model
67
self.user_model = get_user_model()
7-
self.user = self.user_model.objects.create_user(username="test",password="test")
8+
self.user = self.user_model.objects.create_user(username="test", password="test")
89
self.client = Client()
910
self.factory = RequestFactory()
1011

1112
def test_raiseException(self):
1213
from django.contrib.auth import authenticate
1314
try:
14-
authenticate(request=None,username="test",password="test")
15+
authenticate(request=None, username="test", password="test")
1516
self.assertFalse(True)
1617
except Exception as e:
17-
self.assertEquals(str(e),"request is required for passkeys.backend.PasskeyModelBackend")
18+
self.assertEqual(str(e), "request is required for passkeys.backend.PasskeyModelBackend")
1819

1920
def test_not_add_passkeys_field(self):
20-
request = self.factory.post("/auth/login",{"username":"","password":""})
21+
request = self.factory.post("/auth/login", {"username": "", "password": ""})
2122
from django.contrib.auth import authenticate
2223
try:
23-
user = authenticate(request=request,username="",password="")
24+
user = authenticate(request=request, username="", password="")
2425
self.assertFalse(True)
2526
except Exception as e:
26-
self.assertEquals(str(e),"Can't find 'passkeys' key in request.POST, did you add the hidden input?")
27+
self.assertEqual(str(e), "Can't find 'passkeys' key in request.POST, did you add the hidden input?")
2728

2829
def test_username_password_failed_login(self):
29-
self.client.post("/auth/login",{"username":"test","password":"test123",'passkeys':''})
30-
self.assertFalse(self.client.session.get('_auth_user_id',False))
30+
self.client.post("/auth/login", {"username": "test", "password": "test123", "passkeys": ""})
31+
self.assertFalse(self.client.session.get('_auth_user_id', False))
3132

3233
def test_username_password_login(self):
33-
self.client.post("/auth/login",{"username":"test","password":"test",'passkeys':''})
34-
self.assertTrue(self.client.session.get('_auth_user_id',False))
34+
self.client.post("/auth/login", {"username": "test", "password": "test", "passkeys": ""})
35+
self.assertTrue(self.client.session.get('_auth_user_id', False))
3536
self.assertFalse(self.client.session.get('passkey', {}).get('passkey', False))
3637

3738
def test_no_data(self):
38-
self.client.post("/auth/login",{"username":"","password":"",'passkeys':''})
39-
self.assertFalse(self.client.session.get('_auth_user_id',False))
39+
self.client.post("/auth/login", {"username": "", "password": "", "passkeys": ""})
40+
self.assertFalse(self.client.session.get('_auth_user_id', False))

example/test_app/tests/test_views.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
from django.urls import reverse
33

44
from passkeys.models import UserPasskey
5-
from .test_fido import test_fido
5+
from .test_fido import TestFIDO as test_fido
66

7-
class test_views(TransactionTestCase):
7+
8+
class TestViews(TransactionTestCase):
89

910
def setUp(self) -> None:
1011
from django.contrib.auth import get_user_model
@@ -15,11 +16,11 @@ def setUp(self) -> None:
1516
test = test_fido()
1617
test.setUp()
1718
self.authenticator = test.test_key_reg()
18-
self.client.post("/auth/login", {"username": "test", "password": "test", 'passkeys': ''})
19+
self.client.post("/auth/login", {"username": "test", "password": "test", "passkeys": ""})
1920
self.user = self.user_model.objects.get(username="test")
2021

2122
def test_disabling_key(self):
22-
key =UserPasskey.objects.filter(user=self.user).latest('id')
23+
key = UserPasskey.objects.filter(user=self.user).latest('id')
2324
self.client.get(reverse('passkeys:toggle') + "?id=" + str(key.id))
2425
self.assertFalse(UserPasskey.objects.get(id=key.id).enabled)
2526

@@ -29,7 +30,7 @@ def test_disabling_key(self):
2930
def test_deleting_key(self):
3031
key = UserPasskey.objects.filter(user=self.user).latest('id')
3132
self.client.get(reverse('passkeys:delKey') + "?id=" + str(key.id))
32-
self.assertEquals(UserPasskey.objects.filter(id=key.id).count(), 0)
33+
self.assertFalse(UserPasskey.objects.filter(id=key.id).exists())
3334

3435
def test_wrong_ownership(self):
3536
test = test_fido()
@@ -39,8 +40,7 @@ def test_wrong_ownership(self):
3940
self.user = self.user_model.objects.create_user(username="test2", password="test2")
4041
self.client.post("/auth/login", {"username": "test2", "password": "test2", 'passkeys': ''})
4142
r = self.client.get(reverse('passkeys:delKey') + "?id="+str(key.id))
42-
self.assertEquals(r.status_code, 403)
43-
self.assertEquals(r.content,b"Error: You own this token so you can't delete it")
43+
self.assertEqual(r.status_code, 404)
4444
r = self.client.get(reverse('passkeys:toggle') + "?id=" + str(key.id))
45-
self.assertEquals(r.status_code, 403)
46-
self.assertEquals(r.content, b"Error: You own this token so you can't toggle it")
45+
self.assertEqual(r.status_code, 403)
46+
self.assertEqual(r.content, b"Error: You own this token so you can't toggle it")

tox.ini

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ envlist=
66
py39-django{22,32,40,41,42},
77
py310-django{22,32,40,41,42},
88
py311-django{22,32,40,41,42,50},
9+
py312-django{32,40,41,42,50},
910

1011

1112
[testenv]

0 commit comments

Comments
 (0)