1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
from saml2 import saml
from saml2.argtree import add_path
from saml2.argtree import find_paths
from saml2.argtree import is_set
from saml2.argtree import set_arg
from saml2.saml import Subject
from saml2.samlp import Response
__author__ = "roland"
def test_path():
result = find_paths(Subject, "in_response_to")
assert result == [["subject_confirmation", "subject_confirmation_data", "in_response_to"]]
result = find_paths(Response, "in_response_to")
assert result == [
["assertion", "subject", "subject_confirmation", "subject_confirmation_data", "in_response_to"],
["in_response_to"],
]
def test_set_arg():
r = set_arg(Subject, "in_response_to", "123456")
assert r == [{"subject_confirmation": {"subject_confirmation_data": {"in_response_to": "123456"}}}]
def test_multi():
t = {}
t = add_path(t, ["subject_confirmation", "method", saml.SCM_BEARER])
add_path(t["subject_confirmation"], ["subject_confirmation_data", "in_response_to", "1234"])
assert t == {
"subject_confirmation": {
"subject_confirmation_data": {"in_response_to": "1234"},
"method": "urn:oasis:names:tc:SAML:2.0:cm:bearer",
}
}
def test_is_set():
t = {}
t = add_path(t, ["subject_confirmation", "method", saml.SCM_BEARER])
add_path(t["subject_confirmation"], ["subject_confirmation_data", "in_response_to", "1234"])
assert is_set(t, ["subject_confirmation", "method"])
assert is_set(t, ["subject_confirmation", "subject_confirmation_data", "receiver"]) is False
|