def test_metadata_invalid_nodict(self, sp_metadata_xml): form = ServiceProviderAdminForm({ 'entity_id': 'entity-id', '_processor': 'djangosaml2idp.processors.BaseProcessor', 'local_metadata': sp_metadata_xml, 'metadata_expiration_dt': extract_validuntil_from_metadata(sp_metadata_xml), '_attribute_mapping': json.dumps(''), }) assert form.is_valid() is False assert 'The provided attribute_mapping should be a string representing a dict.' in form.errors['_attribute_mapping'][0]
def test_metadata_invalid_not_json_parseable(self, sp_metadata_xml): form = ServiceProviderAdminForm({ 'entity_id': 'entity-id', '_processor': 'djangosaml2idp.processors.BaseProcessor', 'local_metadata': sp_metadata_xml, 'metadata_expiration_dt': extract_validuntil_from_metadata(sp_metadata_xml), '_attribute_mapping': 'invalid_json_content', }) assert form.is_valid() is False assert 'The provided string could not be parsed with json.' in form.errors['_attribute_mapping'][0]
def test_extract_validuntil_from_metadata_valid(self, settings, sp_metadata_xml, use_tz, tzinfo): settings.USE_TZ = use_tz valid_until_dt_extracted = extract_validuntil_from_metadata( sp_metadata_xml) assert valid_until_dt_extracted == datetime.datetime(2099, 2, 14, 17, 43, 34, tzinfo=tzinfo)
def test_metadata_invalid_dict_wroncontent(self, sp_metadata_xml): form = ServiceProviderAdminForm({ 'entity_id': 'entity-id', '_processor': 'djangosaml2idp.processors.BaseProcessor', 'local_metadata': sp_metadata_xml, 'metadata_expiration_dt': extract_validuntil_from_metadata(sp_metadata_xml), '_attribute_mapping': json.dumps({ 1: 2, }), }) assert form.is_valid() is False assert 'The provided attribute_mapping should be a dict with strings for both all keys and values.' in form.errors['_attribute_mapping'][0]
def test_valid(self, sp_metadata_xml): form = ServiceProviderAdminForm({ 'entity_id': 'entity-id', '_processor': 'djangosaml2idp.processors.BaseProcessor', 'local_metadata': sp_metadata_xml, 'metadata_expiration_dt': extract_validuntil_from_metadata(sp_metadata_xml), '_attribute_mapping': json.dumps({ 'name': 'fullName', 'email': 'emailAddress', 'other_setting': 'otherSetting', 'random_method': 'randomMethodTest' }), }) assert form.is_valid() is True
def test_extract_validuntil_from_metadata_invalid(self): with pytest.raises(ValidationError): extract_validuntil_from_metadata('')
def test_extract_validuntil_from_metadata_valid(self, sp_metadata_xml): valid_until_dt_extracted = extract_validuntil_from_metadata( sp_metadata_xml) assert valid_until_dt_extracted == arrow.get("2021-02-14T17:43:34Z")