Skip to content

Commit 9b6e0cd

Browse files
author
Roland Hedberg
committed
Added new eduPerson attributes and fixed some map errors
1 parent d134a02 commit 9b6e0cd

File tree

1 file changed

+113
-107
lines changed

1 file changed

+113
-107
lines changed

tests/test_20_assertion.py

Lines changed: 113 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -81,14 +81,18 @@ def test_filter_on_attributes_1():
8181

8282

8383
def test_filter_on_attributes_without_friendly_name():
84-
ava = {"eduPersonTargetedID": "[email protected]", "eduPersonAffiliation": "test",
84+
ava = {"eduPersonTargetedID": "[email protected]",
85+
"eduPersonAffiliation": "test",
8586
"extra": "foo"}
8687
eptid = to_dict(
87-
Attribute(name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10", name_format=NAME_FORMAT_URI), ONTS)
88+
Attribute(name="urn:oid:1.3.6.1.4.1.5923.1.1.1.11",
89+
name_format=NAME_FORMAT_URI), ONTS)
8890
ep_affiliation = to_dict(
89-
Attribute(name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1", name_format=NAME_FORMAT_URI), ONTS)
91+
Attribute(name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1",
92+
name_format=NAME_FORMAT_URI), ONTS)
9093

91-
restricted_ava = filter_on_attributes(ava, required=[eptid], optional=[ep_affiliation],
94+
restricted_ava = filter_on_attributes(ava, required=[eptid],
95+
optional=[ep_affiliation],
9296
acs=ac_factory())
9397
assert restricted_ava == {"eduPersonTargetedID": "[email protected]",
9498
"eduPersonAffiliation": "test"}
@@ -97,17 +101,19 @@ def test_filter_on_attributes_without_friendly_name():
97101
def test_filter_on_attributes_with_missing_required_attribute():
98102
ava = {"extra": "foo"}
99103
eptid = to_dict(Attribute(
100-
friendly_name="eduPersonTargetedID", name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10",
101-
name_format=NAME_FORMAT_URI), ONTS)
104+
friendly_name="eduPersonTargetedID",
105+
name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10",
106+
name_format=NAME_FORMAT_URI), ONTS)
102107
with pytest.raises(MissingValue):
103108
filter_on_attributes(ava, required=[eptid])
104109

105110

106111
def test_filter_on_attributes_with_missing_optional_attribute():
107112
ava = {"extra": "foo"}
108113
eptid = to_dict(Attribute(
109-
friendly_name="eduPersonTargetedID", name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10",
110-
name_format=NAME_FORMAT_URI), ONTS)
114+
friendly_name="eduPersonTargetedID",
115+
name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10",
116+
name_format=NAME_FORMAT_URI), ONTS)
111117
assert filter_on_attributes(ava, optional=[eptid]) == {}
112118

113119

@@ -418,9 +424,9 @@ def test_filter_values_req_2():
418424

419425
def test_filter_values_req_3():
420426
a = to_dict(
421-
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
422-
friendly_name="serialNumber",
423-
attribute_value=[AttributeValue(text="12345")]), ONTS)
427+
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
428+
friendly_name="serialNumber",
429+
attribute_value=[AttributeValue(text="12345")]), ONTS)
424430

425431
required = [a]
426432
ava = {"serialNumber": ["12345"]}
@@ -432,9 +438,9 @@ def test_filter_values_req_3():
432438

433439
def test_filter_values_req_4():
434440
a = to_dict(
435-
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
436-
friendly_name="serialNumber",
437-
attribute_value=[AttributeValue(text="54321")]), ONTS)
441+
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
442+
friendly_name="serialNumber",
443+
attribute_value=[AttributeValue(text="54321")]), ONTS)
438444

439445
required = [a]
440446
ava = {"serialNumber": ["12345"]}
@@ -444,9 +450,9 @@ def test_filter_values_req_4():
444450

445451
def test_filter_values_req_5():
446452
a = to_dict(
447-
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
448-
friendly_name="serialNumber",
449-
attribute_value=[AttributeValue(text="12345")]), ONTS)
453+
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
454+
friendly_name="serialNumber",
455+
attribute_value=[AttributeValue(text="12345")]), ONTS)
450456

451457
required = [a]
452458
ava = {"serialNumber": ["12345", "54321"]}
@@ -458,9 +464,9 @@ def test_filter_values_req_5():
458464

459465
def test_filter_values_req_6():
460466
a = to_dict(
461-
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
462-
friendly_name="serialNumber",
463-
attribute_value=[AttributeValue(text="54321")]), ONTS)
467+
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
468+
friendly_name="serialNumber",
469+
attribute_value=[AttributeValue(text="54321")]), ONTS)
464470

465471
required = [a]
466472
ava = {"serialNumber": ["12345", "54321"]}
@@ -472,13 +478,13 @@ def test_filter_values_req_6():
472478

473479
def test_filter_values_req_opt_0():
474480
r = to_dict(
475-
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
476-
friendly_name="serialNumber",
477-
attribute_value=[AttributeValue(text="54321")]), ONTS)
481+
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
482+
friendly_name="serialNumber",
483+
attribute_value=[AttributeValue(text="54321")]), ONTS)
478484
o = to_dict(
479-
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
480-
friendly_name="serialNumber",
481-
attribute_value=[AttributeValue(text="12345")]), ONTS)
485+
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
486+
friendly_name="serialNumber",
487+
attribute_value=[AttributeValue(text="12345")]), ONTS)
482488

483489
ava = {"serialNumber": ["12345", "54321"]}
484490

@@ -489,14 +495,14 @@ def test_filter_values_req_opt_0():
489495

490496
def test_filter_values_req_opt_1():
491497
r = to_dict(
492-
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
493-
friendly_name="serialNumber",
494-
attribute_value=[AttributeValue(text="54321")]), ONTS)
498+
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
499+
friendly_name="serialNumber",
500+
attribute_value=[AttributeValue(text="54321")]), ONTS)
495501
o = to_dict(
496-
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
497-
friendly_name="serialNumber",
498-
attribute_value=[AttributeValue(text="12345"),
499-
AttributeValue(text="abcd0")]), ONTS)
502+
Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI,
503+
friendly_name="serialNumber",
504+
attribute_value=[AttributeValue(text="12345"),
505+
AttributeValue(text="abcd0")]), ONTS)
500506

501507
ava = {"serialNumber": ["12345", "54321"]}
502508

@@ -508,30 +514,30 @@ def test_filter_values_req_opt_1():
508514
def test_filter_values_req_opt_2():
509515
r = [
510516
to_dict(
511-
Attribute(
512-
friendly_name="surName",
513-
name="urn:oid:2.5.4.4",
514-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
515-
ONTS),
517+
Attribute(
518+
friendly_name="surName",
519+
name="urn:oid:2.5.4.4",
520+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
521+
ONTS),
516522
to_dict(
517-
Attribute(
518-
friendly_name="givenName",
519-
name="urn:oid:2.5.4.42",
520-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
521-
ONTS),
523+
Attribute(
524+
friendly_name="givenName",
525+
name="urn:oid:2.5.4.42",
526+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
527+
ONTS),
522528
to_dict(
523-
Attribute(
524-
friendly_name="mail",
525-
name="urn:oid:0.9.2342.19200300.100.1.3",
526-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
527-
ONTS)]
529+
Attribute(
530+
friendly_name="mail",
531+
name="urn:oid:0.9.2342.19200300.100.1.3",
532+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
533+
ONTS)]
528534
o = [
529535
to_dict(
530-
Attribute(
531-
friendly_name="title",
532-
name="urn:oid:2.5.4.12",
533-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
534-
ONTS)]
536+
Attribute(
537+
friendly_name="title",
538+
name="urn:oid:2.5.4.12",
539+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
540+
ONTS)]
535541

536542
ava = {"surname": ["Hedberg"], "givenName": ["Roland"],
537543
"eduPersonAffiliation": ["staff"], "uid": ["rohe0002"]}
@@ -545,18 +551,18 @@ def test_filter_values_req_opt_2():
545551
def test_filter_values_req_opt_4():
546552
r = [
547553
Attribute(
548-
friendly_name="surName",
549-
name="urn:oid:2.5.4.4",
550-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
554+
friendly_name="surName",
555+
name="urn:oid:2.5.4.4",
556+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
551557
Attribute(
552-
friendly_name="givenName",
553-
name="urn:oid:2.5.4.42",
554-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
558+
friendly_name="givenName",
559+
name="urn:oid:2.5.4.42",
560+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
555561
o = [
556562
Attribute(
557-
friendly_name="title",
558-
name="urn:oid:2.5.4.12",
559-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
563+
friendly_name="title",
564+
name="urn:oid:2.5.4.12",
565+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
560566

561567
acs = attribute_converter.ac_factory(full_path("attributemaps"))
562568

@@ -577,15 +583,15 @@ def test_filter_values_req_opt_4():
577583

578584
def test_filter_ava_0():
579585
policy = Policy(
580-
{
581-
"default": {
582-
"lifetime": {"minutes": 15},
583-
"attribute_restrictions": None # means all I have
584-
},
585-
"urn:mace:example.com:saml:roland:sp": {
586-
"lifetime": {"minutes": 5},
587-
}
586+
{
587+
"default": {
588+
"lifetime": {"minutes": 15},
589+
"attribute_restrictions": None # means all I have
590+
},
591+
"urn:mace:example.com:saml:roland:sp": {
592+
"lifetime": {"minutes": 5},
588593
}
594+
}
589595
)
590596

591597
ava = {"givenName": ["Derek"], "surName": ["Jeter"],
@@ -701,30 +707,30 @@ def test_filter_ava_4():
701707
def test_req_opt():
702708
req = [
703709
to_dict(
704-
md.RequestedAttribute(
705-
friendly_name="surname", name="urn:oid:2.5.4.4",
706-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
707-
is_required="true"), ONTS),
710+
md.RequestedAttribute(
711+
friendly_name="surname", name="urn:oid:2.5.4.4",
712+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
713+
is_required="true"), ONTS),
708714
to_dict(
709-
md.RequestedAttribute(
710-
friendly_name="givenname",
711-
name="urn:oid:2.5.4.42",
712-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
713-
is_required="true"), ONTS),
715+
md.RequestedAttribute(
716+
friendly_name="givenname",
717+
name="urn:oid:2.5.4.42",
718+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
719+
is_required="true"), ONTS),
714720
to_dict(
715-
md.RequestedAttribute(
716-
friendly_name="edupersonaffiliation",
717-
name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1",
718-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
719-
is_required="true"), ONTS)]
721+
md.RequestedAttribute(
722+
friendly_name="edupersonaffiliation",
723+
name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1",
724+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
725+
is_required="true"), ONTS)]
720726

721727
opt = [
722728
to_dict(
723-
md.RequestedAttribute(
724-
friendly_name="title",
725-
name="urn:oid:2.5.4.12",
726-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
727-
is_required="false"), ONTS)]
729+
md.RequestedAttribute(
730+
friendly_name="title",
731+
name="urn:oid:2.5.4.12",
732+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
733+
is_required="false"), ONTS)]
728734

729735
policy = Policy()
730736
ava = {'givenname': 'Roland', 'surname': 'Hedberg',
@@ -738,18 +744,18 @@ def test_req_opt():
738744
def test_filter_on_wire_representation_1():
739745
r = [
740746
Attribute(
741-
friendly_name="surName",
742-
name="urn:oid:2.5.4.4",
743-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
747+
friendly_name="surName",
748+
name="urn:oid:2.5.4.4",
749+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
744750
Attribute(
745-
friendly_name="givenName",
746-
name="urn:oid:2.5.4.42",
747-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
751+
friendly_name="givenName",
752+
name="urn:oid:2.5.4.42",
753+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
748754
o = [
749755
Attribute(
750-
friendly_name="title",
751-
name="urn:oid:2.5.4.12",
752-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
756+
friendly_name="title",
757+
name="urn:oid:2.5.4.12",
758+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
753759

754760
acs = attribute_converter.ac_factory(full_path("attributemaps"))
755761

@@ -763,18 +769,18 @@ def test_filter_on_wire_representation_1():
763769
def test_filter_on_wire_representation_2():
764770
r = [
765771
Attribute(
766-
friendly_name="surName",
767-
name="urn:oid:2.5.4.4",
768-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
772+
friendly_name="surName",
773+
name="urn:oid:2.5.4.4",
774+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"),
769775
Attribute(
770-
friendly_name="givenName",
771-
name="urn:oid:2.5.4.42",
772-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
776+
friendly_name="givenName",
777+
name="urn:oid:2.5.4.42",
778+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
773779
o = [
774780
Attribute(
775-
friendly_name="title",
776-
name="urn:oid:2.5.4.12",
777-
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
781+
friendly_name="title",
782+
name="urn:oid:2.5.4.12",
783+
name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")]
778784

779785
acs = attribute_converter.ac_factory(full_path("attributemaps"))
780786

0 commit comments

Comments
 (0)