Fix test: make it independent of current date #281

This commit is contained in:
Rafa de la Torre 2016-10-21 15:08:14 +02:00
parent e1a7d1751c
commit cc2ab1bc0c

View File

@ -14,40 +14,41 @@ class RoutingConfigMock(object):
class TestQuotaChecker(TestCase):
USERNAME = 'my_test_user'
PERIOD_END_DATE = datetime(2016,10,20)
SERVICE_TYPE = 'routing_mapzen'
REDIS_KEY = 'user:{0}:{1}:success_responses:{2}{3}'.format(
USERNAME,
SERVICE_TYPE,
PERIOD_END_DATE.year,
PERIOD_END_DATE.month
)
def setUp(self):
self.username = 'my_test_user'
self.period_end_date = datetime.today()
self.service_type = 'routing_mapzen'
self.redis_key = 'user:{0}:{1}:success_responses:{2}{3}'.format(
self.username,
self.service_type,
self.period_end_date.year,
self.period_end_date.month
)
def test_routing_quota_check_passes_when_enough_quota(self):
user_service_config = RoutingConfigMock(
username = self.USERNAME,
username = self.username,
organization = None,
service_type = self.SERVICE_TYPE,
service_type = self.service_type,
monthly_quota = 1000,
period_end_date = datetime.today(),
soft_limit = False
)
redis_conn = MockRedis()
redis_conn.zincrby(self.REDIS_KEY, self.PERIOD_END_DATE.day, 999)
redis_conn.zincrby(self.redis_key, self.period_end_date.day, 999)
assert QuotaChecker(user_service_config, redis_conn).check() == True
def test_routing_quota_check_fails_when_quota_exhausted(self):
user_service_config = RoutingConfigMock(
username = self.USERNAME,
username = self.username,
organization = None,
service_type = self.SERVICE_TYPE,
service_type = self.service_type,
monthly_quota = 1000,
period_end_date = datetime.today(),
soft_limit = False
)
redis_conn = MockRedis()
redis_conn.zincrby(self.REDIS_KEY, self.PERIOD_END_DATE.day, 1001)
redis_conn.zincrby(self.redis_key, self.period_end_date.day, 1001)
checker = QuotaChecker(user_service_config, redis_conn)
assert checker.check() == False
@ -57,28 +58,28 @@ class TestQuotaChecker(TestCase):
the check to perform the 1001th routing operation.
"""
user_service_config = RoutingConfigMock(
username = self.USERNAME,
username = self.username,
organization = None,
service_type = self.SERVICE_TYPE,
service_type = self.service_type,
monthly_quota = 1000,
period_end_date = datetime.today(),
soft_limit = False
)
redis_conn = MockRedis()
redis_conn.zincrby(self.REDIS_KEY, self.PERIOD_END_DATE.day, 1000)
redis_conn.zincrby(self.redis_key, self.period_end_date.day, 1000)
checker = QuotaChecker(user_service_config, redis_conn)
assert checker.check() == False
def test_routing_quota_check_passes_if_no_quota_but_soft_limit(self):
user_service_config = RoutingConfigMock(
username = self.USERNAME,
username = self.username,
organization = None,
service_type = self.SERVICE_TYPE,
service_type = self.service_type,
monthly_quota = 1000,
period_end_date = datetime.today(),
soft_limit = True
)
redis_conn = MockRedis()
redis_conn.zincrby(self.REDIS_KEY, self.PERIOD_END_DATE.day, 1001)
redis_conn.zincrby(self.redis_key, self.period_end_date.day, 1001)
checker = QuotaChecker(user_service_config, redis_conn)
assert checker.check() == True