145 lines
6.7 KiB
Plaintext
145 lines
6.7 KiB
Plaintext
\set VERBOSITY terse
|
|
-- Add to the search path the schema
|
|
SET search_path TO public,cartodb,cdb_dataservices_client;
|
|
-- Mock the server functions
|
|
CREATE OR REPLACE FUNCTION cdb_dataservices_server.cdb_geocode_street_point (username text, orgname text, searchtext text, city text DEFAULT NULL, state_province text DEFAULT NULL, country text DEFAULT NULL)
|
|
RETURNS Geometry AS $$
|
|
BEGIN
|
|
RAISE NOTICE 'cdb_dataservices_server.cdb_geocode_geocoder_street_point invoked with params (%, %, %, %, %, %)', username, orgname, searchtext, city, state_province, country;
|
|
RETURN NULL;
|
|
END;
|
|
$$ LANGUAGE 'plpgsql';
|
|
-- -- Exercise the public and the proxied function
|
|
-- No permissions granted
|
|
SELECT cdb_geocode_street_point('One street, 1');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city', 'state');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city', 'state', 'country');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city', NULL, 'country');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street, 1');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city', 'state');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city', 'state', 'country');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city', NULL, 'country');
|
|
ERROR: Geocoding is not allowed
|
|
-- Grant other permissions but geocoding
|
|
SELECT CDB_Conf_SetConf('api_keys_postgres', '{"application": "testing_app", "permissions": ["routing", "isolines"]}');
|
|
cdb_conf_setconf
|
|
------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT cdb_geocode_street_point('One street, 1');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city', 'state');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city', 'state', 'country');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city', NULL, 'country');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street, 1');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city', 'state');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city', 'state', 'country');
|
|
ERROR: Geocoding is not allowed
|
|
SELECT cdb_geocode_street_point('One street', 'city', NULL, 'country');
|
|
ERROR: Geocoding is not allowed
|
|
-- Grant geocoding permissions
|
|
SELECT CDB_Conf_SetConf('api_keys_postgres', '{"application": "testing_app", "permissions": ["geocoding"]}');
|
|
cdb_conf_setconf
|
|
------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT cdb_geocode_street_point('One street, 1');
|
|
NOTICE: cdb_dataservices_client._cdb_geocode_street_point(7): [contrib_regression] REMOTE NOTICE: cdb_dataservices_server.cdb_geocode_geocoder_street_point invoked with params (test_user, <NULL>, "testing_app", One street, 1, <NULL>, <NULL>, <NULL>)
|
|
cdb_geocode_street_point
|
|
--------------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT cdb_geocode_street_point('One street', 'city');
|
|
NOTICE: cdb_dataservices_client._cdb_geocode_street_point(7): [contrib_regression] REMOTE NOTICE: cdb_dataservices_server.cdb_geocode_geocoder_street_point invoked with params (test_user, <NULL>, "testing_app", One street, city, <NULL>, <NULL>)
|
|
cdb_geocode_street_point
|
|
--------------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT cdb_geocode_street_point('One street', 'city', 'state');
|
|
NOTICE: cdb_dataservices_client._cdb_geocode_street_point(7): [contrib_regression] REMOTE NOTICE: cdb_dataservices_server.cdb_geocode_geocoder_street_point invoked with params (test_user, <NULL>, "testing_app", One street, city, state, <NULL>)
|
|
cdb_geocode_street_point
|
|
--------------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT cdb_geocode_street_point('One street', 'city', 'state', 'country');
|
|
NOTICE: cdb_dataservices_client._cdb_geocode_street_point(7): [contrib_regression] REMOTE NOTICE: cdb_dataservices_server.cdb_geocode_geocoder_street_point invoked with params (test_user, <NULL>, "testing_app", One street, city, state, country)
|
|
cdb_geocode_street_point
|
|
--------------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT cdb_geocode_street_point('One street', 'city', NULL, 'country');
|
|
NOTICE: cdb_dataservices_client._cdb_geocode_street_point(7): [contrib_regression] REMOTE NOTICE: cdb_dataservices_server.cdb_geocode_geocoder_street_point invoked with params (test_user, <NULL>, "testing_app", One street, city, <NULL>, country)
|
|
cdb_geocode_street_point
|
|
--------------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT cdb_geocode_street_point('One street, 1');
|
|
NOTICE: cdb_dataservices_client._cdb_geocode_street_point(7): [contrib_regression] REMOTE NOTICE: cdb_dataservices_server.cdb_geocode_geocoder_street_point invoked with params (test_user, <NULL>, "testing_app", One street, 1, <NULL>, <NULL>, <NULL>)
|
|
cdb_geocode_street_point
|
|
--------------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT cdb_geocode_street_point('One street', 'city');
|
|
NOTICE: cdb_dataservices_client._cdb_geocode_street_point(7): [contrib_regression] REMOTE NOTICE: cdb_dataservices_server.cdb_geocode_geocoder_street_point invoked with params (test_user, <NULL>, "testing_app", One street, city, <NULL>, <NULL>)
|
|
cdb_geocode_street_point
|
|
--------------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT cdb_geocode_street_point('One street', 'city', 'state');
|
|
NOTICE: cdb_dataservices_client._cdb_geocode_street_point(7): [contrib_regression] REMOTE NOTICE: cdb_dataservices_server.cdb_geocode_geocoder_street_point invoked with params (test_user, <NULL>, "testing_app", One street, city, state, <NULL>)
|
|
cdb_geocode_street_point
|
|
--------------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT cdb_geocode_street_point('One street', 'city', 'state', 'country');
|
|
NOTICE: cdb_dataservices_client._cdb_geocode_street_point(7): [contrib_regression] REMOTE NOTICE: cdb_dataservices_server.cdb_geocode_geocoder_street_point invoked with params (test_user, <NULL>, "testing_app", One street, city, state, country)
|
|
cdb_geocode_street_point
|
|
--------------------------
|
|
|
|
(1 row)
|
|
|
|
SELECT cdb_geocode_street_point('One street', 'city', NULL, 'country');
|
|
NOTICE: cdb_dataservices_client._cdb_geocode_street_point(7): [contrib_regression] REMOTE NOTICE: cdb_dataservices_server.cdb_geocode_geocoder_street_point invoked with params (test_user, <NULL>, "testing_app", One street, city, <NULL>, country)
|
|
cdb_geocode_street_point
|
|
--------------------------
|
|
|
|
(1 row)
|
|
|
|
-- Remove permissions
|
|
SELECT CDB_Conf_RemoveConf('api_keys_postgres');
|
|
cdb_conf_removeconf
|
|
---------------------
|
|
|
|
(1 row)
|
|
|