Exemple #1
0
 def test_works_correctly_with_post(self):
     request = HttpRequest()
     request.method = 'POST'
     request.session = {}
     request.POST = {
         'SAMLRequest': encode_saml(expected_result),
         'RelayState': 'Test Relay State'
     }
     store_params_in_session(request)
     expected_session = {
         'Binding': BINDING_HTTP_POST,
         'SAMLRequest': encode_saml(expected_result),
         'RelayState': 'Test Relay State'
     }
     assert all(item in request.session.items()
                for item in expected_session.items())
Exemple #2
0
 def test_works_correctly_with_get(self):
     store_params_in_session(sample_get_request)
     expected_session = {
         'Binding': BINDING_HTTP_REDIRECT,
         'SAMLRequest': encode_saml(expected_result),
         'RelayState': 'Test Relay State'
     }
     assert all(item in sample_get_request.session.items()
                for item in expected_session.items())
Exemple #3
0
def get_saml_logout_request(id="Request ID",
                            format=saml.NAMEID_FORMAT_UNSPECIFIED,
                            name_id="user1"):
    xml_template = """<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="{}" Version="2.0" IssueInstant="{}" Destination="{}"><saml:Issuer>{}</saml:Issuer><saml:NameID SPNameQualifier="{}metadata.php" Format="{}">{}</saml:NameID></samlp:LogoutRequest>""".format(
        id,
        timezone.now().strftime("%Y-%m-%dT%H:%M:%SZ"),
        "http://localhost:9000/idp/slo/redirect", "test_generic_sp",
        "test_generic_sp", format, name_id)
    return encode_saml(xml_template, use_zlib=True)
Exemple #4
0
def sample_get_request(saml_request_minimal) -> HttpRequest:
    request = HttpRequest()
    request.method = 'GET'
    request.session = {}
    request.GET = {
        'SAMLRequest': encode_saml(saml_request_minimal),
        'RelayState': 'Test Relay State'
    }
    return request
Exemple #5
0
 def test_with_internal_saml_response_zlib(self, saml_request_minimal):
     assert repr_saml(
         encode_saml(saml_request_minimal,
                     use_zlib=True)) == self.prettify(saml_request_minimal)
Exemple #6
0
 def test_with_minimal_saml_request_b64(self, saml_request_minimal):
     assert repr_saml(encode_saml(saml_request_minimal),
                      b64=True) == self.prettify(saml_request_minimal)
Exemple #7
0
expected_result_file = open(FILE_PREFIX +
                            "xml/min/request/sample_saml_request_minimal.xml")
expected_result = expected_result_file.readline()
expected_result_pretty = xml.dom.minidom.parseString(
    expected_result).toprettyxml()
expected_result_file.close()

with open(FILE_PREFIX +
          "xml/metadata/sp_metadata.xml") as sp_metadata_xml_file:
    sp_metadata_xml = ''.join(sp_metadata_xml_file.readlines())

sample_get_request = HttpRequest()
sample_get_request.method = 'GET'
sample_get_request.session = {}
sample_get_request.GET = {
    'SAMLRequest': encode_saml(expected_result),
    'RelayState': 'Test Relay State'
}


def get_logged_in_request():
    request = HttpRequest()
    request.session = SessionStore()
    username = "******"
    password = "******"
    User.objects.create_user(username=username, password=password)
    user = authenticate(username=username, password=password)
    if user is not None:
        login(request, user)
    request.method = 'GET'
    request.user = user
Exemple #8
0
 def test_with_internal_saml_response_zlib(self):
     assert repr_saml(encode_saml(expected_result, use_zlib=True)) == expected_result_pretty
Exemple #9
0
 def test_with_minimal_saml_request_b64(self):
     assert repr_saml(encode_saml(expected_result), b64=True) == expected_result_pretty