diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 4c05746..23a8854 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -10,6 +10,9 @@ This document describes changes between each past release. - Set default value for ``multiauth.policy.ldap.use`` (fixes #3) - Add the plugin version in the capability. +**Bug fixes** + +- Fix heartbeat when server is unreachable (fixes #8) 0.1.0 (2016-06-27) ------------------ diff --git a/kinto_ldap/authentication.py b/kinto_ldap/authentication.py index eb230a6..811d5a5 100644 --- a/kinto_ldap/authentication.py +++ b/kinto_ldap/authentication.py @@ -60,7 +60,7 @@ def ldap_ping(request): """Verify if the LDAP server is ready.""" cm = request.registry.ldap_cm try: - with cm.connection(): + with cm.connection('mail=mail@test,o=com,dc=test', 'password'): ldap = True except Exception: logger.exception("Heartbeat Failure") diff --git a/kinto_ldap/tests/__init__.py b/kinto_ldap/tests/__init__.py index ed9d1a6..e69de29 100644 --- a/kinto_ldap/tests/__init__.py +++ b/kinto_ldap/tests/__init__.py @@ -1,9 +0,0 @@ -try: - import unittest2 as unittest -except ImportError: - import unittest - -from kinto.tests.core.support import DummyRequest - - -__all__ = (DummyRequest, unittest) diff --git a/kinto_ldap/tests/test_authentication.py b/kinto_ldap/tests/test_authentication.py index 1a890e2..56c28b6 100644 --- a/kinto_ldap/tests/test_authentication.py +++ b/kinto_ldap/tests/test_authentication.py @@ -1,11 +1,14 @@ import base64 import ldap -import mock +import unittest import time +import mock + from kinto.core.cache import memory as memory_backend +from kinto.core.testing import DummyRequest + from kinto_ldap import authentication, DEFAULT_SETTINGS -from . import unittest, DummyRequest class LDAPBasicAuthAuthenticationPolicyTest(unittest.TestCase): diff --git a/kinto_ldap/tests/test_includeme.py b/kinto_ldap/tests/test_includeme.py index bb52e90..f7ad3e6 100644 --- a/kinto_ldap/tests/test_includeme.py +++ b/kinto_ldap/tests/test_includeme.py @@ -1,9 +1,10 @@ +import unittest + import kinto.core from pyramid.exceptions import ConfigurationError from pyramid import testing from kinto_ldap import includeme -from . import unittest class IncludeMeTest(unittest.TestCase): diff --git a/kinto_ldap/tests/test_views.py b/kinto_ldap/tests/test_views.py index c2ebe63..2218817 100644 --- a/kinto_ldap/tests/test_views.py +++ b/kinto_ldap/tests/test_views.py @@ -1,10 +1,11 @@ +import unittest + import kinto.core import webtest from kinto.core.utils import random_bytes_hex from pyramid.config import Configurator from kinto_ldap import __version__ as ldap_version -from . import unittest def get_request_class(prefix): @@ -74,3 +75,16 @@ def test_ldap_capability(self, additional_settings=None): "LDAP server." } self.assertEqual(expected, capabilities['ldap']) + + +class HeartbeatTest(BaseWebTest, unittest.TestCase): + + def get_app_settings(self, extras=None): + settings = super(HeartbeatTest, self).get_app_settings(extras) + settings['ldap.endpoint'] = 'ldap://ldap.with.unreachable.server.com' + return settings + + def test_heartbeat_returns_false(self): + resp = self.app.get('/__heartbeat__', status=503) + heartbeat = resp.json['ldap'] + self.assertFalse(heartbeat)