def test_malformed_metadata(self): a = SAMLAuthenticator() bad_xml = 'not an xml document' a.metadata_content = bad_xml assert a._get_metadata_from_config() == bad_xml assert a._get_preferred_metadata_from_source() == bad_xml assert a._get_saml_metadata_etree() is None
def test_urlopen_fail(self, mock_urlopen): entered_obj = MagicMock() entered_obj.read.side_effect = IOError('Fake IO Error') mock_urlopen().__enter__.return_value = entered_obj a = SAMLAuthenticator() a.metadata_url = 'http://foo' with pytest.raises(IOError): a._get_metadata_from_url() with pytest.raises(IOError): a._get_preferred_metadata_from_source() assert a._get_saml_metadata_etree() is None
def test_file_fail(self, mock_fileopen): entered_obj = MagicMock() entered_obj.read.side_effect = IOError('Fake IO Error') mock_fileopen().__enter__.return_value = entered_obj a = SAMLAuthenticator() a.metadata_url = 'bad_data' a.metadata_content = 'bad_data' a.metadata_filepath = '/completely/illegitimate/filepath' with pytest.raises(IOError): a._get_metadata_from_file() with pytest.raises(IOError): a._get_preferred_metadata_from_source() assert a._get_saml_metadata_etree() is None
def test_no_metadata_configured(self): a = SAMLAuthenticator() assert a._get_preferred_metadata_from_source() is None assert a._get_saml_metadata_etree() is None