code formatting

This commit is contained in:
Hugh Rundle 2022-09-24 15:57:16 +10:00
parent b63d4bec60
commit 9d36722783
3 changed files with 14 additions and 13 deletions

View file

@ -29,7 +29,7 @@ class LoginViews(TestCase):
"password",
local=True,
localname="mouse",
two_factor_auth=False
two_factor_auth=False,
)
self.rat = models.User.objects.create_user(
"rat@your.domain.here",
@ -44,7 +44,7 @@ class LoginViews(TestCase):
"password",
local=True,
localname="badger",
two_factor_auth=True
two_factor_auth=True,
)
self.anonymous_user = AnonymousUser
self.anonymous_user.is_authenticated = False

View file

@ -34,8 +34,7 @@ class TwoFactorViews(TestCase):
two_factor_auth=True,
otp_secret="UEWMVJHO23G5XLMVSOCL6TNTSSACJH2X",
hotp_secret="DRMNMOU7ZRKH5YPW7PADOEYUF7MRIH46",
hotp_count=0
hotp_count=0,
)
self.anonymous_user = AnonymousUser
self.anonymous_user.is_authenticated = False
@ -74,7 +73,7 @@ class TwoFactorViews(TestCase):
"""check 2FA login works"""
view = views.Confirm2FA.as_view()
form = forms.Confirm2FAForm()
totp = pyotp.TOTP('UEWMVJHO23G5XLMVSOCL6TNTSSACJH2X')
totp = pyotp.TOTP("UEWMVJHO23G5XLMVSOCL6TNTSSACJH2X")
form.data["otp"] = totp.now()
request = self.factory.post("", form.data)
request.user = self.local_user
@ -84,7 +83,6 @@ class TwoFactorViews(TestCase):
self.assertIsInstance(result, TemplateResponse)
self.assertEqual(result.status_code, 200)
def test_get_disable_2fa(self, *_):
"""there are so many views, this just makes sure it LOADS"""
view = views.Disable2FA.as_view()
@ -149,8 +147,8 @@ class TwoFactorViews(TestCase):
middleware = SessionMiddleware(request)
middleware.process_request(request)
request.session['2fa_auth_time'] = time.time()
request.session['2fa_user'] = self.local_user.username
request.session["2fa_auth_time"] = time.time()
request.session["2fa_user"] = self.local_user.username
request.session.save()
with patch("bookwyrm.views.preferences.two_factor_auth.LoginWith2FA"):
@ -158,14 +156,14 @@ class TwoFactorViews(TestCase):
self.assertEqual(result.status_code, 200)
self.assertEqual(
result.context_data["form"]["otp"].errors[0],
'Incorrect code',
"Incorrect code",
)
def test_post_login_with_2fa_expired(self, *_):
"""check 2FA login fails"""
view = views.LoginWith2FA.as_view()
form = forms.Confirm2FAForm()
totp = pyotp.TOTP('UEWMVJHO23G5XLMVSOCL6TNTSSACJH2X')
totp = pyotp.TOTP("UEWMVJHO23G5XLMVSOCL6TNTSSACJH2X")
form.data["otp"] = totp.now()
request = self.factory.post("", form.data)
@ -173,14 +171,15 @@ class TwoFactorViews(TestCase):
middleware = SessionMiddleware(request)
middleware.process_request(request)
request.session['2fa_user'] = self.local_user.username
request.session['2fa_auth_time'] = "1663977030"
request.session["2fa_user"] = self.local_user.username
request.session["2fa_auth_time"] = "1663977030"
with patch("bookwyrm.views.preferences.two_factor_auth.LoginWith2FA"):
result = view(request)
self.assertEqual(result.url, "/")
self.assertEqual(result.status_code, 302)
"""
Edit2FA
- get

View file

@ -109,7 +109,9 @@ class LoginWith2FA(View):
def post(self, request):
"""Check 2FA code and allow/disallow login"""
user = models.User.objects.get(username=request.session["2fa_user"])
elapsed_time = datetime.now() - datetime.fromtimestamp(int(request.session["2fa_auth_time"]))
elapsed_time = datetime.now() - datetime.fromtimestamp(
int(request.session["2fa_auth_time"])
)
form = forms.Confirm2FAForm(request.POST, instance=user)
# don't allow the login credentials to last too long before completing login
if elapsed_time > timedelta(seconds=60):