1
from saml2.saml import NameID
2
from saml2.saml import NAMEID_FORMAT_TRANSIENT
6
from saml2 import config
7
from saml2.client import Saml2Client
8
from saml2.time_util import str_to_time, in_a_while
10
SESSION_INFO_PATTERN = {"ava": {}, "came from": "", "not_on_or_after": 0,
11
"issuer": "", "session_id": -1}
13
nid = NameID(name_qualifier="foo", format=NAMEID_FORMAT_TRANSIENT,
15
nid0 = NameID(name_qualifier="foo", format=NAMEID_FORMAT_TRANSIENT,
19
def add_derek_info(sp):
20
not_on_or_after = str_to_time(in_a_while(days=1))
21
session_info = SESSION_INFO_PATTERN.copy()
22
session_info["ava"] = {"givenName": ["Derek"], "umuselin": ["deje0001"]}
23
session_info["issuer"] = "urn:mace:example.com:saml:idp"
24
session_info["name_id"] = nid
25
session_info["not_on_or_after"] = not_on_or_after
26
# subject_id, entity_id, info, timestamp
27
sp.users.add_information_about_person(session_info)
30
class TestVirtualOrg():
31
def setup_class(self):
32
conf = config.SPConfig()
33
conf.load_file("server_conf")
34
self.sp = Saml2Client(conf)
36
vo_name = conf.vorg.keys()[0]
37
self.vo = conf.vorg[vo_name]
38
add_derek_info(self.sp)
41
aas = self.vo.members_to_ask(nid)
44
assert 'urn:mace:example.com:saml:aa' in aas
46
def test_unknown_subject(self):
47
aas = self.vo.members_to_ask(nid0)
52
cid = self.vo.get_common_identifier(nid)
54
assert cid == "deje0001"
56
def test_id_unknown(self):
57
cid = self.vo.get_common_identifier(nid0)
61
class TestVirtualOrg_2():
62
def setup_class(self):
63
conf = config.SPConfig()
64
conf.load_file("server_conf")
65
vo_name = conf.vorg.keys()[0]
66
self.sp = Saml2Client(conf, virtual_organization=vo_name)
67
add_derek_info(self.sp)
70
aas = self.sp.vorg.members_to_ask(nid)
73
assert 'urn:mace:example.com:saml:aa' in aas
75
def test_unknown_subject(self):
76
aas = self.sp.vorg.members_to_ask(nid0)
81
cid = self.sp.vorg.get_common_identifier(nid)
83
assert cid == "deje0001"
85
def test_id_unknown(self):
86
cid = self.sp.vorg.get_common_identifier(nid0)