summaryrefslogtreecommitdiff
path: root/tests/test_20_assertion.py
diff options
context:
space:
mode:
authorRoland Hedberg <roland.hedberg@adm.umu.se>2012-12-19 13:08:02 +0100
committerRoland Hedberg <roland.hedberg@adm.umu.se>2012-12-19 13:08:02 +0100
commit50459d616f4f5ec52f94d7a0181e4445ca867d1e (patch)
treeaf605edbfb88dfcbd017782f7032968bae6fa95f /tests/test_20_assertion.py
parentf265c3b421b87c951b27306284b1b1725c39c7ab (diff)
downloadpysaml2-50459d616f4f5ec52f94d7a0181e4445ca867d1e.tar.gz
Complete rewrite of the metadata handling package.
Switched from using httplib2 to requests.
Diffstat (limited to 'tests/test_20_assertion.py')
-rw-r--r--tests/test_20_assertion.py137
1 files changed, 73 insertions, 64 deletions
diff --git a/tests/test_20_assertion.py b/tests/test_20_assertion.py
index b7e284ef..e6752652 100644
--- a/tests/test_20_assertion.py
+++ b/tests/test_20_assertion.py
@@ -1,3 +1,4 @@
+from saml2.mdie import to_dict
from saml2 import md, assertion
from saml2.saml import Attribute, NAME_FORMAT_URI, AttributeValue
from saml2.assertion import Policy, Assertion, filter_on_attributes
@@ -8,30 +9,38 @@ from saml2.attribute_converter import ac_factory
from py.test import raises
+from saml2.extension import mdui
+from saml2.extension import idpdisc
+from saml2.extension import dri
+from saml2.extension import mdattr
+from saml2.extension import ui
+from saml2 import saml
+import xmldsig
+import xmlenc
+
+ONTS = [saml, mdui, mdattr, dri, ui, idpdisc, md, xmldsig, xmlenc]
+
def _eq(l1,l2):
return set(l1) == set(l2)
-gn = md.RequestedAttribute(
- name="urn:oid:2.5.4.42",
- friendly_name="givenName",
- name_format=NAME_FORMAT_URI)
+gn = to_dict(md.RequestedAttribute(name="urn:oid:2.5.4.42",
+ friendly_name="givenName",
+ name_format=NAME_FORMAT_URI),ONTS)
-sn = md.RequestedAttribute(
- name="urn:oid:2.5.4.4",
- friendly_name="surName",
- name_format=NAME_FORMAT_URI)
+sn = to_dict(md.RequestedAttribute(name="urn:oid:2.5.4.4",
+ friendly_name="surName",
+ name_format=NAME_FORMAT_URI), ONTS)
-mail = md.RequestedAttribute(
- name="urn:oid:0.9.2342.19200300.100.1.3",
- friendly_name="mail",
- name_format=NAME_FORMAT_URI)
+mail = to_dict(md.RequestedAttribute(name="urn:oid:0.9.2342.19200300.100.1.3",
+ friendly_name="mail",
+ name_format=NAME_FORMAT_URI), ONTS)
# ---------------------------------------------------------------------------
def test_filter_on_attributes_0():
- a = Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
- friendly_name="serialNumber")
-
+ a = to_dict(Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
+ friendly_name="serialNumber"), ONTS)
+
required = [a]
ava = { "serialNumber": ["12345"]}
@@ -40,8 +49,8 @@ def test_filter_on_attributes_0():
assert ava["serialNumber"] == ["12345"]
def test_filter_on_attributes_1():
- a = Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
- friendly_name="serialNumber")
+ a = to_dict(Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
+ friendly_name="serialNumber"), ONTS)
required = [a]
ava = { "serialNumber": ["12345"], "givenName":["Lars"]}
@@ -144,20 +153,16 @@ def test_ava_filter_2():
ava = {"givenName":"Derek",
"surName": "Jeter",
"mail":"derek@example.com"}
-
- # I'm filtering away something the SP deems necessary
-
- #policy.filter(ava, 'urn:mace:umu.se:saml:roland:sp', [mail], [gn, sn])
-
- raises(MissingValue, policy.filter, ava, 'urn:mace:umu.se:saml:roland:sp',
- [mail], [gn, sn])
+
+ raises(Exception, policy.filter, ava, 'urn:mace:umu.se:saml:roland:sp',
+ [mail], [gn, sn])
ava = {"givenName":"Derek",
"surName": "Jeter"}
# it wasn't there to begin with
- raises(MissingValue, policy.filter, ava, 'urn:mace:umu.se:saml:roland:sp',
- [gn,sn,mail])
+ raises(Exception, policy.filter, ava, 'urn:mace:umu.se:saml:roland:sp',
+ [gn, sn, mail])
def test_filter_attribute_value_assertions_0(AVA):
p = Policy({
@@ -291,10 +296,10 @@ def test_assertion_2():
# ----------------------------------------------------------------------------
def test_filter_values_req_2():
- a1 = Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
- friendly_name="serialNumber")
- a2 = Attribute(name="urn:oid:2.5.4.4", name_format=NAME_FORMAT_URI,
- friendly_name="surName")
+ a1 = to_dict(Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
+ friendly_name="serialNumber"), ONTS)
+ a2 = to_dict(Attribute(name="urn:oid:2.5.4.4", name_format=NAME_FORMAT_URI,
+ friendly_name="surName"), ONTS)
required = [a1,a2]
ava = { "serialNumber": ["12345"], "givenName":["Lars"]}
@@ -302,9 +307,9 @@ def test_filter_values_req_2():
raises(MissingValue, filter_on_attributes, ava, required)
def test_filter_values_req_3():
- a = Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
+ a = to_dict(Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
friendly_name="serialNumber", attribute_value=[
- AttributeValue(text="12345")])
+ AttributeValue(text="12345")]), ONTS)
required = [a]
ava = { "serialNumber": ["12345"]}
@@ -314,9 +319,9 @@ def test_filter_values_req_3():
assert ava["serialNumber"] == ["12345"]
def test_filter_values_req_4():
- a = Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
+ a = to_dict(Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
friendly_name="serialNumber", attribute_value=[
- AttributeValue(text="54321")])
+ AttributeValue(text="54321")]), ONTS)
required = [a]
ava = { "serialNumber": ["12345"]}
@@ -324,9 +329,9 @@ def test_filter_values_req_4():
raises(MissingValue, filter_on_attributes, ava, required)
def test_filter_values_req_5():
- a = Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
+ a = to_dict(Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
friendly_name="serialNumber", attribute_value=[
- AttributeValue(text="12345")])
+ AttributeValue(text="12345")]), ONTS)
required = [a]
ava = { "serialNumber": ["12345", "54321"]}
@@ -336,9 +341,9 @@ def test_filter_values_req_5():
assert ava["serialNumber"] == ["12345"]
def test_filter_values_req_6():
- a = Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
+ a = to_dict(Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
friendly_name="serialNumber", attribute_value=[
- AttributeValue(text="54321")])
+ AttributeValue(text="54321")]),ONTS)
required = [a]
ava = { "serialNumber": ["12345", "54321"]}
@@ -348,12 +353,12 @@ def test_filter_values_req_6():
assert ava["serialNumber"] == ["54321"]
def test_filter_values_req_opt_0():
- r = Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
+ r = to_dict(Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
friendly_name="serialNumber", attribute_value=[
- AttributeValue(text="54321")])
- o = Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
+ AttributeValue(text="54321")]),ONTS)
+ o = to_dict(Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
friendly_name="serialNumber", attribute_value=[
- AttributeValue(text="12345")])
+ AttributeValue(text="12345")]),ONTS)
ava = { "serialNumber": ["12345", "54321"]}
@@ -362,13 +367,13 @@ def test_filter_values_req_opt_0():
assert _eq(ava["serialNumber"], ["12345","54321"])
def test_filter_values_req_opt_1():
- r = Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
+ r = to_dict(Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
friendly_name="serialNumber", attribute_value=[
- AttributeValue(text="54321")])
- o = Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
+ AttributeValue(text="54321")]), ONTS)
+ o = to_dict(Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
friendly_name="serialNumber", attribute_value=[
AttributeValue(text="12345"),
- AttributeValue(text="abcd0")])
+ AttributeValue(text="abcd0")]), ONTS)
ava = { "serialNumber": ["12345", "54321"]}
@@ -377,18 +382,22 @@ def test_filter_values_req_opt_1():
assert _eq(ava["serialNumber"], ["12345","54321"])
def test_filter_values_req_opt_2():
- r = [Attribute(friendly_name="surName",
+ r = [to_dict(Attribute(friendly_name="surName",
name="urn:oid:2.5.4.4",
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
- Attribute(friendly_name="givenName",
+ ONTS),
+ to_dict(Attribute(friendly_name="givenName",
name="urn:oid:2.5.4.42",
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
- Attribute(friendly_name="mail",
+ ONTS),
+ to_dict(Attribute(friendly_name="mail",
name="urn:oid:0.9.2342.19200300.100.1.3",
- name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
- o = [Attribute(friendly_name="title",
+ name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
+ ONTS)]
+ o = [to_dict(Attribute(friendly_name="title",
name="urn:oid:2.5.4.12",
- name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
+ name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
+ ONTS)]
ava = { "surname":["Hedberg"], "givenName":["Roland"],
@@ -399,13 +408,13 @@ def test_filter_values_req_opt_2():
# ---------------------------------------------------------------------------
def test_filter_values_req_opt_4():
- r = [Attribute(friendly_name="surName",
+ r = [Attribute(friendly_name="surName",
name="urn:oid:2.5.4.4",
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
- Attribute(friendly_name="givenName",
+ Attribute(friendly_name="givenName",
name="urn:oid:2.5.4.42",
- name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
- o = [Attribute(friendly_name="title",
+ name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),]
+ o = [Attribute(friendly_name="title",
name="urn:oid:2.5.4.12",
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
@@ -544,22 +553,22 @@ def test_filter_ava_4():
assert _eq(ava["mail"], ["derek@nyy.mlb.com", "dj@example.com"])
def test_req_opt():
- req = [md.RequestedAttribute(friendly_name="surname", name="urn:oid:2.5.4.4",
+ req = [to_dict(md.RequestedAttribute(friendly_name="surname", name="urn:oid:2.5.4.4",
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
- is_required="true"),
- md.RequestedAttribute(friendly_name="givenname",
+ is_required="true"),ONTS),
+ to_dict(md.RequestedAttribute(friendly_name="givenname",
name="urn:oid:2.5.4.42",
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
- is_required="true"),
- md.RequestedAttribute(friendly_name="edupersonaffiliation",
+ is_required="true"),ONTS),
+ to_dict(md.RequestedAttribute(friendly_name="edupersonaffiliation",
name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1",
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
- is_required="true")]
+ is_required="true"),ONTS)]
- opt = [md.RequestedAttribute(friendly_name="title",
+ opt = [to_dict(md.RequestedAttribute(friendly_name="title",
name="urn:oid:2.5.4.12",
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
- is_required="false")]
+ is_required="false"), ONTS)]
policy = Policy()
ava = {'givenname': 'Roland', 'surname': 'Hedberg',