def test_mapping_from_deeply_nested_attribute(self): mapping = { "attributes": { "address": { "openid": ["address.formatted.text.value"], "saml": ["postaladdress"] }, }, } data = { "address": { "formatted": { "text": { "value": ["100 Universal City Plaza, Hollywood CA 91608, USA"] } } } } converter = DataConverter(mapping) internal_repr = converter.to_internal("openid", data) external_repr = converter.from_internal("saml", internal_repr) assert external_repr["postaladdress"] == data["address"]["formatted"][ "text"]["value"]
def test_mapping_to_nested_attribute(self): mapping = { "attributes": { "address": { "openid": ["address.formatted"], "saml": ["postaladdress"] }, }, } data = { "postaladdress": ["100 Universal City Plaza, Hollywood CA 91608, USA"] } converter = DataConverter(mapping) internal_repr = converter.to_internal("saml", data) external_repr = converter.from_internal("openid", internal_repr) assert external_repr["address"]["formatted"] == data["postaladdress"]
def test_multiple_source_attribute_values(self): mapping = { "attributes": { "mail": { "saml": ["mail", "emailAddress", "email"] }, }, } data = { "mail": ["*****@*****.**"], "email": ["*****@*****.**"], "emailAddress": ["*****@*****.**"], } expected = Counter(["*****@*****.**", "*****@*****.**", "*****@*****.**"]) converter = DataConverter(mapping) internal_repr = converter.to_internal("saml", data) assert Counter(internal_repr["mail"]) == expected external_repr = converter.from_internal("saml", internal_repr) assert Counter(external_repr[mapping["attributes"]["mail"]["saml"][0]]) == expected
def test_multiple_source_attribute_values(self): mapping = { "attributes": { "mail": { "saml": ["mail", "emailAddress", "email"] }, }, } data = { "mail": ["*****@*****.**"], "email": ["*****@*****.**"], "emailAddress": ["*****@*****.**"], } expected = Counter( ["*****@*****.**", "*****@*****.**", "*****@*****.**"]) converter = DataConverter(mapping) internal_repr = converter.to_internal("saml", data) assert Counter(internal_repr["mail"]) == expected external_repr = converter.from_internal("saml", internal_repr) assert Counter(external_repr[mapping["attributes"]["mail"]["saml"] [0]]) == expected