Skip to content

Commit dae4f31

Browse files
committed
[#2076] Upgrade dependencies and fix tests
* upgrade mayin-2fa to 1.0.0 * upgrade django-otp to 1.3.0
1 parent 4d8dc1a commit dae4f31

File tree

21 files changed

+101
-37
lines changed

21 files changed

+101
-37
lines changed

requirements/base.txt

+11-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
2-
# This file is autogenerated by pip-compile with python 3.11
3-
# To update, run:
2+
# This file is autogenerated by pip-compile with Python 3.11
3+
# by the following command:
44
#
55
# ./bin/compile_dependencies.sh
66
#
@@ -204,7 +204,7 @@ django-ordered-model==3.4.3
204204
# via
205205
# -r requirements/base.in
206206
# django-admin-index
207-
django-otp==1.1.1
207+
django-otp==1.3.0
208208
# via django-two-factor-auth
209209
django-phonenumber-field==5.2.0
210210
# via django-two-factor-auth
@@ -304,7 +304,9 @@ face==20.1.1
304304
fontawesomefree==6.4.2
305305
# via -r requirements/base.in
306306
fonttools[woff]==4.29.1
307-
# via weasyprint
307+
# via
308+
# fonttools
309+
# weasyprint
308310
furl==2.1.3
309311
# via
310312
# -r requirements/base.in
@@ -358,7 +360,7 @@ markdown==3.3.6
358360
# via -r requirements/base.in
359361
markuppy==1.14
360362
# via tablib
361-
maykin-2fa==0.2.0
363+
maykin-2fa==1.0.0
362364
# via -r requirements/base.in
363365
maykin-python3-saml==1.14.0.post0
364366
# via
@@ -382,7 +384,7 @@ orderedmultidict==1.0.1
382384
# via furl
383385
packaging==23.0
384386
# via djangocms-text-ckeditor
385-
phonenumbers==8.12.33
387+
phonenumbers==8.13.29
386388
# via -r requirements/base.in
387389
phonenumberslite==8.13.29
388390
# via django-two-factor-auth
@@ -494,7 +496,9 @@ sqlparse==0.4.4
494496
svglib==1.5.1
495497
# via easy-thumbnails
496498
tablib[html,ods,xls,xlsx,yaml]==3.1.0
497-
# via django-import-export
499+
# via
500+
# django-import-export
501+
# tablib
498502
tinycss2==1.1.1
499503
# via
500504
# -r requirements/base.in

requirements/ci.txt

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
2-
# This file is autogenerated by pip-compile with python 3.11
3-
# To update, run:
2+
# This file is autogenerated by pip-compile with Python 3.11
3+
# by the following command:
44
#
55
# ./bin/compile_dependencies.sh
66
#
@@ -335,7 +335,7 @@ django-ordered-model==3.4.3
335335
# -c requirements/base.txt
336336
# -r requirements/base.txt
337337
# django-admin-index
338-
django-otp==1.1.1
338+
django-otp==1.3.0
339339
# via
340340
# -c requirements/base.txt
341341
# -r requirements/base.txt
@@ -421,6 +421,7 @@ django-two-factor-auth[phonenumberslite,webauthn]==1.15.5
421421
# via
422422
# -c requirements/base.txt
423423
# -r requirements/base.txt
424+
# django-two-factor-auth
424425
# maykin-2fa
425426
django-view-breadcrumbs==2.2.4
426427
# via
@@ -482,6 +483,7 @@ easy-thumbnails[svg]==2.8.5
482483
# -r requirements/base.txt
483484
# django-filer
484485
# djangocms-picture
486+
# easy-thumbnails
485487
ecs-logging==2.1.0
486488
# via
487489
# -c requirements/base.txt
@@ -523,6 +525,7 @@ fonttools[woff]==4.29.1
523525
# via
524526
# -c requirements/base.txt
525527
# -r requirements/base.txt
528+
# fonttools
526529
# weasyprint
527530
freezegun==1.1.0
528531
# via -r requirements/test-tools.in
@@ -633,7 +636,7 @@ markuppy==1.14
633636
# -c requirements/base.txt
634637
# -r requirements/base.txt
635638
# tablib
636-
maykin-2fa==0.2.0
639+
maykin-2fa==1.0.0
637640
# via
638641
# -c requirements/base.txt
639642
# -r requirements/base.txt
@@ -687,7 +690,7 @@ packaging==23.0
687690
# djangocms-text-ckeditor
688691
pep8==1.7.1
689692
# via -r requirements/test-tools.in
690-
phonenumbers==8.12.33
693+
phonenumbers==8.13.29
691694
# via
692695
# -c requirements/base.txt
693696
# -r requirements/base.txt
@@ -892,6 +895,7 @@ tablib[html,ods,xls,xlsx,yaml]==3.1.0
892895
# -c requirements/base.txt
893896
# -r requirements/base.txt
894897
# django-import-export
898+
# tablib
895899
tblib==1.7.0
896900
# via -r requirements/test-tools.in
897901
text-unidecode==1.3

requirements/dev.txt

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
2-
# This file is autogenerated by pip-compile with python 3.11
3-
# To update, run:
2+
# This file is autogenerated by pip-compile with Python 3.11
3+
# by the following command:
44
#
55
# ./bin/compile_dependencies.sh
66
#
@@ -374,7 +374,7 @@ django-ordered-model==3.4.3
374374
# -c requirements/ci.txt
375375
# -r requirements/ci.txt
376376
# django-admin-index
377-
django-otp==1.1.1
377+
django-otp==1.3.0
378378
# via
379379
# -c requirements/ci.txt
380380
# -r requirements/ci.txt
@@ -460,6 +460,7 @@ django-two-factor-auth[phonenumberslite,webauthn]==1.15.5
460460
# via
461461
# -c requirements/ci.txt
462462
# -r requirements/ci.txt
463+
# django-two-factor-auth
463464
# maykin-2fa
464465
django-view-breadcrumbs==2.2.4
465466
# via
@@ -527,6 +528,7 @@ easy-thumbnails[svg]==2.8.5
527528
# -r requirements/ci.txt
528529
# django-filer
529530
# djangocms-picture
531+
# easy-thumbnails
530532
ecs-logging==2.1.0
531533
# via
532534
# -c requirements/ci.txt
@@ -584,6 +586,7 @@ fonttools[woff]==4.29.1
584586
# via
585587
# -c requirements/ci.txt
586588
# -r requirements/ci.txt
589+
# fonttools
587590
# weasyprint
588591
freezegun==1.1.0
589592
# via
@@ -728,7 +731,7 @@ markupsafe==2.1.3
728731
# via
729732
# jinja2
730733
# werkzeug
731-
maykin-2fa==0.2.0
734+
maykin-2fa==1.0.0
732735
# via
733736
# -c requirements/ci.txt
734737
# -r requirements/ci.txt
@@ -800,7 +803,7 @@ pep8==1.7.1
800803
# via
801804
# -c requirements/ci.txt
802805
# -r requirements/ci.txt
803-
phonenumbers==8.12.33
806+
phonenumbers==8.13.29
804807
# via
805808
# -c requirements/ci.txt
806809
# -r requirements/ci.txt
@@ -1060,6 +1063,7 @@ tablib[html,ods,xls,xlsx,yaml]==3.1.0
10601063
# -c requirements/ci.txt
10611064
# -r requirements/ci.txt
10621065
# django-import-export
1066+
# tablib
10631067
tblib==1.7.0
10641068
# via
10651069
# -c requirements/ci.txt

src/open_inwoner/accounts/tests/test_admin.py

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from django.utils.translation import ugettext as _
33

44
from django_webtest import WebTest
5+
from maykin_2fa.test import disable_admin_mfa
56
from webtest import Upload
67

78
from open_inwoner.utils.tests.helpers import create_image_bytes
@@ -11,6 +12,7 @@
1112
from .factories import UserFactory
1213

1314

15+
@disable_admin_mfa()
1416
class TestAdminUser(WebTest):
1517
def setUp(self):
1618
self.user = UserFactory(

src/open_inwoner/accounts/tests/test_logging.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
from django_webtest import WebTest
1313
from freezegun import freeze_time
14+
from maykin_2fa.test import disable_admin_mfa
1415
from privates.test import temp_private_root
1516
from timeline_logger.models import TimelineLog
1617

@@ -30,6 +31,7 @@
3031
)
3132

3233

34+
@disable_admin_mfa()
3335
@freeze_time("2021-10-18 13:00:00")
3436
@override_settings(ROOT_URLCONF="open_inwoner.cms.tests.urls")
3537
class TestProfile(WebTest):
@@ -115,7 +117,11 @@ def test_user_notifications_update_is_logged(self, mock_cms_page_display):
115117
)
116118

117119
def test_login_via_admin_is_logged(self):
118-
self.app.post(reverse("admin:login"), user=self.user)
120+
login_page = self.app.get(reverse("admin:login"))
121+
login_page.form["auth-username"] = self.user.email
122+
login_page.form["auth-password"] = "secret"
123+
login_page.form.submit()
124+
119125
log_entry = TimelineLog.objects.get()
120126

121127
self.assertEqual(

src/open_inwoner/cms/tests/test_middleware.py

+2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22
from django.test import TestCase, override_settings
33
from django.urls import reverse
44

5+
from maykin_2fa.test import disable_admin_mfa
56
from pyquery import PyQuery as pq
67

78
from open_inwoner.cms.tests import cms_tools
89
from open_inwoner.cms.utils.middleware import DropToolbarMiddleware
910
from open_inwoner.utils.tests.helpers import TwoFactorUserTestMixin
1011

1112

13+
@disable_admin_mfa()
1214
@override_settings(TWO_FACTOR_FORCE_OTP_ADMIN=False)
1315
class TestDropToolbarMiddleware(TwoFactorUserTestMixin, TestCase):
1416
@classmethod

src/open_inwoner/conf/dev.py

+4
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,10 @@
144144

145145
TWO_FACTOR_PATCH_ADMIN = False
146146

147+
# Disable two-factor authentication by default for development
148+
if config("DISABLE_2FA", default=True):
149+
MAYKIN_2FA_ALLOW_MFA_BYPASS_BACKENDS = AUTHENTICATION_BACKENDS
150+
147151
# playwright multi browser
148152
PLAYWRIGHT_MULTI_ONLY_DEFAULT = True
149153

src/open_inwoner/configurations/tests/test_admin.py

+3
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33
from django.utils.translation import ugettext_lazy as _
44

55
from django_webtest import WebTest
6+
from maykin_2fa.test import disable_admin_mfa
67
from pyquery import PyQuery
78

89
from open_inwoner.accounts.tests.factories import UserFactory
910

1011
from ..models import SiteConfiguration
1112

1213

14+
@disable_admin_mfa()
1315
class TestAdminSite(WebTest):
1416
csrf_checks = False
1517

@@ -102,6 +104,7 @@ def test_bulk_delete_fail(self):
102104
)
103105

104106

107+
@disable_admin_mfa()
105108
class TestAdminForm(WebTest):
106109
def setUp(self):
107110
self.user = UserFactory(is_superuser=True, is_staff=True)

src/open_inwoner/configurations/tests/test_colors.py

+2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
from django.utils.translation import gettext as _
33

44
from django_webtest import WebTest
5+
from maykin_2fa.test import disable_admin_mfa
56

67
from open_inwoner.accounts.tests.factories import UserFactory
78

89

10+
@disable_admin_mfa()
911
class TestConfigurationColors(WebTest):
1012
def setUp(self):
1113
super().setUp()

src/open_inwoner/configurations/tests/test_oidc.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from django.utils.translation import gettext_lazy as _
33

44
from django_webtest import WebTest
5+
from maykin_2fa.test import disable_admin_mfa
56
from mozilla_django_oidc_db.models import OpenIDConnectConfig
67

78
from open_inwoner.accounts.tests.factories import UserFactory
@@ -11,6 +12,7 @@
1112
from ..choices import OpenIDDisplayChoices
1213

1314

15+
@disable_admin_mfa()
1416
class OIDCConfigTest(ClearCachesMixin, WebTest):
1517
csrf_checks = False
1618

@@ -22,7 +24,7 @@ def setUpTestData(cls):
2224
openid_config.enabled = True
2325
openid_config.save()
2426

25-
def test_admin_only_enabled(self):
27+
def test_admin_only_enlabled(self):
2628
"""Assert that the OIDC login option is only displayed for login via admin"""
2729

2830
config = SiteConfiguration.get_solo()
@@ -39,7 +41,9 @@ def test_admin_only_enabled(self):
3941

4042
oidc_login_option = response.pyquery.find(".admin-login-option")
4143

42-
self.assertEqual(oidc_login_option.text(), _("Login with organization account"))
44+
self.assertEqual(
45+
oidc_login_option.text(), _("of Log in met een organisatieaccount")
46+
)
4347

4448
def test_admin_only_disabled(self):
4549
"""Assert that the OIDC login option is only displayed for regular users"""
@@ -59,7 +63,7 @@ def test_admin_only_disabled(self):
5963
# admin login
6064
response = self.client.get(reverse("admin:login"))
6165

62-
self.assertNotContains(response, _("Login with organization account"))
66+
self.assertNotContains(response, _("of Log in met een organisatieaccount"))
6367

6468
def test_oidc_config_validation(self):
6569
"""

src/open_inwoner/media/tests/test_admin.py

+2
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22

33
from cms.utils.permissions import set_current_user
44
from django_webtest import WebTest
5+
from maykin_2fa.test import disable_admin_mfa
56

67
from open_inwoner.accounts.tests.factories import UserFactory
78

89
from .factories import VideoFactory
910

1011

12+
@disable_admin_mfa()
1113
class VideoAdminTests(WebTest):
1214
def setUp(self):
1315
set_current_user(

src/open_inwoner/openzaak/tests/test_admin.py

+2
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
from django.utils.translation import gettext_lazy as _
33

44
from django_webtest import WebTest
5+
from maykin_2fa.test import disable_admin_mfa
56

67
from open_inwoner.accounts.tests.factories import UserFactory
78

89
from .factories import ZaakTypeConfigFactory, ZaakTypeInformatieObjectTypeConfigFactory
910

1011

12+
@disable_admin_mfa()
1113
class TestZaakTypeConfigAdmin(WebTest):
1214
def setUp(self):
1315
self.user = UserFactory(is_superuser=True, is_staff=True)

src/open_inwoner/pdc/tests/test_category_admin.py

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from django.utils.translation import gettext as _
66

77
from django_webtest import WebTest
8+
from maykin_2fa.test import disable_admin_mfa
89

910
from open_inwoner.accounts.tests.factories import GroupFactory, UserFactory
1011
from open_inwoner.openzaak.tests.factories import ZaakTypeConfigFactory
@@ -13,6 +14,7 @@
1314
from .factories import CategoryFactory
1415

1516

17+
@disable_admin_mfa()
1618
class TestAdminCategoryForm(WebTest):
1719
def setUp(self):
1820
self.user = UserFactory(is_superuser=True, is_staff=True)

0 commit comments

Comments
 (0)