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]
Ejemplo n.º 3
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
Ejemplo n.º 6
0
 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")