def METHOD_NAME(self):
    p = SimpleAuthenticationProvider
    integration = self._external_integration(self._str)
    with pytest.raises(CannotLoadConfiguration) as excinfo:
        p(self._default_library, integration)
    assert "Test identifier and password not set." in str(excinfo.value)
    integration.setting(p.TEST_IDENTIFIER).value = "barcode"
    integration.setting(p.TEST_PASSWORD).value = "pass"
    provider = p(self._default_library, integration)
    assert None == provider.remote_authenticate("user", "wrongpass")
    assert None == provider.remote_authenticate("user", None)
    assert None == provider.remote_authenticate(None, "pass")
    user = provider.remote_authenticate("barcode", "pass")
    assert isinstance(user, PatronData)
    assert "barcode" == user.authorization_identifier
    assert "barcode_id" == user.permanent_id
    assert "barcode_username" == user.username
    assert None == user.neighborhood
    # For the next test, set the test neighborhood.
    integration.setting(p.TEST_NEIGHBORHOOD).value = "neighborhood"
    provider = p(self._default_library, integration)
    # User can also authenticate by their 'username'
    user2 = provider.remote_authenticate("barcode_username", "pass")
    assert "barcode" == user2.authorization_identifier
    assert "neighborhood" == user2.neighborhood