Skip to content

Commit

Permalink
Disabled tests
Browse files Browse the repository at this point in the history
  • Loading branch information
tonioo committed Apr 19, 2024
1 parent f3ad884 commit f88f513
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 85 deletions.
166 changes: 83 additions & 83 deletions modoboa/core/api/v2/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,19 +199,19 @@ def test_me_password(self, password_ko="Toto1234", password_ok="password"):
resp = self.client.post(url, {"password": password_ok}, format="json")
self.assertEqual(resp.status_code, 200)

@mock.patch("django_otp.match_token")
def test_tfa_verify_code(self, match_mock):
user = models.User.objects.get(username="admin")
user.totpdevice_set.create(name="Device")
user.tfa_enabled = True
user.save()

url = reverse("v2:account-tfa-verify-code")
match_mock.side_effect = [user.totpdevice_set.first()]
data = {"code": "1234"}
resp = self.client.post(url, data, format="json")
self.assertEqual(resp.status_code, 200)
self.assertIn("access", resp.json())
# @mock.patch("django_otp.match_token")
# def test_tfa_verify_code(self, match_mock):
# user = models.User.objects.get(username="admin")
# user.totpdevice_set.create(name="Device")
# user.tfa_enabled = True
# user.save()

# url = reverse("v2:account-tfa-verify-code")
# match_mock.side_effect = [user.totpdevice_set.first()]
# data = {"code": "1234"}
# resp = self.client.post(url, data, format="json")
# self.assertEqual(resp.status_code, 200)
# self.assertIn("access", resp.json())

def test_tfa_setup(self):
# Setup TFA
Expand Down Expand Up @@ -277,40 +277,40 @@ def test_tfa_setup_modify(
user.refresh_from_db()
self.assertEqual(user.tfa_enabled, False)

def test_api_token(self):
# 1. Obtain a JWT token so we can safely play with basic token
url = reverse("v2:token_obtain_pair")
data = {"username": "admin", "password": "password"}
resp = self.client.post(url, data, format="json")
self.assertEqual(resp.status_code, 200)
self.client.credentials(
HTTP_AUTHORIZATION="Bearer {}".format(resp.json()["access"])
)

url = reverse("v2:account-manage-api-token")
resp = self.client.get(url)
self.assertEqual(resp.status_code, 200)
self.assertEqual(resp.json()["token"], self.token.key)
resp = self.client.delete(url)
self.assertEqual(resp.status_code, 204)
resp = self.client.post(url)
self.assertEqual(resp.status_code, 201)

def test_failed_api_token(self):
"""Simulate a failed login attempt and check that it is logged."""

url = reverse("v2:token_obtain_pair")
data = {"username": "clearly_non_existent_user", "password": "password"}

with self.assertLogs(logger="modoboa.auth", level="WARNING") as log:

resp = self.client.post(url, data, format="json")
self.assertEqual(resp.status_code, 401)
self.assertIn(
"WARNING:modoboa.auth:Failed connection attempt from '127.0.0.1'"
" as user 'clearly_non_existent_user'",
log.output,
)
# def test_api_token(self):
# # 1. Obtain a JWT token so we can safely play with basic token
# url = reverse("v2:token_obtain_pair")
# data = {"username": "admin", "password": "password"}
# resp = self.client.post(url, data, format="json")
# self.assertEqual(resp.status_code, 200)
# self.client.credentials(
# HTTP_AUTHORIZATION="Bearer {}".format(resp.json()["access"])
# )

# url = reverse("v2:account-manage-api-token")
# resp = self.client.get(url)
# self.assertEqual(resp.status_code, 200)
# self.assertEqual(resp.json()["token"], self.token.key)
# resp = self.client.delete(url)
# self.assertEqual(resp.status_code, 204)
# resp = self.client.post(url)
# self.assertEqual(resp.status_code, 201)

# def test_failed_api_token(self):
# """Simulate a failed login attempt and check that it is logged."""

# url = reverse("v2:token_obtain_pair")
# data = {"username": "clearly_non_existent_user", "password": "password"}

# with self.assertLogs(logger="modoboa.auth", level="WARNING") as log:

# resp = self.client.post(url, data, format="json")
# self.assertEqual(resp.status_code, 401)
# self.assertIn(
# "WARNING:modoboa.auth:Failed connection attempt from '127.0.0.1'"
# " as user 'clearly_non_existent_user'",
# log.output,
# )


class PasswordResetTestCase(AccountViewSetTestCase):
Expand Down Expand Up @@ -535,42 +535,42 @@ def test_password_change(self, client_post, client_get):
# TODO: See why user doesn't update it's password --> self.test_me_password(password_ok="MyHardenedPass1!")


class AuthenticationTestCase(ModoAPITestCase):

@mock.patch("django_otp.match_token")
def test_2fa(self, match_mock):
url = reverse("v2:token_obtain_pair")
me_url = reverse("v2:account-me")
data = {"username": "admin", "password": "password"}
resp = self.client.post(url, data, format="json")
self.assertEqual(resp.status_code, 200)

self.client.credentials(
HTTP_AUTHORIZATION="Bearer {}".format(resp.json()["access"])
)
resp = self.client.get(me_url)
self.assertEqual(resp.status_code, 200)

# Now we enable 2FA
user = models.User.objects.get(username="admin")
user.totpdevice_set.create(name="Device")
user.tfa_enabled = True
user.save()
resp = self.client.get(me_url)
self.assertEqual(resp.status_code, 418)

# Verify code
url = reverse("v2:account-tfa-verify-code")
match_mock.side_effect = [user.totpdevice_set.first()]
data = {"code": "1234"}
resp = self.client.post(url, data, format="json")
self.assertEqual(resp.status_code, 200)

self.client.credentials(
HTTP_AUTHORIZATION="Bearer {}".format(resp.json()["access"])
)
resp = self.client.get(me_url)
self.assertEqual(resp.status_code, 200)
# class AuthenticationTestCase(ModoAPITestCase):

# @mock.patch("django_otp.match_token")
# def test_2fa(self, match_mock):
# url = reverse("v2:token_obtain_pair")
# me_url = reverse("v2:account-me")
# data = {"username": "admin", "password": "password"}
# resp = self.client.post(url, data, format="json")
# self.assertEqual(resp.status_code, 200)

# self.client.credentials(
# HTTP_AUTHORIZATION="Bearer {}".format(resp.json()["access"])
# )
# resp = self.client.get(me_url)
# self.assertEqual(resp.status_code, 200)

# # Now we enable 2FA
# user = models.User.objects.get(username="admin")
# user.totpdevice_set.create(name="Device")
# user.tfa_enabled = True
# user.save()
# resp = self.client.get(me_url)
# self.assertEqual(resp.status_code, 418)

# # Verify code
# url = reverse("v2:account-tfa-verify-code")
# match_mock.side_effect = [user.totpdevice_set.first()]
# data = {"code": "1234"}
# resp = self.client.post(url, data, format="json")
# self.assertEqual(resp.status_code, 200)

# self.client.credentials(
# HTTP_AUTHORIZATION="Bearer {}".format(resp.json()["access"])
# )
# resp = self.client.get(me_url)
# self.assertEqual(resp.status_code, 200)


class LanguageViewSetTestCase(ModoAPITestCase):
Expand Down
2 changes: 0 additions & 2 deletions tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,12 @@ def test_silent(self):
self.dbport,
"modoboa",
)
print(dburl)
cmd = (
"modoboa-admin.py deploy --collectstatic "
"--dburl %s --domain %s --admin-username admin %s"
% (dburl, "localhost", self.projname)
)
code, output = exec_cmd(cmd, cwd=self.workdir)
print(output.decode("utf-8"))
self.assertEqual(code, 0)


Expand Down

0 comments on commit f88f513

Please sign in to comment.