21
21
from unittest import mock
22
22
from urllib .parse import parse_qs , urlparse
23
23
24
+ from django import http
24
25
from django .conf import settings
25
26
from django .contrib .auth import SESSION_KEY , get_user_model
26
27
from django .contrib .auth .models import AnonymousUser
27
28
from django .core .exceptions import ImproperlyConfigured
28
29
from django .test import Client , TestCase , override_settings
29
30
from django .test .client import RequestFactory
30
31
from django .urls import reverse , reverse_lazy
31
- from django .utils .encoding import force_text
32
32
from djangosaml2 import views
33
33
from djangosaml2 .cache import OutstandingQueriesCache
34
34
from djangosaml2 .conf import get_config
@@ -57,6 +57,15 @@ def dummy_loader(request):
57
57
return 'dummy_loader'
58
58
59
59
60
+ def dummy_get_response (request : http .HttpRequest ):
61
+ """
62
+ Return a basic HttpResponse.
63
+
64
+ Function needed to instantiate SamlSessionMiddleware.
65
+ """
66
+ return http .HttpResponse ("Session test" )
67
+
68
+
60
69
non_callable = 'just a string'
61
70
62
71
@@ -433,7 +442,7 @@ def test_assertion_consumer_service(self):
433
442
434
443
# as the RelayState is empty we have redirect to ACS_DEFAULT_REDIRECT_URL
435
444
self .assertRedirects (response , '/dashboard/' )
436
- self .assertEqual (force_text (new_user .id ), client .session [SESSION_KEY ])
445
+ self .assertEqual (str (new_user .id ), client .session [SESSION_KEY ])
437
446
438
447
@override_settings (ACS_DEFAULT_REDIRECT_URL = 'testprofiles:dashboard' )
439
448
def test_assertion_consumer_service_default_relay_state (self ):
@@ -458,7 +467,7 @@ def test_assertion_consumer_service_default_relay_state(self):
458
467
459
468
# The RelayState is missing, redirect to ACS_DEFAULT_REDIRECT_URL
460
469
self .assertRedirects (response , '/dashboard/' )
461
- self .assertEqual (force_text (new_user .id ), self .client .session [SESSION_KEY ])
470
+ self .assertEqual (str (new_user .id ), self .client .session [SESSION_KEY ])
462
471
463
472
def test_assertion_consumer_service_already_logged_in_allowed (self ):
464
473
self .client .force_login (User .objects .create (
@@ -566,7 +575,7 @@ def test_echo_view_no_saml_session(self):
566
575
request .COOKIES = self .client .cookies
567
576
request .user = User .objects .last ()
568
577
569
- middleware = SamlSessionMiddleware ()
578
+ middleware = SamlSessionMiddleware (dummy_get_response )
570
579
middleware .process_request (request )
571
580
572
581
response = EchoAttributesView .as_view ()(request )
@@ -585,7 +594,7 @@ def test_echo_view_success(self):
585
594
request = RequestFactory ().get ('/' )
586
595
request .user = User .objects .last ()
587
596
588
- middleware = SamlSessionMiddleware ()
597
+ middleware = SamlSessionMiddleware (dummy_get_response )
589
598
middleware .process_request (request )
590
599
591
600
saml_session_name = getattr (
@@ -808,7 +817,7 @@ def test_custom_conf_loader_from_view(self):
808
817
config_loader_path = 'djangosaml2.tests.test_config_loader_with_real_conf'
809
818
request = RequestFactory ().get ('/login/' )
810
819
request .user = AnonymousUser ()
811
- middleware = SamlSessionMiddleware ()
820
+ middleware = SamlSessionMiddleware (dummy_get_response )
812
821
middleware .process_request (request )
813
822
814
823
saml_session_name = getattr (
@@ -855,7 +864,7 @@ def test_middleware_cookie_expireatbrowserclose(self):
855
864
request = RequestFactory ().get ('/login/' )
856
865
request .user = AnonymousUser ()
857
866
request .session = session
858
- middleware = SamlSessionMiddleware ()
867
+ middleware = SamlSessionMiddleware (dummy_get_response )
859
868
middleware .process_request (request )
860
869
861
870
saml_session_name = getattr (
@@ -882,7 +891,7 @@ def test_middleware_cookie_with_expiry(self):
882
891
request = RequestFactory ().get ('/login/' )
883
892
request .user = AnonymousUser ()
884
893
request .session = session
885
- middleware = SamlSessionMiddleware ()
894
+ middleware = SamlSessionMiddleware (dummy_get_response )
886
895
middleware .process_request (request )
887
896
888
897
saml_session_name = getattr (
0 commit comments