Skip to content

Commit 203cb7d

Browse files
committed
Fix tests
1 parent eb66bab commit 203cb7d

File tree

4 files changed

+58
-56
lines changed

4 files changed

+58
-56
lines changed

example/test_app/tests/test_current_platform.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,16 @@ def setUp(self) -> None:
99
if not getattr(self, "assertEquals", None):
1010
self.assertEquals = self.assertEqual
1111

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

1616
def test_mac(self):
1717
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")
18+
1819
def test_ios(self):
1920
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")
21+
2022
def test_ipad(self):
2123
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")
2224

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,17 +14,19 @@
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
if not getattr(self,"assertEquals",None):
2425
self.assertEquals = self.assertEqual
2526
from django.contrib.auth import get_user_model
2627
self.user_model = get_user_model()
27-
if self.user_model.objects.filter(username="test").count()==0:
28-
self.user = self.user_model.objects.create_user(username="test",password="test")
28+
if not self.user_model.objects.filter(username="test").exists():
29+
self.user = self.user_model.objects.create_user(username="test", password="test")
2930
else:
3031
self.user = self.user_model.objects.get(username="test")
3132
self.client = Client()
@@ -40,32 +41,30 @@ def setUp(self) -> None:
4041
self.client.post("/auth/login", {"username": "test", "password": "test", 'passkeys': ''})
4142
self.factory = RequestFactory()
4243

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

61-
self.assertEquals(j["status"], "OK")
62-
self.assertEquals(UserPasskey.objects.latest('id').name, "testKey")
61+
self.assertEqual(j["status"], "OK")
62+
self.assertEqual(UserPasskey.objects.latest('id').name, "testKey")
6363
return s
6464

65-
6665
def test_auto_key_name(self):
6766
r = self.client.get(reverse('passkeys:reg_begin'))
68-
self.assertEquals(r.status_code, 200)
67+
self.assertEqual(r.status_code, 200)
6968
j = json.loads(r.content)
7069
j['publicKey']['challenge'] = j['publicKey']['challenge'].encode("ascii")
7170
s = SoftWebauthnDevice()
@@ -77,8 +76,8 @@ def test_auto_key_name(self):
7776
except Exception:
7877
raise AssertionError("Failed to get the required JSON after reg_completed")
7978
self.assertTrue("status" in j)
80-
self.assertEquals(j["status"], "OK")
81-
self.assertEquals(UserPasskey.objects.latest('id').name,"Apple")
79+
self.assertEqual(j["status"], "OK")
80+
self.assertEqual(UserPasskey.objects.latest('id').name, "Apple")
8281
return s
8382

8483
def test_error_when_no_session(self):
@@ -92,35 +91,35 @@ def test_error_when_no_session(self):
9291
except Exception:
9392
raise AssertionError("Failed to get the required JSON after reg_completed")
9493
self.assertTrue("status" in j)
95-
self.assertEquals(j["status"], "ERR")
96-
self.assertEquals(j["message"], "FIDO Status can't be found, please try again")
94+
self.assertEqual(j["status"], "ERR")
95+
self.assertEqual(j["message"], "FIDO Status can't be found, please try again")
9796

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

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

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

125124
def test_passkey_login_no_session(self):
126125
pass
@@ -130,14 +129,14 @@ def test_server_id_callable(self):
130129
from test_app.tests.test_fido import get_server_id
131130
settings.FIDO_SERVER_ID = get_server_id
132131
r = self.client.get(reverse('passkeys:auth_begin'))
133-
self.assertEquals(r.status_code, 200)
132+
self.assertEqual(r.status_code, 200)
134133
j = json.loads(r.content)
135-
self.assertEquals(j['publicKey']['rpId'],'testserver1')
134+
self.assertEqual(j['publicKey']['rpId'],'testserver1')
136135

137136
def test_server_name_callable(self):
138137
from test_app.tests.test_fido import get_server_name
139138
settings.FIDO_SERVER_NAME = get_server_name
140139
r = self.client.get(reverse('passkeys:reg_begin'))
141-
self.assertEquals(r.status_code, 200)
140+
self.assertEqual(r.status_code, 200)
142141
j = json.loads(r.content)
143-
self.assertEquals(j['publicKey']['rp']["name"],'MySite')
142+
self.assertEqual(j['publicKey']['rp']["name"], 'MySite')
+15-14
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,43 @@
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
if not getattr(self, "assertEquals", None):
78
self.assertEquals = self.assertEqual
89

910
self.user_model = get_user_model()
10-
self.user = self.user_model.objects.create_user(username="test",password="test")
11+
self.user = self.user_model.objects.create_user(username="test", password="test")
1112
self.client = Client()
1213
self.factory = RequestFactory()
1314

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

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

3132
def test_username_password_failed_login(self):
32-
self.client.post("/auth/login",{"username":"test","password":"test123",'passkeys':''})
33-
self.assertFalse(self.client.session.get('_auth_user_id',False))
33+
self.client.post("/auth/login", {"username": "test", "password": "test123", "passkeys": ""})
34+
self.assertFalse(self.client.session.get('_auth_user_id', False))
3435

3536
def test_username_password_login(self):
36-
self.client.post("/auth/login",{"username":"test","password":"test",'passkeys':''})
37-
self.assertTrue(self.client.session.get('_auth_user_id',False))
37+
self.client.post("/auth/login", {"username": "test", "password": "test", "passkeys": ""})
38+
self.assertTrue(self.client.session.get('_auth_user_id', False))
3839
self.assertFalse(self.client.session.get('passkey', {}).get('passkey', False))
3940

4041
def test_no_data(self):
41-
self.client.post("/auth/login",{"username":"","password":"",'passkeys':''})
42-
self.assertFalse(self.client.session.get('_auth_user_id',False))
42+
self.client.post("/auth/login", {"username": "", "password": "", "passkeys": ""})
43+
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
@@ -18,11 +19,11 @@ def setUp(self) -> None:
1819
test = test_fido()
1920
test.setUp()
2021
self.authenticator = test.test_key_reg()
21-
self.client.post("/auth/login", {"username": "test", "password": "test", 'passkeys': ''})
22+
self.client.post("/auth/login", {"username": "test", "password": "test", "passkeys": ""})
2223
self.user = self.user_model.objects.get(username="test")
2324

2425
def test_disabling_key(self):
25-
key =UserPasskey.objects.filter(user=self.user).latest('id')
26+
key = UserPasskey.objects.filter(user=self.user).latest('id')
2627
self.client.get(reverse('passkeys:toggle') + "?id=" + str(key.id))
2728
self.assertFalse(UserPasskey.objects.get(id=key.id).enabled)
2829

@@ -32,7 +33,7 @@ def test_disabling_key(self):
3233
def test_deleting_key(self):
3334
key = UserPasskey.objects.filter(user=self.user).latest('id')
3435
self.client.get(reverse('passkeys:delKey') + "?id=" + str(key.id))
35-
self.assertEquals(UserPasskey.objects.filter(id=key.id).count(), 0)
36+
self.assertFalse(UserPasskey.objects.filter(id=key.id).exists())
3637

3738
def test_wrong_ownership(self):
3839
test = test_fido()
@@ -42,8 +43,7 @@ def test_wrong_ownership(self):
4243
self.user = self.user_model.objects.create_user(username="test2", password="test2")
4344
self.client.post("/auth/login", {"username": "test2", "password": "test2", 'passkeys': ''})
4445
r = self.client.get(reverse('passkeys:delKey') + "?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 delete it")
46+
self.assertEqual(r.status_code, 404)
4747
r = self.client.get(reverse('passkeys:toggle') + "?id=" + str(key.id))
48-
self.assertEquals(r.status_code, 403)
49-
self.assertEquals(r.content, b"Error: You own this token so you can't toggle it")
48+
self.assertEqual(r.status_code, 403)
49+
self.assertEqual(r.content, b"Error: You own this token so you can't toggle it")

0 commit comments

Comments
 (0)