From c9f57259be36e7aa80ab8be32693e11fb377664a Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 13 Jun 2016 19:05:29 +0200 Subject: [PATCH 1/7] Instructions on how to run integration tests #204 --- server/lib/python/cartodb_services/README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/lib/python/cartodb_services/README.md b/server/lib/python/cartodb_services/README.md index 9df0571..3703c82 100644 --- a/server/lib/python/cartodb_services/README.md +++ b/server/lib/python/cartodb_services/README.md @@ -40,7 +40,11 @@ OK ``` ## Running the integration tests -TBD +See the [[../../../../test/README.md]]. Basically, move to the `/test` directory at the top level of this repo and execute the `run_tests.py` script: +```sh +cd $(git rev-parse --show-toplevel)/test +python run_tests.py --host=$YOUR_HOST $YOUR_USERNAME $YOUR_API_KEY +``` ## TODO - Move dependencies expressed in `requirements.txt` to `setup.py` From e046ca2c4d741d5d216be478cee77f12b649030a Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 14 Jun 2016 10:04:17 +0200 Subject: [PATCH 2/7] Add test_should_write_zero_padded_dates #204 --- .../lib/python/cartodb_services/test/test_user_service.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/lib/python/cartodb_services/test/test_user_service.py b/server/lib/python/cartodb_services/test/test_user_service.py index fc0b6c6..d9a1398 100644 --- a/server/lib/python/cartodb_services/test/test_user_service.py +++ b/server/lib/python/cartodb_services/test/test_user_service.py @@ -116,6 +116,13 @@ class TestUserService(TestCase): #('user:test_user:geocoder_cache:success_responses:201506', 15) assert self.redis_conn.zscore_counter() == 3 + def test_should_write_zero_padded_dates(self): + us = self.__build_user_service('test_user') + us.increment_service_use(self.NOKIA_GEOCODER, 'success_responses', + date=date(2015,6,1)) + assert self.redis_conn.zscore('user:test_user:geocoder_here:success_responses:201506', '01') == 1 + assert self.redis_conn.zscore('user:test_user:geocoder_here:success_responses:201506', '1') == None + def __build_user_service(self, username, quota=100, service='heremaps', orgname=None, soft_limit=False, From f76a5cdfcc48d260b127d9c1c00f56d5acd49010 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 14 Jun 2016 10:13:14 +0200 Subject: [PATCH 3/7] Fix test_should_write_zero_padded_dates #204 --- .../python/cartodb_services/cartodb_services/metrics/user.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/lib/python/cartodb_services/cartodb_services/metrics/user.py b/server/lib/python/cartodb_services/cartodb_services/metrics/user.py index 90c9698..2d8188d 100644 --- a/server/lib/python/cartodb_services/cartodb_services/metrics/user.py +++ b/server/lib/python/cartodb_services/cartodb_services/metrics/user.py @@ -8,6 +8,7 @@ class UserMetricsService: SERVICE_GEOCODER_NOKIA = 'geocoder_here' SERVICE_GEOCODER_CACHE = 'geocoder_cache' SERVICE_HERE_ISOLINES = 'here_isolines' + DAY_OF_MONTH_ZERO_PADDED = '%d' def __init__(self, user_geocoder_config, redis_connection): self._user_geocoder_config = user_geocoder_config @@ -97,7 +98,9 @@ class UserMetricsService: def __increment_user_uses(self, service_type, metric, date, amount): redis_prefix = self.__parse_redis_prefix("user", self._username, service_type, metric, date) - self._redis_connection.zincrby(redis_prefix, date.day, amount) + self._redis_connection.zincrby(redis_prefix, + date.strftime(self.DAY_OF_MONTH_ZERO_PADDED), + amount) def __increment_organization_uses(self, service_type, metric, date, amount): redis_prefix = self.__parse_redis_prefix("org", self._orgname, From 25bf9b63722fc3f25d45623712f01f8c2eb3d550 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 14 Jun 2016 10:28:35 +0200 Subject: [PATCH 4/7] Add test_orgs_should_write_zero_padded_dates #204 --- .../lib/python/cartodb_services/test/test_user_service.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/lib/python/cartodb_services/test/test_user_service.py b/server/lib/python/cartodb_services/test/test_user_service.py index d9a1398..a73e00b 100644 --- a/server/lib/python/cartodb_services/test/test_user_service.py +++ b/server/lib/python/cartodb_services/test/test_user_service.py @@ -123,6 +123,14 @@ class TestUserService(TestCase): assert self.redis_conn.zscore('user:test_user:geocoder_here:success_responses:201506', '01') == 1 assert self.redis_conn.zscore('user:test_user:geocoder_here:success_responses:201506', '1') == None + def test_orgs_should_write_zero_padded_dates(self): + us = self.__build_user_service('test_user', orgname='test_org') + us.increment_service_use(self.NOKIA_GEOCODER, 'success_responses', + amount=400, + date=date(2015,6,1)) + assert self.redis_conn.zscore('org:test_org:geocoder_here:success_responses:201506', '01') == 400 + assert self.redis_conn.zscore('org:test_org:geocoder_here:success_responses:201506', '1') == None + def __build_user_service(self, username, quota=100, service='heremaps', orgname=None, soft_limit=False, From 37bcaeada3be9084169349603f3de5f68a55d93f Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 14 Jun 2016 10:39:10 +0200 Subject: [PATCH 5/7] Fix test_orgs_should_write_zero_padded_dates (WIP) #204 --- .../python/cartodb_services/cartodb_services/metrics/user.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/lib/python/cartodb_services/cartodb_services/metrics/user.py b/server/lib/python/cartodb_services/cartodb_services/metrics/user.py index 2d8188d..19cea3e 100644 --- a/server/lib/python/cartodb_services/cartodb_services/metrics/user.py +++ b/server/lib/python/cartodb_services/cartodb_services/metrics/user.py @@ -105,7 +105,9 @@ class UserMetricsService: def __increment_organization_uses(self, service_type, metric, date, amount): redis_prefix = self.__parse_redis_prefix("org", self._orgname, service_type, metric, date) - self._redis_connection.zincrby(redis_prefix, date.day, amount) + self._redis_connection.zincrby(redis_prefix, + date.strftime(self.DAY_OF_MONTH_ZERO_PADDED), + amount) def __parse_redis_prefix(self, prefix, entity_name, service_type, metric, date): From 972970a12d2749230d067e7a2d40ee941ccc346b Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 14 Jun 2016 15:25:37 +0200 Subject: [PATCH 6/7] Use DAY_OF_MONTH_ZERO_PADDED elsewhere #204 --- .../python/cartodb_services/cartodb_services/metrics/user.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/lib/python/cartodb_services/cartodb_services/metrics/user.py b/server/lib/python/cartodb_services/cartodb_services/metrics/user.py index 19cea3e..30bd5a1 100644 --- a/server/lib/python/cartodb_services/cartodb_services/metrics/user.py +++ b/server/lib/python/cartodb_services/cartodb_services/metrics/user.py @@ -86,7 +86,7 @@ class UserMetricsService: service, metric, date) score = self._redis_connection.zscore(redis_prefix, date.day) aggregated_metric += score if score else 0 - zero_padded_day = date.strftime('%d') + zero_padded_day = date.strftime(self.DAY_OF_MONTH_ZERO_PADDED) if str(date.day) != zero_padded_day: score = self._redis_connection.zscore(redis_prefix, zero_padded_day) aggregated_metric += score if score else 0 From 9ed059f4cc28cc1a01a1a92bbc768b4a44eaeaf1 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 14 Jun 2016 18:42:29 +0200 Subject: [PATCH 7/7] Bump server python lib version to 0.6.4 #204 --- server/lib/python/cartodb_services/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/lib/python/cartodb_services/setup.py b/server/lib/python/cartodb_services/setup.py index 6b46234..a31ecb6 100644 --- a/server/lib/python/cartodb_services/setup.py +++ b/server/lib/python/cartodb_services/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages setup( name='cartodb_services', - version='0.6.3', + version='0.6.4', description='CartoDB Services API Python Library',