summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/test_02_saml.py6
-rw-r--r--tests/test_12_s_utils.py13
-rw-r--r--tests/test_19_attribute_converter.py35
-rw-r--r--tests/test_60_sp.py72
4 files changed, 67 insertions, 59 deletions
diff --git a/tests/test_02_saml.py b/tests/test_02_saml.py
index 41beabee..dc3018c8 100644
--- a/tests/test_02_saml.py
+++ b/tests/test_02_saml.py
@@ -215,7 +215,7 @@ class TestSAMLBase:
attr = Attribute()
saml2.make_vals(ava, AttributeValue, attr, prop="attribute_value")
- assert attr.keyswv() == ["attribute_value"]
+ assert attr.keyswv() == ["name_format", "attribute_value"]
assert len(attr.attribute_value) == 4
def test_to_string_nspair(self):
@@ -1211,3 +1211,7 @@ class TestAssertion:
"""Test assertion_from_string() using test data"""
# TODO
pass
+
+if __name__ == "__main__":
+ t = TestSAMLBase()
+ t.test_make_vals_multi_dict() \ No newline at end of file
diff --git a/tests/test_12_s_utils.py b/tests/test_12_s_utils.py
index 730ffa76..3b64405c 100644
--- a/tests/test_12_s_utils.py
+++ b/tests/test_12_s_utils.py
@@ -137,10 +137,10 @@ def test_attribute_statement():
assert statement.keyswv() == ["attribute"]
assert len(statement.attribute) == 2
attr0 = statement.attribute[0]
- assert _eq(attr0.keyswv(), ["name", "attribute_value"])
+ assert _eq(attr0.keyswv(), ["name", "attribute_value", "name_format"])
assert len(attr0.attribute_value) == 1
attr1 = statement.attribute[1]
- assert _eq(attr1.keyswv(), ["name", "attribute_value"])
+ assert _eq(attr1.keyswv(), ["name", "attribute_value", "name_format"])
assert len(attr1.attribute_value) == 1
if attr0.name == "givenName":
assert attr0.attribute_value[0].text == "Derek"
@@ -222,7 +222,8 @@ def test_value_4():
saml.AttributeValue, text="Derek")],
friendly_name="givenName")
- assert _eq(attribute.keyswv(), ["friendly_name", "attribute_value"])
+ assert _eq(attribute.keyswv(), ["friendly_name", "attribute_value",
+ "name_format"])
assert attribute.friendly_name == "givenName"
assert len(attribute.attribute_value) == 1
assert attribute.attribute_value[0].text == "Derek"
@@ -234,7 +235,7 @@ def test_do_attribute_statement_0():
assert statement.keyswv() == ["attribute"]
assert len(statement.attribute) == 1
attr0 = statement.attribute[0]
- assert _eq(attr0.keyswv(), ["name", "attribute_value"])
+ assert _eq(attr0.keyswv(), ["name", "attribute_value", "name_format"])
assert attr0.name == "vo_attr"
assert len(attr0.attribute_value) == 1
assert attr0.attribute_value[0].text == "foobar"
@@ -248,9 +249,9 @@ def test_do_attribute_statement():
assert statement.keyswv() == ["attribute"]
assert len(statement.attribute) == 2
attr0 = statement.attribute[0]
- assert _eq(attr0.keyswv(), ["name", "attribute_value"])
+ assert _eq(attr0.keyswv(), ["name", "attribute_value", "name_format"])
attr1 = statement.attribute[1]
- assert _eq(attr1.keyswv(), ["name", "attribute_value"])
+ assert _eq(attr1.keyswv(), ["name", "attribute_value", "name_format"])
if attr0.name == "givenName":
assert len(attr0.attribute_value) == 2
assert _eq([av.text for av in attr0.attribute_value],
diff --git a/tests/test_19_attribute_converter.py b/tests/test_19_attribute_converter.py
index 177d509e..a80c75c8 100644
--- a/tests/test_19_attribute_converter.py
+++ b/tests/test_19_attribute_converter.py
@@ -26,7 +26,7 @@ def test_default():
class TestAC():
def setup_class(self):
self.acs = attribute_converter.ac_factory(full_path("attributemaps"))
-
+
def test_setup(self):
print self.acs
assert len(self.acs) == 3
@@ -67,9 +67,9 @@ class TestAC():
def test_to_attrstat_1(self):
ava = { "givenName": "Roland", "sn": "Hedberg" }
-
+
statement = attribute_converter.from_local(self.acs, ava, BASIC_NF)
-
+
assert statement is not None
assert len(statement) == 2
a0 = statement[0]
@@ -88,12 +88,12 @@ class TestAC():
assert a1.name_format == BASIC_NF
else:
assert False
-
+
def test_to_attrstat_2(self):
ava = { "givenName": "Roland", "surname": "Hedberg" }
-
+
statement = attribute_converter.from_local(self.acs, ava, URI_NF)
-
+
assert len(statement) == 2
a0 = statement[0]
a1 = statement[1]
@@ -111,9 +111,9 @@ class TestAC():
assert a1.name_format == URI_NF
else:
assert False
-
+
def test_to_local_name(self):
-
+
attr = [
saml.Attribute(
friendly_name="surName",
@@ -127,9 +127,9 @@ class TestAC():
friendly_name="titel",
name="urn:oid:2.5.4.12",
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
-
+
lan = [attribute_converter.to_local_name(self.acs, a) for a in attr]
-
+
assert _eq(lan, ['sn', 'givenName', 'title'])
# def test_ava_fro_1(self):
@@ -150,8 +150,11 @@ class TestAC():
# assert result == {'givenName': [], 'sn': [], 'title': []}
def test_to_local_name_from_basic(self):
- attr = [saml.Attribute(
- name="urn:mace:dir:attribute-def:eduPersonPrimaryOrgUnitDN")]
+ attr = [
+ saml.Attribute(
+ name="urn:mace:dir:attribute-def:eduPersonPrimaryOrgUnitDN",
+ name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:basic")
+ ]
lan = [attribute_converter.to_local_name(self.acs, a) for a in attr]
@@ -222,7 +225,7 @@ def test_schac():
if __name__ == "__main__":
- # t = TestAC()
- # t.setup_class()
- # t.test_mixed_attributes_1()
- test_schac()
+ t = TestAC()
+ t.setup_class()
+ t.test_to_local_name_from_basic()
+ #test_schac()
diff --git a/tests/test_60_sp.py b/tests/test_60_sp.py
index cb07c65e..39cd8aad 100644
--- a/tests/test_60_sp.py
+++ b/tests/test_60_sp.py
@@ -8,30 +8,31 @@ from saml2.samlp import NameIDPolicy
from s2repoze.plugins.sp import make_plugin
from saml2.server import Server
-ENV1 = {'SERVER_SOFTWARE': 'CherryPy/3.1.2 WSGI Server',
- 'SCRIPT_NAME': '',
- 'ACTUAL_SERVER_PROTOCOL': 'HTTP/1.1',
- 'REQUEST_METHOD': 'GET',
- 'PATH_INFO': '/krissms',
- 'SERVER_PROTOCOL': 'HTTP/1.1',
- 'QUERY_STRING': '',
- 'REMOTE_ADDR': '127.0.0.1',
- 'HTTP_USER_AGENT':
- 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) ',
- 'HTTP_CONNECTION': 'keep-alive',
- 'SERVER_NAME': 'lingon-catalogix-se-2.local',
- 'REMOTE_PORT': '57309',
- 'wsgi.url_scheme': 'http',
- 'SERVER_PORT': '8087',
- 'HTTP_HOST': '127.0.0.1:8087',
- 'wsgi.multithread': True,
- 'HTTP_ACCEPT':
- 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
- 'wsgi.version': (1, 0),
- 'wsgi.run_once': False,
- 'wsgi.multiprocess': False,
- 'HTTP_ACCEPT_LANGUAGE': 'en-us',
- 'HTTP_ACCEPT_ENCODING': 'gzip, deflate'}
+ENV1 = {'SERVER_SOFTWARE': 'CherryPy/3.1.2 WSGI Server',
+ 'SCRIPT_NAME': '',
+ 'ACTUAL_SERVER_PROTOCOL': 'HTTP/1.1',
+ 'REQUEST_METHOD': 'GET',
+ 'PATH_INFO': '/krissms',
+ 'SERVER_PROTOCOL': 'HTTP/1.1',
+ 'QUERY_STRING': '',
+ 'REMOTE_ADDR': '127.0.0.1',
+ 'HTTP_USER_AGENT':
+ 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) ',
+ 'HTTP_CONNECTION': 'keep-alive',
+ 'SERVER_NAME': 'lingon-catalogix-se-2.local',
+ 'REMOTE_PORT': '57309',
+ 'wsgi.url_scheme': 'http',
+ 'SERVER_PORT': '8087',
+ 'HTTP_HOST': '127.0.0.1:8087',
+ 'wsgi.multithread': True,
+ 'HTTP_ACCEPT':
+ 'application/xml,application/xhtml+xml,text/html;q=0.9,'
+ 'text/plain;q=0.8,image/png,*/*;q=0.5',
+ 'wsgi.version': (1, 0),
+ 'wsgi.run_once': False,
+ 'wsgi.multiprocess': False,
+ 'HTTP_ACCEPT_LANGUAGE': 'en-us',
+ 'HTTP_ACCEPT_ENCODING': 'gzip, deflate'}
trans_name_policy = NameIDPolicy(format=NAMEID_FORMAT_TRANSIENT,
allow_create="true")
@@ -49,12 +50,11 @@ class TestSP():
def test_setup(self):
assert self.sp
-
- def test_identify(self):
+ def test_identify(self):
# Create a SAMLResponse
- ava = { "givenName": ["Derek"], "surName": ["Jeter"],
- "mail": ["derek@nyy.mlb.com"], "title":["The man"]}
+ ava = {"givenName": ["Derek"], "surName": ["Jeter"],
+ "mail": ["derek@nyy.mlb.com"], "title": ["The man"]}
resp_str = "%s" % self.server.create_authn_response(
ava, "id1", "http://lingon.catalogix.se:8087/",
@@ -62,16 +62,16 @@ class TestSP():
"foba0001@example.com", authn=AUTHN)
resp_str = base64.encodestring(resp_str)
- self.sp.outstanding_queries = {"id1":"http://www.example.com/service"}
- session_info = self.sp._eval_authn_response({},
- {"SAMLResponse": resp_str})
-
+ self.sp.outstanding_queries = {"id1": "http://www.example.com/service"}
+ session_info = self.sp._eval_authn_response(
+ {}, {"SAMLResponse": [resp_str]})
+
assert len(session_info) > 1
assert session_info["came_from"] == 'http://www.example.com/service'
- assert session_info["ava"] == {'givenName': ['Derek'],
- 'mail': ['derek@nyy.mlb.com'],
- 'sn': ['Jeter'],
- 'title': ['The man']}
+ assert session_info["ava"] == {'givenName': ['Derek'],
+ 'mail': ['derek@nyy.mlb.com'],
+ 'sn': ['Jeter'],
+ 'title': ['The man']}
if __name__ == "__main__":