2018-06-28 19:06:52 +08:00
\set VERBOSITY terse
2018-07-18 20:29:50 +08:00
ALTER FUNCTION cdb_dataservices_client.cdb_service_quota_info_batch() RENAME TO cdb_service_quota_info_batch_mocked;
CREATE FUNCTION cdb_dataservices_client.cdb_service_quota_info_batch ()
RETURNS SETOF cdb_dataservices_client.service_quota_info_batch AS $$
2018-07-11 01:06:49 +08:00
SELECT 'hires_geocoder'::cdb_dataservices_client.service_type AS service, 0::NUMERIC AS monthly_quota, 0::NUMERIC AS used_quota, FALSE AS soft_limit, 'google' AS provider, 1::NUMERIC AS max_batch_size;
$$ LANGUAGE SQL;
2018-06-28 19:06:52 +08:00
ALTER FUNCTION cdb_dataservices_client.cdb_enough_quota (service TEXT ,input_size NUMERIC) RENAME TO cdb_enough_quota_mocked;
CREATE FUNCTION cdb_dataservices_client.cdb_enough_quota (service TEXT ,input_size NUMERIC)
RETURNS BOOLEAN as $$
SELECT FALSE;
$$ LANGUAGE SQL;
2018-09-06 22:40:05 +08:00
-- No permissions granted
-- Test bulk size not mandatory (it will get the optimal)
SELECT cdb_dataservices_client.cdb_bulk_geocode_street_point('select 1 as cartodb_id', '''Valladolid, Spain''', null, null, null, null);
2018-09-10 22:45:31 +08:00
ERROR: Geocoding permission denied
2018-09-06 22:40:05 +08:00
-- Test quota check by mocking quota 0
SELECT cdb_dataservices_client.cdb_bulk_geocode_street_point('select 1 as cartodb_id', '''Valladolid, Spain''');
2018-09-10 22:45:31 +08:00
ERROR: Geocoding permission denied
2018-09-06 22:40:05 +08:00
-- Grant other permissions but geocoding
2018-09-10 20:33:54 +08:00
SELECT CDB_Conf_SetConf('api_keys_postgres', '{"permissions": ["routing", "isolines"]}');
2018-09-06 22:40:05 +08:00
cdb_conf_setconf
------------------
(1 row)
-- Test bulk size not mandatory (it will get the optimal)
SELECT cdb_dataservices_client.cdb_bulk_geocode_street_point('select 1 as cartodb_id', '''Valladolid, Spain''', null, null, null, null);
2018-09-10 22:45:31 +08:00
ERROR: Geocoding permission denied
2018-09-06 22:40:05 +08:00
-- Test quota check by mocking quota 0
SELECT cdb_dataservices_client.cdb_bulk_geocode_street_point('select 1 as cartodb_id', '''Valladolid, Spain''');
2018-09-10 22:45:31 +08:00
ERROR: Geocoding permission denied
2018-09-06 22:40:05 +08:00
-- Grant geocoding permissions
2018-09-10 20:33:54 +08:00
SELECT CDB_Conf_SetConf('api_keys_postgres', '{"permissions": ["geocoding"]}');
2018-09-06 22:40:05 +08:00
cdb_conf_setconf
------------------
(1 row)
2018-07-11 01:06:49 +08:00
-- Test bulk size not mandatory (it will get the optimal)
SELECT cdb_dataservices_client.cdb_bulk_geocode_street_point('select 1 as cartodb_id', '''Valladolid, Spain''', null, null, null, null);
ERROR: Remaining quota: 0. Estimated cost: 1
-- Test quota check by mocking quota 0
2018-06-28 19:06:52 +08:00
SELECT cdb_dataservices_client.cdb_bulk_geocode_street_point('select 1 as cartodb_id', '''Valladolid, Spain''');
ERROR: Remaining quota: 0. Estimated cost: 1
2018-09-06 22:40:05 +08:00
-- Remove permissions
SELECT CDB_Conf_RemoveConf('api_keys_postgres');
cdb_conf_removeconf
---------------------
(1 row)
2018-07-18 20:29:50 +08:00
DROP FUNCTION cdb_dataservices_client.cdb_service_quota_info_batch;
2018-06-28 19:06:52 +08:00
DROP FUNCTION cdb_dataservices_client.cdb_enough_quota;
ALTER FUNCTION cdb_dataservices_client.cdb_enough_quota_mocked (service TEXT ,input_size NUMERIC) RENAME TO cdb_enough_quota;
2018-07-18 20:29:50 +08:00
ALTER FUNCTION cdb_dataservices_client.cdb_service_quota_info_batch_mocked() RENAME TO cdb_service_quota_info_batch;