'Enable and configure the TestShib SAML IdP as a third_party_auth provider'

def _configure_testshib_provider(self, **kwargs):

    fetch_metadata = kwargs.pop('fetch_metadata', True)
    assert_metadata_updates = kwargs.pop('assert_metadata_updates', True)
    kwargs.setdefault('name', self.PROVIDER_NAME)
    kwargs.setdefault('enabled', True)
    kwargs.setdefault('visible', True)
    kwargs.setdefault('idp_slug', self.PROVIDER_IDP_SLUG)
    kwargs.setdefault('entity_id', TESTSHIB_ENTITY_ID)
    kwargs.setdefault('metadata_source', TESTSHIB_METADATA_URL)
    kwargs.setdefault('icon_class', 'fa-university')
    kwargs.setdefault('attr_email', 'urn:oid:1.3.6.1.4.1.5923.1.1.1.6')
    kwargs.setdefault('max_session_length', None)
    self.configure_saml_provider(**kwargs)
    if fetch_metadata:
        self.assertTrue(httpretty.is_enabled())
        (num_total, num_skipped, num_attempted, num_updated, num_failed, failure_messages) = fetch_saml_metadata()
        if assert_metadata_updates:
            self.assertEqual(num_total, 1)
            self.assertEqual(num_skipped, 0)
            self.assertEqual(num_attempted, 1)
            self.assertEqual(num_updated, 1)
            self.assertEqual(num_failed, 0)
            self.assertEqual(len(failure_messages), 0)
