Example #1
0
    def testUsingTestData(self):
        """Test for name_id_policy_from_string() using test data"""
        new_name_id_policy = samlp.name_id_policy_from_string(
            samlp_data.TEST_NAME_ID_POLICY)

        assert new_name_id_policy.format == saml.NAMEID_FORMAT_EMAILADDRESS
        assert new_name_id_policy.sp_name_qualifier == \
                                 saml.NAMEID_FORMAT_PERSISTENT
        assert new_name_id_policy.allow_create == 'false'
Example #2
0
    def testUsingTestData(self):
        """Test for name_id_policy_from_string() using test data"""
        new_name_id_policy = samlp.name_id_policy_from_string(
            samlp_data.TEST_NAME_ID_POLICY)

        assert new_name_id_policy.format == saml.NAMEID_FORMAT_EMAILADDRESS
        assert new_name_id_policy.sp_name_qualifier == \
                                 saml.NAMEID_FORMAT_PERSISTENT
        assert new_name_id_policy.allow_create == 'false'
Example #3
0
 def load_state(self, state):
     """
     Loads a state from state
     :type state: satosa.state.State
     :rtype: dict[str, Any]
     :param state: The current state
     :return: The dictionary given by the save_state function
     """
     state_data = state[self.name]
     if isinstance(state_data["resp_args"]["name_id_policy"], str):
         state_data["resp_args"]["name_id_policy"] = name_id_policy_from_string(
             state_data["resp_args"]["name_id_policy"])
     return state_data
Example #4
0
    def testAccessors(self):
        """Test for NameIDPolicy accessors"""
        self.name_id_policy.format = saml.NAMEID_FORMAT_EMAILADDRESS
        self.name_id_policy.sp_name_qualifier = saml.NAMEID_FORMAT_PERSISTENT
        self.name_id_policy.allow_create = 'false'

        new_name_id_policy = samlp.name_id_policy_from_string(
            self.name_id_policy.to_string())

        assert new_name_id_policy.format == saml.NAMEID_FORMAT_EMAILADDRESS
        assert new_name_id_policy.sp_name_qualifier == \
                                 saml.NAMEID_FORMAT_PERSISTENT
        assert new_name_id_policy.allow_create == 'false'
Example #5
0
 def load_state(self, state):
     """
     Loads a state from state
     :type state: satosa.state.State
     :rtype: dict[str, Any]
     :param state: The current state
     :return: The dictionary given by the save_state function
     """
     state_data = state[self.name]
     if isinstance(state_data["resp_args"]["name_id_policy"], str):
         state_data["resp_args"]["name_id_policy"] = name_id_policy_from_string(
             state_data["resp_args"]["name_id_policy"])
     return state_data
Example #6
0
    def testAccessors(self):
        """Test for NameIDPolicy accessors"""
        self.name_id_policy.format = saml.NAMEID_FORMAT_EMAILADDRESS
        self.name_id_policy.sp_name_qualifier = saml.NAMEID_FORMAT_PERSISTENT
        self.name_id_policy.allow_create = 'false'

        new_name_id_policy = samlp.name_id_policy_from_string(
            self.name_id_policy.to_string())

        assert new_name_id_policy.format == saml.NAMEID_FORMAT_EMAILADDRESS
        assert new_name_id_policy.sp_name_qualifier == \
                                 saml.NAMEID_FORMAT_PERSISTENT
        assert new_name_id_policy.allow_create == 'false'
Example #7
0
    def test_vo_1(self):
        policy = Policy(
            {
                "default": {
                    "name_form": "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
                    "nameid_format": NAMEID_FORMAT_PERSISTENT,
                    "attribute_restrictions": {"surName": [".*berg"]},
                }
            }
        )

        name_id_policy = samlp.name_id_policy_from_string(NAME_ID_POLICY_1)
        nameid = self.id.construct_nameid(
            policy, "foobar", "urn:mace:example.com:sp:1", {"uid": "foobar01"}, name_id_policy
        )

        assert _eq(nameid.keyswv(), ["text", "sp_name_qualifier", "format"])
        assert nameid.sp_name_qualifier == "http://vo.example.org/biomed"
        assert nameid.format == CONFIG.virtual_organization["http://vo.example.org/biomed"]["nameid_format"]
        assert nameid.text == "foobar01"
Example #8
0
    def test_vo_2(self):
        policy = Policy({
            "default": {
                "name_form": "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
                "nameid_format": NAMEID_FORMAT_PERSISTENT,
                "attribute_restrictions": {
                    "surName": [".*berg"],
                }
            }
        })

        name_id_policy = samlp.name_id_policy_from_string(NAME_ID_POLICY_2)

        nameid = self.id.construct_nameid(policy, "foobar",
                                          "urn:mace:example.com:sp:1",
                                          {"uid": "foobar01"}, name_id_policy)

        assert _eq(nameid.keyswv(), ['text', 'sp_name_qualifier', 'format'])
        assert nameid.sp_name_qualifier == 'http://vo.example.org/design'
        assert nameid.format == NAMEID_FORMAT_PERSISTENT
        assert nameid.text == "foobar01"
 def test_vo_2(self):
     policy = Policy({
         "default": {
             "name_form": "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
             "nameid_format": NAMEID_FORMAT_PERSISTENT,
             "attribute_restrictions": {
                 "surName": [".*berg"],
             }
         }
     })
     
     name_id_policy = samlp.name_id_policy_from_string(NAME_ID_POLICY_2)
     
     nameid = self.id.construct_nameid("foobar", policy,
                                       'http://vo.example.org/design',
                                       name_id_policy)
     
     assert _eq(nameid.keyswv(), ['text', 'sp_name_qualifier', 'format',
                                  'name_qualifier'])
     assert nameid.sp_name_qualifier == 'http://vo.example.org/design'
     assert nameid.format == NAMEID_FORMAT_PERSISTENT
     assert nameid.text != "foobar01"
Example #10
0
    def test_vo_1(self):
        policy = Policy({
            "default": {
                "name_form": "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
                "nameid_format": NAMEID_FORMAT_PERSISTENT,
                "attribute_restrictions": {
                    "surName": [".*berg"],
                }
            }
        })
        
        name_id_policy = samlp.name_id_policy_from_string(NAME_ID_POLICY_1)
        print name_id_policy
        nameid = self.id.construct_nameid("foobar", policy,
                                          'http://vo.example.org/biomed',
                                          name_id_policy)

        print nameid
        assert _eq(nameid.keyswv(), ['text', 'sp_name_qualifier', 'format',
                                     'name_qualifier'])
        assert nameid.sp_name_qualifier == 'http://vo.example.org/biomed'
        assert nameid.format == NAMEID_FORMAT_PERSISTENT
        assert nameid.text != "foobar"
Example #11
0
    def test_vo_1(self):
        policy = Policy({
            "default": {
                "name_form": "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
                "nameid_format": NAMEID_FORMAT_PERSISTENT,
                "attribute_restrictions": {
                    "surName": [".*berg"],
                }
            }
        })
        
        name_id_policy = samlp.name_id_policy_from_string(NAME_ID_POLICY_1)
        print name_id_policy
        nameid = self.id.construct_nameid("foobar", policy,
                                          'http://vo.example.org/biomed',
                                          name_id_policy)

        print nameid
        assert _eq(nameid.keyswv(), ['text', 'sp_name_qualifier', 'format',
                                     'name_qualifier'])
        assert nameid.sp_name_qualifier == 'http://vo.example.org/biomed'
        assert nameid.format == NAMEID_FORMAT_PERSISTENT
        # we want to keep the user identifier in the nameid node
        assert nameid.text == "foobar"