diff --git a/defender/test_settings.py b/defender/test_settings.py index 18f8e42..bb52b14 100644 --- a/defender/test_settings.py +++ b/defender/test_settings.py @@ -38,3 +38,4 @@ LOGIN_REDIRECT_URL = '/admin' DEFENDER_LOGIN_FAILURE_LIMIT = 10 DEFENDER_COOLOFF_TIME = 2 +MOCK_REDIS = True diff --git a/defender/tests.py b/defender/tests.py index 3c83e2b..205b6c6 100644 --- a/defender/tests.py +++ b/defender/tests.py @@ -9,12 +9,15 @@ from django.test import TestCase from django.contrib.auth.models import User from django.core.urlresolvers import NoReverseMatch from django.core.urlresolvers import reverse -from django.test.utils import override_settings from django.conf import settings from . import utils -redis_client = mockredis.mock_strict_redis_client() +if settings.MOCK_REDIS: + redis_client = mockredis.mock_strict_redis_client() +else: + from .utils import redis_server + redis_client = redis_server # Django >= 1.7 compatibility try: @@ -120,8 +123,10 @@ class AccessAttemptTest(TestCase): self.test_failure_limit_once() # Wait for the cooling off period time.sleep(utils.COOLOFF_TIME) - # mock redis require that we expire on our own - redis_client.do_expire() + + if settings.MOCK_REDIS: + # mock redis require that we expire on our own + redis_client.do_expire() # It should be possible to login again, make sure it is. self.test_valid_login() diff --git a/defender/travis_settings.py b/defender/travis_settings.py index 653c806..43ed784 100644 --- a/defender/travis_settings.py +++ b/defender/travis_settings.py @@ -39,3 +39,4 @@ LOGIN_REDIRECT_URL = '/admin' DEFENDER_LOGIN_FAILURE_LIMIT = 10 DEFENDER_COOLOFF_TIME = 2 +MOCK_REDIS = False