From 5a7e1ca26207943a0ef92894c4c76e60f9419160 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 3 Nov 2015 16:11:17 +0100 Subject: [PATCH] Add an install test --- geocoder/extension/Makefile | 1 + geocoder/extension/expected/00_install_test.out | 14 ++++++++++++++ .../expected/cdb_geocoder_admin0_test.out | 12 ------------ .../expected/cdb_geocoder_admin1_test.out | 12 ------------ geocoder/extension/sql/0.0.1/20_admin1.sql | 1 - geocoder/extension/sql/00_install_test.sql | 16 ++++++++++++++++ .../extension/sql/cdb_geocoder_admin0_test.sql | 14 -------------- .../extension/sql/cdb_geocoder_admin1_test.sql | 14 -------------- 8 files changed, 31 insertions(+), 53 deletions(-) create mode 100644 geocoder/extension/expected/00_install_test.out create mode 100644 geocoder/extension/sql/00_install_test.sql diff --git a/geocoder/extension/Makefile b/geocoder/extension/Makefile index 288e327..2985b9b 100644 --- a/geocoder/extension/Makefile +++ b/geocoder/extension/Makefile @@ -5,6 +5,7 @@ EXTVERSION = $(shell grep default_version $(EXTENSION).control | sed -e "s/defau DATA = $(EXTENSION)--$(EXTVERSION).sql REGRESS = \ + 00_install_test \ cdb_geocoder_admin0_test \ cdb_geocoder_admin1_test diff --git a/geocoder/extension/expected/00_install_test.out b/geocoder/extension/expected/00_install_test.out new file mode 100644 index 0000000..1bc65bc --- /dev/null +++ b/geocoder/extension/expected/00_install_test.out @@ -0,0 +1,14 @@ +-- Install dependencies +CREATE EXTENSION postgis; +CREATE EXTENSION schema_triggers; +CREATE EXTENSION plpythonu; +CREATE EXTENSION cartodb; +-- Install the extension +CREATE EXTENSION cdb_geocoder; +-- Mock the varnish invalidation function +CREATE OR REPLACE FUNCTION public.cdb_invalidate_varnish(table_name text) RETURNS void AS $$ +BEGIN + RETURN; +END +$$ +LANGUAGE plpgsql; diff --git a/geocoder/extension/expected/cdb_geocoder_admin0_test.out b/geocoder/extension/expected/cdb_geocoder_admin0_test.out index c6e846c..f4ae329 100644 --- a/geocoder/extension/expected/cdb_geocoder_admin0_test.out +++ b/geocoder/extension/expected/cdb_geocoder_admin0_test.out @@ -1,8 +1,3 @@ -CREATE EXTENSION postgis; -CREATE EXTENSION schema_triggers; -CREATE EXTENSION plpythonu; -CREATE EXTENSION cartodb; -CREATE EXTENSION cdb_geocoder_admin0; -- Check that the synonym function is callable, should return NULL SELECT (admin0_synonym_lookup(Array['United States', 'ESP'])).*; q | adm0_a3 @@ -20,13 +15,6 @@ SELECT (geocode_admin0_polygons(Array['Spain', 'USA', ''])).*; USA | | f (3 rows) --- Mock the varnish invalidation function -CREATE OR REPLACE FUNCTION public.cdb_invalidate_varnish(table_name text) RETURNS void AS $$ -BEGIN - RETURN; -END -$$ -LANGUAGE plpgsql; -- Add a few synonyms COPY admin0_synonyms (name, rank, created_at, updated_at, the_geom, the_geom_webmercator, cartodb_id, adm0_a3, name_) FROM stdin; -- Check that the synonym function is callable, should return their iso codes diff --git a/geocoder/extension/expected/cdb_geocoder_admin1_test.out b/geocoder/extension/expected/cdb_geocoder_admin1_test.out index 88fa96f..fee381e 100644 --- a/geocoder/extension/expected/cdb_geocoder_admin1_test.out +++ b/geocoder/extension/expected/cdb_geocoder_admin1_test.out @@ -1,8 +1,3 @@ -CREATE EXTENSION postgis; -CREATE EXTENSION schema_triggers; -CREATE EXTENSION plpythonu; -CREATE EXTENSION cartodb; -CREATE EXTENSION cdb_geocoder_admin1; -- Check that the geocoding functions are callable, should return NULL SELECT (geocode_admin1_polygons(Array['TX','Cuidad Real', 'sevilla'])).*; q | geom | success @@ -26,13 +21,6 @@ SELECT (geocode_admin1_polygons(Array['az', 'az'], Array['Ecuador', 'USA'])).*; az | USA | | f (2 rows) --- Mock the varnish invalidation function -CREATE OR REPLACE FUNCTION public.cdb_invalidate_varnish(table_name text) RETURNS void AS $$ -BEGIN - RETURN; -END -$$ -LANGUAGE plpgsql; -- Add a few data to the sources INSERT INTO global_province_polygons (the_geom, synonyms, iso3) VALUES ( '0106000020E610000001000000010300000001000000040000000000000000E000C01F383D7839B740400000000000E000C0AA3C0EDE220F3B4000000000004812404FB7FCCD04893D400000000000E000C01F383D7839B74040', diff --git a/geocoder/extension/sql/0.0.1/20_admin1.sql b/geocoder/extension/sql/0.0.1/20_admin1.sql index 3d9060d..f2a85f7 100644 --- a/geocoder/extension/sql/0.0.1/20_admin1.sql +++ b/geocoder/extension/sql/0.0.1/20_admin1.sql @@ -1,7 +1,6 @@ -- Response types for admin1 geocoder -- TODO: check if the types exist already in the db -CREATE TYPE geocode_admin_v1 AS (q TEXT, geom GEOMETRY, success BOOLEAN); CREATE TYPE geocode_admin_country_v1 AS (q TEXT, c TEXT, geom GEOMETRY, success BOOLEAN); diff --git a/geocoder/extension/sql/00_install_test.sql b/geocoder/extension/sql/00_install_test.sql new file mode 100644 index 0000000..6bbc3d4 --- /dev/null +++ b/geocoder/extension/sql/00_install_test.sql @@ -0,0 +1,16 @@ +-- Install dependencies +CREATE EXTENSION postgis; +CREATE EXTENSION schema_triggers; +CREATE EXTENSION plpythonu; +CREATE EXTENSION cartodb; + +-- Install the extension +CREATE EXTENSION cdb_geocoder; + +-- Mock the varnish invalidation function +CREATE OR REPLACE FUNCTION public.cdb_invalidate_varnish(table_name text) RETURNS void AS $$ +BEGIN + RETURN; +END +$$ +LANGUAGE plpgsql; diff --git a/geocoder/extension/sql/cdb_geocoder_admin0_test.sql b/geocoder/extension/sql/cdb_geocoder_admin0_test.sql index 4a9916f..3ce1a11 100644 --- a/geocoder/extension/sql/cdb_geocoder_admin0_test.sql +++ b/geocoder/extension/sql/cdb_geocoder_admin0_test.sql @@ -1,23 +1,9 @@ -CREATE EXTENSION postgis; -CREATE EXTENSION schema_triggers; -CREATE EXTENSION plpythonu; -CREATE EXTENSION cartodb; -CREATE EXTENSION cdb_geocoder_admin0; - -- Check that the synonym function is callable, should return NULL SELECT (admin0_synonym_lookup(Array['United States', 'ESP'])).*; -- Check that the geocoding function is callable, should return success = false SELECT (geocode_admin0_polygons(Array['Spain', 'USA', ''])).*; --- Mock the varnish invalidation function -CREATE OR REPLACE FUNCTION public.cdb_invalidate_varnish(table_name text) RETURNS void AS $$ -BEGIN - RETURN; -END -$$ -LANGUAGE plpgsql; - -- Add a few synonyms COPY admin0_synonyms (name, rank, created_at, updated_at, the_geom, the_geom_webmercator, cartodb_id, adm0_a3, name_) FROM stdin; United States 0 2014-09-30 10:13:28.383426+00 2014-09-30 10:13:28.383426+00 \N \N 29614 USA unitedstates diff --git a/geocoder/extension/sql/cdb_geocoder_admin1_test.sql b/geocoder/extension/sql/cdb_geocoder_admin1_test.sql index 8be88fc..5d64f54 100644 --- a/geocoder/extension/sql/cdb_geocoder_admin1_test.sql +++ b/geocoder/extension/sql/cdb_geocoder_admin1_test.sql @@ -1,22 +1,8 @@ -CREATE EXTENSION postgis; -CREATE EXTENSION schema_triggers; -CREATE EXTENSION plpythonu; -CREATE EXTENSION cartodb; -CREATE EXTENSION cdb_geocoder_admin1; - -- Check that the geocoding functions are callable, should return NULL SELECT (geocode_admin1_polygons(Array['TX','Cuidad Real', 'sevilla'])).*; SELECT (geocode_admin1_polygons(Array['NH', 'Vermont'], 'United States')).*; SELECT (geocode_admin1_polygons(Array['az', 'az'], Array['Ecuador', 'USA'])).*; --- Mock the varnish invalidation function -CREATE OR REPLACE FUNCTION public.cdb_invalidate_varnish(table_name text) RETURNS void AS $$ -BEGIN - RETURN; -END -$$ -LANGUAGE plpgsql; - -- Add a few data to the sources INSERT INTO global_province_polygons (the_geom, synonyms, iso3) VALUES ( '0106000020E610000001000000010300000001000000040000000000000000E000C01F383D7839B740400000000000E000C0AA3C0EDE220F3B4000000000004812404FB7FCCD04893D400000000000E000C01F383D7839B74040',