From d9dbf3b2352229da79e0d56d2060a2d84c78998b Mon Sep 17 00:00:00 2001 From: Mohamed ElKalioby Date: Fri, 27 Sep 2024 10:37:42 +0300 Subject: [PATCH] Added Django5.1 and moved to assertEqual on all Versions --- .../test_app/tests/test_current_platform.py | 6 ++-- example/test_app/tests/test_fido.py | 35 +++++++++---------- example/test_app/tests/test_passkeys.py | 6 ++-- example/test_app/tests/test_views.py | 13 +++---- tox.ini | 7 ++-- 5 files changed, 31 insertions(+), 36 deletions(-) diff --git a/example/test_app/tests/test_current_platform.py b/example/test_app/tests/test_current_platform.py index f9a4944..5988f38 100644 --- a/example/test_app/tests/test_current_platform.py +++ b/example/test_app/tests/test_current_platform.py @@ -6,12 +6,12 @@ class TestCurrentPlatform(TestCase): def setUp(self) -> None: self.request_factory = RequestFactory() - if not getattr(self, "assertEquals", None): - self.assertEquals = self.assertEqual + # if not getattr(self, "assertEquals", None): + # self.assertEquals = self.assertEqual def check_platform(self,user_agent, platform): request = self.request_factory.get('/', HTTP_USER_AGENT=user_agent) - self.assertEquals(get_current_platform(request), platform) + self.assertEqual(get_current_platform(request), platform) def test_mac(self): 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") diff --git a/example/test_app/tests/test_fido.py b/example/test_app/tests/test_fido.py index aafe611..b929db4 100644 --- a/example/test_app/tests/test_fido.py +++ b/example/test_app/tests/test_fido.py @@ -20,8 +20,7 @@ def get_server_name(request): class test_fido(TransactionTestCase): def setUp(self) -> None: - if not getattr(self,"assertEquals",None): - self.assertEquals = self.assertEqual + from django.contrib.auth import get_user_model self.user_model = get_user_model() if self.user_model.objects.filter(username="test").count()==0: @@ -44,7 +43,7 @@ def setUp(self) -> None: def test_key_reg(self): self.client.post('auth/login',{"usernaame":"test","password":"test","passkeys":""}) r = self.client.get(reverse('passkeys:reg_begin')) - self.assertEquals(r.status_code, 200) + self.assertEqual(r.status_code, 200) j = json.loads(r.content) j['publicKey']['challenge'] = j['publicKey']['challenge'].encode("ascii") s = SoftWebauthnDevice() @@ -58,14 +57,14 @@ def test_key_reg(self): raise AssertionError("Failed to get the required JSON after reg_completed") self.assertTrue("status" in j) - self.assertEquals(j["status"], "OK") - self.assertEquals(UserPasskey.objects.latest('id').name, "testKey") + self.assertEqual(j["status"], "OK") + self.assertEqual(UserPasskey.objects.latest('id').name, "testKey") return s def test_auto_key_name(self): r = self.client.get(reverse('passkeys:reg_begin')) - self.assertEquals(r.status_code, 200) + self.assertEqual(r.status_code, 200) j = json.loads(r.content) j['publicKey']['challenge'] = j['publicKey']['challenge'].encode("ascii") s = SoftWebauthnDevice() @@ -77,8 +76,8 @@ def test_auto_key_name(self): except Exception: raise AssertionError("Failed to get the required JSON after reg_completed") self.assertTrue("status" in j) - self.assertEquals(j["status"], "OK") - self.assertEquals(UserPasskey.objects.latest('id').name,"Apple") + self.assertEqual(j["status"], "OK") + self.assertEqual(UserPasskey.objects.latest('id').name,"Apple") return s def test_error_when_no_session(self): @@ -92,14 +91,14 @@ def test_error_when_no_session(self): except Exception: raise AssertionError("Failed to get the required JSON after reg_completed") self.assertTrue("status" in j) - self.assertEquals(j["status"], "ERR") - self.assertEquals(j["message"], "FIDO Status can't be found, please try again") + self.assertEqual(j["status"], "ERR") + self.assertEqual(j["message"], "FIDO Status can't be found, please try again") def test_passkey_login(self): authenticator = self.test_key_reg() self.client.get('/auth/logout') r = self.client.get(reverse('passkeys:auth_begin')) - self.assertEquals(r.status_code, 200) + self.assertEqual(r.status_code, 200) j = json.loads(r.content) j['publicKey']['challenge'] = j['publicKey']['challenge'].encode("ascii") @@ -108,7 +107,7 @@ def test_passkey_login(self): self.client.post(u, {'passkeys': json.dumps(res), "username": "", "password": ""},headers={"USER_AGENT":""}, HTTP_USER_AGENT="") self.assertTrue(self.client.session.get('_auth_user_id',False)) self.assertTrue(self.client.session.get("passkey",{}).get("passkey",False)) - self.assertEquals(self.client.session.get("passkey",{}).get("name"),"testKey") + self.assertEqual(self.client.session.get("passkey",{}).get("name"),"testKey") def test_base_username(self): authenticator = self.test_key_reg() @@ -118,9 +117,9 @@ def test_base_username(self): session.save(must_create=True) self.client.cookies["sessionid"] = session.session_key r = self.client.get(reverse('passkeys:auth_begin')) - self.assertEquals(r.status_code, 200) + self.assertEqual(r.status_code, 200) j = json.loads(r.content) - self.assertEquals(j['publicKey']['allowCredentials'][0]['id'],urlsafe_b64encode(authenticator.credential_id).decode("utf8").strip('=')) + self.assertEqual(j['publicKey']['allowCredentials'][0]['id'],urlsafe_b64encode(authenticator.credential_id).decode("utf8").strip('=')) def test_passkey_login_no_session(self): pass @@ -130,14 +129,14 @@ def test_server_id_callable(self): from test_app.tests.test_fido import get_server_id settings.FIDO_SERVER_ID = get_server_id r = self.client.get(reverse('passkeys:auth_begin')) - self.assertEquals(r.status_code, 200) + self.assertEqual(r.status_code, 200) j = json.loads(r.content) - self.assertEquals(j['publicKey']['rpId'],'testserver1') + self.assertEqual(j['publicKey']['rpId'],'testserver1') def test_server_name_callable(self): from test_app.tests.test_fido import get_server_name settings.FIDO_SERVER_NAME = get_server_name r = self.client.get(reverse('passkeys:reg_begin')) - self.assertEquals(r.status_code, 200) + self.assertEqual(r.status_code, 200) j = json.loads(r.content) - self.assertEquals(j['publicKey']['rp']["name"],'MySite') + self.assertEqual(j['publicKey']['rp']["name"],'MySite') diff --git a/example/test_app/tests/test_passkeys.py b/example/test_app/tests/test_passkeys.py index 81c3dba..7ba3558 100644 --- a/example/test_app/tests/test_passkeys.py +++ b/example/test_app/tests/test_passkeys.py @@ -3,8 +3,6 @@ class test_passkeys(TransactionTestCase): def setUp(self) -> None: from django.contrib.auth import get_user_model - if not getattr(self, "assertEquals", None): - self.assertEquals = self.assertEqual self.user_model = get_user_model() self.user = self.user_model.objects.create_user(username="test",password="test") @@ -17,7 +15,7 @@ def test_raiseException(self): authenticate(request=None,username="test",password="test") self.assertFalse(True) except Exception as e: - self.assertEquals(str(e),"request is required for passkeys.backend.PasskeyModelBackend") + self.assertEqual(str(e),"request is required for passkeys.backend.PasskeyModelBackend") def test_not_add_passkeys_field(self): request = self.factory.post("/auth/login",{"username":"","password":""}) @@ -26,7 +24,7 @@ def test_not_add_passkeys_field(self): user = authenticate(request=request,username="",password="") self.assertFalse(True) except Exception as e: - self.assertEquals(str(e),"Can't find 'passkeys' key in request.POST, did you add the hidden input?") + self.assertEqual(str(e),"Can't find 'passkeys' key in request.POST, did you add the hidden input?") def test_username_password_failed_login(self): self.client.post("/auth/login",{"username":"test","password":"test123",'passkeys':''}) diff --git a/example/test_app/tests/test_views.py b/example/test_app/tests/test_views.py index a93055b..c517108 100644 --- a/example/test_app/tests/test_views.py +++ b/example/test_app/tests/test_views.py @@ -8,9 +8,6 @@ class test_views(TransactionTestCase): def setUp(self) -> None: from django.contrib.auth import get_user_model - if not getattr(self, "assertEquals", None): - self.assertEquals = self.assertEqual - self.user_model = get_user_model() #self.user = self.user_model.objects.create_user(username="test", password="test") self.client = Client() @@ -32,7 +29,7 @@ def test_disabling_key(self): def test_deleting_key(self): key = UserPasskey.objects.filter(user=self.user).latest('id') self.client.get(reverse('passkeys:delKey') + "?id=" + str(key.id)) - self.assertEquals(UserPasskey.objects.filter(id=key.id).count(), 0) + self.assertEqual(UserPasskey.objects.filter(id=key.id).count(), 0) def test_wrong_ownership(self): test = test_fido() @@ -42,8 +39,8 @@ def test_wrong_ownership(self): self.user = self.user_model.objects.create_user(username="test2", password="test2") self.client.post("/auth/login", {"username": "test2", "password": "test2", 'passkeys': ''}) r = self.client.get(reverse('passkeys:delKey') + "?id="+str(key.id)) - self.assertEquals(r.status_code, 403) - self.assertEquals(r.content,b"Error: You own this token so you can't delete it") + self.assertEqual(r.status_code, 403) + self.assertEqual(r.content,b"Error: You own this token so you can't delete it") r = self.client.get(reverse('passkeys:toggle') + "?id=" + str(key.id)) - self.assertEquals(r.status_code, 403) - self.assertEquals(r.content, b"Error: You own this token so you can't toggle it") + self.assertEqual(r.status_code, 403) + self.assertEqual(r.content, b"Error: You own this token so you can't toggle it") diff --git a/tox.ini b/tox.ini index 22d1636..c9d2394 100644 --- a/tox.ini +++ b/tox.ini @@ -4,9 +4,9 @@ envlist= py37-django{20,21,22,32}, py38-django{22,32,40,41,42}, py39-django{22,32,40,41,42}, - py310-django{22,32,40,41,42,50}, - py311-django{22,32,40,41,42,50}, - py312-django{41,42,50}, + py310-django{22,32,40,41,42,50,51}, + py311-django{22,32,40,41,42,50,51}, + py312-django{41,42,50,51}, [testenv] @@ -19,6 +19,7 @@ deps = django41: django>=4.1,<4.2 django42: django>=4.2,<4.3 django50: django>=5.0,<5.1 + django51: django>=5.1,<5.2 ua-parser user-agents django-sslserver