From 0b8a9950e8f1539e5ee0676d00b780aafc3d87f3 Mon Sep 17 00:00:00 2001 From: xbgmsharp Date: Sun, 5 Jan 2025 17:36:48 +0100 Subject: [PATCH] Update tests - Add full support for MobilityDB --- tests/index.js | 30 +++++-- tests/index2.js | 14 +++- tests/index3.js | 60 +++++++++++--- tests/index5.js | 48 +++++++++-- tests/index6.js | 31 +++++-- tests/package.json | 3 + tests/sql/badges.sql | 18 +++-- tests/sql/cron_post_jobs.sql | 26 ++++-- tests/sql/cron_post_jobs.sql.output | 10 ++- tests/sql/grafana.sql | 11 ++- tests/sql/grafana.sql.output | 121 +++++++++++++++++++--------- tests/sql/logbook.sql | 3 +- tests/sql/logbook.sql.output | 4 - tests/sql/mobilitydb.sql | 11 +-- tests/sql/mobilitydb.sql.output | 10 +-- tests/sql/qgis.sql | 3 +- tests/sql/qgis.sql.output | 12 +-- tests/tests.sh | 7 +- 18 files changed, 307 insertions(+), 115 deletions(-) diff --git a/tests/index.js b/tests/index.js index 880f7cf..6bbbce6 100644 --- a/tests/index.js +++ b/tests/index.js @@ -89,7 +89,7 @@ const fs = require('fs'); */ ], user_fn: [ - { url: '/rpc/timelapse_fn', + { url: '/rpc/export_logbooks_geojson_point_trips_fn', payload: { start_log: 1 }, @@ -97,7 +97,7 @@ const fs = require('fs'); obj_name: 'geojson' } }, - { url: '/rpc/export_logbook_geojson_fn', + { url: '/rpc/export_logbook_geojson_trip_fn', payload: { _id: 1 }, @@ -105,7 +105,15 @@ const fs = require('fs'); obj_name: 'geojson' } }, - { url: '/rpc/export_logbook_gpx_fn', + { url: '/rpc/export_logbook_gpx_trip_fn', + payload: { + _id: 1 + }, + res: { + obj_name: null + } + }, + { url: '/rpc/export_logbook_kml_trip_fn', payload: { _id: 1 }, @@ -228,15 +236,15 @@ const fs = require('fs'); */ ], user_fn: [ - { url: '/rpc/timelapse_fn', + { url: '/rpc/export_logbooks_geojson_point_trips_fn', payload: { - start_log: 3 + start_log: 1 }, res: { obj_name: 'geojson' } }, - { url: '/rpc/export_logbook_geojson_fn', + { url: '/rpc/export_logbook_geojson_trip_fn', payload: { _id: 3 }, @@ -244,7 +252,15 @@ const fs = require('fs'); obj_name: 'geojson' } }, - { url: '/rpc/export_logbook_gpx_fn', + { url: '/rpc/export_logbook_gpx_trip_fn', + payload: { + _id: 3 + }, + res: { + obj_name: null + } + }, + { url: '/rpc/export_logbook_kml_trip_fn', payload: { _id: 3 }, diff --git a/tests/index2.js b/tests/index2.js index 6efd2b1..7525af3 100644 --- a/tests/index2.js +++ b/tests/index2.js @@ -77,7 +77,7 @@ const metrics_simulator = require('./metrics_sample_simulator.json'); */ ], user_fn: [ - { url: '/rpc/timelapse_fn', + { url: '/rpc/export_logbooks_geojson_point_trips_fn', payload: { start_log: 4 }, @@ -85,7 +85,7 @@ const metrics_simulator = require('./metrics_sample_simulator.json'); obj_name: 'geojson' } }, - { url: '/rpc/export_logbook_geojson_fn', + { url: '/rpc/export_logbook_geojson_trip_fn', payload: { _id: 4 }, @@ -93,7 +93,15 @@ const metrics_simulator = require('./metrics_sample_simulator.json'); obj_name: 'geojson' } }, - { url: '/rpc/export_logbook_gpx_fn', + { url: '/rpc/export_logbook_gpx_trip_fn', + payload: { + _id: 4 + }, + res: { + obj_name: null + } + }, + { url: '/rpc/export_logbook_kml_trip_fn', payload: { _id: 4 }, diff --git a/tests/index3.js b/tests/index3.js index 71b5b4e..51fb326 100644 --- a/tests/index3.js +++ b/tests/index3.js @@ -79,7 +79,8 @@ var moment = require('moment'); } ], user_fn: [ - { url: '/rpc/timelapse_fn', + { //url: '/rpc/timelapse_fn', + url: '/rpc/export_logbooks_geojson_linestring_trips_fn', payload: { start_log: 2 }, @@ -87,7 +88,17 @@ var moment = require('moment'); obj_name: 'geojson' } }, - { url: '/rpc/export_logbook_geojson_fn', + { //url: '/rpc/timelapse_fn', + url: '/rpc/export_logbooks_geojson_point_trips_fn', + payload: { + start_log: 2 + }, + res: { + obj_name: 'geojson' + } + }, + { //url: '/rpc/export_logbook_geojson_fn', + url: '/rpc/export_logbook_geojson_trip_fn', payload: { _id: 2 }, @@ -95,7 +106,8 @@ var moment = require('moment'); obj_name: 'geojson' } }, - { url: '/rpc/export_logbook_gpx_fn', + { //url: '/rpc/export_logbook_gpx_fn', + url: '/rpc/export_logbook_kml_trip_fn', payload: { _id: 2 }, @@ -103,7 +115,8 @@ var moment = require('moment'); obj_name: null } }, - { url: '/rpc/export_logbook_kml_fn', + { //url: '/rpc/export_logbook_kml_fn', + url: '/rpc/export_logbook_kml_trip_fn', payload: { _id: 2 }, @@ -123,6 +136,12 @@ var moment = require('moment'); obj_name: null } }, + { url: '/rpc/export_moorages_kml_fn', + payload: {}, + res: { + obj_name: null + } + }, { url: '/rpc/find_log_from_moorage_fn', payload: { _id: 2 @@ -277,7 +296,8 @@ var moment = require('moment'); } ], user_fn: [ - { url: '/rpc/timelapse_fn', + { //url: '/rpc/timelapse_fn', + url: '/rpc/export_logbooks_geojson_linestring_trips_fn', payload: { start_log: 4 }, @@ -285,7 +305,17 @@ var moment = require('moment'); obj_name: 'geojson' } }, - { url: '/rpc/export_logbook_geojson_fn', + { //url: '/rpc/timelapse_fn', + url: '/rpc/export_logbooks_geojson_point_trips_fn', + payload: { + start_log: 4 + }, + res: { + obj_name: 'geojson' + } + }, + { //url: '/rpc/export_logbook_geojson_fn', + url: '/rpc/export_logbook_geojson_trip_fn', payload: { _id: 4 }, @@ -293,7 +323,8 @@ var moment = require('moment'); obj_name: 'geojson' } }, - { url: '/rpc/export_logbook_gpx_fn', + { //url: '/rpc/export_logbook_gpx_fn', + url: '/rpc/export_logbook_gpx_trip_fn', payload: { _id: 4 }, @@ -301,7 +332,8 @@ var moment = require('moment'); obj_name: null } }, - { url: '/rpc/export_logbook_kml_fn', + { //url: '/rpc/export_logbook_kml_fn', + url: '/rpc/export_logbook_kml_trip_fn', payload: { _id: 4 }, @@ -309,7 +341,8 @@ var moment = require('moment'); obj_name: null } }, - { url: '/rpc/export_logbooks_gpx_fn', + { //url: '/rpc/export_logbooks_gpx_fn', + url: '/rpc/export_logbooks_kml_trips_fn', payload: { start_log: 3, end_log: 4 @@ -318,7 +351,8 @@ var moment = require('moment'); obj_name: null } }, - { url: '/rpc/export_logbooks_kml_fn', + { //url: '/rpc/export_logbooks_kml_fn', + url: '/rpc/export_logbooks_kml_trips_fn', payload: { start_log: 3, end_log: 4 @@ -339,6 +373,12 @@ var moment = require('moment'); obj_name: null } }, + { url: '/rpc/export_moorages_kml_fn', + payload: {}, + res: { + obj_name: null + } + }, { url: '/rpc/find_log_from_moorage_fn', payload: { _id: 4 diff --git a/tests/index5.js b/tests/index5.js index 692abc9..c96ab71 100644 --- a/tests/index5.js +++ b/tests/index5.js @@ -45,13 +45,22 @@ var moment = require("moment"); res: {}, }, timelapse: { - url: "/rpc/timelapse_fn", + //url: "/rpc/timelapse_fn", + url: '/rpc/export_logbooks_geojson_linestring_trips_fn', header: { name: "x-is-public", value: btoa("kapla,public_timelapse,1") }, payload: null, res: {}, }, timelapse_full: { - url: "/rpc/timelapse_fn", + //url: "/rpc/timelapse_fn", + url: '/rpc/export_logbooks_geojson_linestring_trips_fn', + header: { name: "x-is-public", value: btoa("kapla,public_timelapse,0") }, + payload: null, + res: {}, + }, + replay_full: { + //url: "/rpc/timelapse_fn", + url: '/rpc/export_logbooks_geojson_point_trips_fn', header: { name: "x-is-public", value: btoa("kapla,public_timelapse,0") }, payload: null, res: {}, @@ -69,7 +78,7 @@ var moment = require("moment"); res: {}, }, export_gpx: { - url: "/rpc/export_logbook_gpx_fn", + url: "/rpc/export_logbook_gpx_trip_fn", header: { name: "x-is-public", value: btoa("kapla,public_logs,0") }, payload: null, res: {}, @@ -97,13 +106,21 @@ var moment = require("moment"); res: {}, }, timelapse: { - url: "/rpc/timelapse_fn", + //url: "/rpc/timelapse_fn", + url: '/rpc/export_logbooks_geojson_linestring_trips_fn', header: { name: "x-is-public", value: btoa("aava,public_timelapse,3") }, payload: null, res: {}, }, timelapse_full: { - url: "/rpc/timelapse_fn", + //url: "/rpc/timelapse_fn", + url: '/rpc/export_logbooks_geojson_linestring_trips_fn', + header: { name: "x-is-public", value: btoa("aava,public_timelapse,0") }, + payload: null, + res: {}, + }, + replay_full: { + url: '/rpc/export_logbooks_geojson_point_trips_fn', header: { name: "x-is-public", value: btoa("aava,public_timelapse,0") }, payload: null, res: {}, @@ -121,7 +138,7 @@ var moment = require("moment"); res: {}, }, export_gpx: { - url: "/rpc/export_logbook_gpx_fn", + url: "/rpc/export_logbook_gpx_trip_fn", header: { name: "x-is-public", value: btoa("aava,public_logs,0") }, payload: null, res: {}, @@ -183,7 +200,7 @@ var moment = require("moment"); done(err); }); }); - it("/rpc/timelapse_fn, api_anonymous no jwt token", function (done) { + it("/rpc/export_logbooks_geojson_linestring_trips_fn, api_anonymous no jwt token", function (done) { // Reset agent so we do not save cookies request = supertest.agent(test.cname); request @@ -200,6 +217,23 @@ var moment = require("moment"); done(err); }); }); + it("/rpc/export_logbooks_geojson_point_trips_fn, api_anonymous no jwt token", function (done) { + // Reset agent so we do not save cookies + request = supertest.agent(test.cname); + request + .post(test.replay_full.url) + .set(test.replay_full.header.name, test.replay_full.header.value) + .set("Accept", "application/json") + .end(function (err, res) { + console.log(res.text); + res.status.should.equal(200); // return 404 as it is not enable in user settings. + should.exist(res.header["content-type"]); + should.exist(res.header["server"]); + res.header["content-type"].should.match(new RegExp("json", "g")); + res.header["server"].should.match(new RegExp("postgrest", "g")); + done(err); + }); + }); it("/rpc/export_logbook_gpx_fn, api_anonymous no jwt token", function (done) { // Reset agent so we do not save cookies request = supertest.agent(test.cname); diff --git a/tests/index6.js b/tests/index6.js index 0025459..4e6de2c 100644 --- a/tests/index6.js +++ b/tests/index6.js @@ -52,12 +52,17 @@ var moment = require("moment"); res: {}, }, timelapse: { - url: "/rpc/timelapse_fn", + url: "/rpc/export_logbooks_geojson_linestring_trips_fn", payload: null, res: {}, }, timelapse_full: { - url: "/rpc/timelapse_fn", + url: "/rpc/export_logbooks_geojson_linestring_trips_fn", + payload: null, + res: {}, + }, + replay_full: { + url: "/rpc/export_logbooks_geojson_point_trips_fn", payload: null, res: {}, }, @@ -72,7 +77,7 @@ var moment = require("moment"); res: {}, }, export_gpx: { - url: "/rpc/export_logbook_gpx_fn", + url: "/rpc/export_logbook_gpx_trip_fn", payload: null, res: {}, }, @@ -165,7 +170,7 @@ var moment = require("moment"); done(err); }); }); - it("/rpc/timelapse_fn, api_anonymous no jwt token", function (done) { + it("/rpc/export_logbooks_geojson_linestring_trips_fn, api_anonymous no jwt token", function (done) { // Reset agent so we do not save cookies request = supertest.agent(test.cname); request @@ -181,7 +186,23 @@ var moment = require("moment"); done(err); }); }); - it("/rpc/export_logbook_gpx_fn, api_anonymous no jwt token", function (done) { + it("/rpc/export_logbooks_geojson_point_trips_fn, api_anonymous no jwt token", function (done) { + // Reset agent so we do not save cookies + request = supertest.agent(test.cname); + request + .post(test.replay_full.url) + .set("Accept", "application/json") + .end(function (err, res) { + console.log(res.text); + res.status.should.equal(200); + should.exist(res.header["content-type"]); + should.exist(res.header["server"]); + res.header["content-type"].should.match(new RegExp("json", "g")); + res.header["server"].should.match(new RegExp("postgrest", "g")); + done(err); + }); + }); + it("/rpc/export_logbook_gpx_trip_fn, api_anonymous no jwt token", function (done) { // Reset agent so we do not save cookies request = supertest.agent(test.cname); request diff --git a/tests/package.json b/tests/package.json index f513319..195986f 100644 --- a/tests/package.json +++ b/tests/package.json @@ -8,5 +8,8 @@ "moment": "^2.29.4", "should": "^13.2.3", "supertest": "^6.3.3" + }, + "devDependencies": { + "schemalint": "^2.0.5" } } diff --git a/tests/sql/badges.sql b/tests/sql/badges.sql index cc918ce..1cfc416 100644 --- a/tests/sql/badges.sql +++ b/tests/sql/badges.sql @@ -17,10 +17,16 @@ SELECT set_config('vessel.id', :'vessel_id', false) IS NOT NULL as vessel_id; \echo 'Insert new api.logbook for badges' INSERT INTO api.logbook - (id, active, "name", "_from", "_from_lat", "_from_lng", "_to", "_to_lat", "_to_lng", track_geom, track_geog, track_geojson, "_from_time", "_to_time", distance, duration, avg_speed, max_speed, max_wind_speed, notes, vessel_id) + (id, active, "name", "_from", "_from_lat", "_from_lng", "_to", "_to_lat", "_to_lng", trip, "_from_time", "_to_time", distance, duration, avg_speed, max_speed, max_wind_speed, notes, vessel_id) OVERRIDING SYSTEM VALUE VALUES - (nextval('api.logbook_id_seq'), false, 'Tropics Zone', NULL, NULL, NULL, NULL, NULL, NULL, 'SRID=4326;LINESTRING (-63.151124640791096 14.01074681627324, -77.0912026418618 12.870995731013664)'::public.geometry, NULL, NULL, NOW(), NOW(), 123, NULL, NULL, NULL, NULL, NULL, current_setting('vessel.id', false)), - (nextval('api.logbook_id_seq'), false, 'Alaska Zone', NULL, NULL, NULL, NULL, NULL, NULL, 'SRID=4326;LINESTRING (-143.5773697471158 59.4404631255976, -152.35402122385003 56.58243132943173)'::public.geometry, NULL, NULL, NOW(), NOW(), 1234, NULL, NULL, NULL, NULL, NULL, current_setting('vessel.id', false)); + (nextval('api.logbook_id_seq'), false, 'Tropics Zone', NULL, NULL, NULL, NULL, NULL, NULL, 'SRID=4326;[Point(-63.151124640791096 14.01074681627324)@2025-01-01, Point(-77.0912026418618 12.870995731013664)@2025-01-02]'::public.tgeogpoint, NOW(), NOW(), 123, NULL, NULL, NULL, NULL, NULL, current_setting('vessel.id', false)), + (nextval('api.logbook_id_seq'), false, 'Alaska Zone', NULL, NULL, NULL, NULL, NULL, NULL, 'SRID=4326;[Point(-143.5773697471158 59.4404631255976)@2025-01-01, Point(-152.35402122385003 56.58243132943173)@2025-01-02]'::public.tgeogpoint, NOW(), NOW(), 1234, NULL, NULL, NULL, NULL, NULL, current_setting('vessel.id', false)); + +-- Transform static geometry LINESTRING to mobilitydb +-- 'SRID=4326;LINESTRING (-63.151124640791096 14.01074681627324, -77.0912026418618 12.870995731013664)'::public.geometry +-- 'SRID=4326;LINESTRING (-143.5773697471158 59.4404631255976, -152.35402122385003 56.58243132943173)'::public.geometry +--SELECT ST_AsGeoJSON('SRID=4326;LINESTRING (-63.151124640791096 14.01074681627324, -77.0912026418618 12.870995731013664)'::public.geometry); +--SELECT ST_AsGeoJSON(trajectory('SRID=4326;[Point(-63.151124640791096 14.01074681627324)@2025-01-01, Point(-77.0912026418618 12.870995731013664)@2025-01-02]'::public.tgeogpoint)); \echo 'Set config' SELECT set_config('user.email', 'demo+kapla@openplotter.cloud', false); @@ -51,10 +57,10 @@ SELECT \echo 'Insert new api.moorages for badges' INSERT INTO api.moorages - (id,"name",country,stay_code,stay_duration,reference_count,latitude,longitude,geog,home_flag,notes,vessel_id) + (id,"name",country,stay_code,latitude,longitude,geog,home_flag,notes,vessel_id) OVERRIDING SYSTEM VALUE VALUES - (8,'Badge Mooring Pro',NULL,3,'11 days 00:39:56.418',1,NULL,NULL,NULL,false,'Badge Mooring Pro',current_setting('vessel.id', false)), - (9,'Badge Anchormaster',NULL,2,'26 days 00:49:56.418',1,NULL,NULL,NULL,false,'Badge Anchormaster',current_setting('vessel.id', false)); + (8,'Badge Mooring Pro',NULL,3,NULL,NULL,NULL,false,'Badge Mooring Pro',current_setting('vessel.id', false)), + (9,'Badge Anchormaster',NULL,2,NULL,NULL,NULL,false,'Badge Anchormaster',current_setting('vessel.id', false)); \echo 'Set config' SELECT set_config('user.email', 'demo+aava@openplotter.cloud', false); diff --git a/tests/sql/cron_post_jobs.sql b/tests/sql/cron_post_jobs.sql index f4617fa..c308aa2 100644 --- a/tests/sql/cron_post_jobs.sql +++ b/tests/sql/cron_post_jobs.sql @@ -25,7 +25,8 @@ SELECT set_config('vessel.id', :'vessel_id', false) IS NOT NULL as vessel_id; \echo 'logbook' SELECT count(*) FROM api.logbook WHERE vessel_id = current_setting('vessel.id', false); \echo 'logbook' -SELECT name,_from_time IS NOT NULL AS _from_time,_to_time IS NOT NULL AS _to_time, track_geojson IS NOT NULL AS track_geojson, trajectory(trip)::geometry as track_geom, distance,duration,round(avg_speed::NUMERIC,6),max_speed,max_wind_speed,notes,extra FROM api.logbook WHERE vessel_id = current_setting('vessel.id', false); +--SELECT name,_from_time IS NOT NULL AS _from_time,_to_time IS NOT NULL AS _to_time, track_geojson IS NOT NULL AS track_geojson, trajectory(trip)::geometry as track_geom, distance,duration,round(avg_speed::NUMERIC,6),max_speed,max_wind_speed,notes,extra FROM api.logbook WHERE vessel_id = current_setting('vessel.id', false); +SELECT name,_from_time IS NOT NULL AS _from_time,_to_time IS NOT NULL AS _to_time, api.export_logbook_geojson_trip_fn(id) IS NOT NULL AS track_geojson, trajectory(trip)::geometry as track_geom, distance,duration,round(avg_speed::NUMERIC,6),max_speed,max_wind_speed,notes,extra FROM api.logbook WHERE vessel_id = current_setting('vessel.id', false); -- Test stays for user \echo 'stays' @@ -69,17 +70,28 @@ SELECT extra FROM api.logbook l WHERE id = 1 AND vessel_id = current_setting('ve SELECT api.update_logbook_observations_fn(1, '{"tags": ["tag_name"]}'::TEXT); SELECT extra FROM api.logbook l WHERE id = 1 AND vessel_id = current_setting('vessel.id', false); -\echo 'Check numbers of geojson properties' -SELECT jsonb_object_keys(jsonb_path_query(track_geojson, '$.features[0].properties')) - FROM api.logbook where id = 1 AND vessel_id = current_setting('vessel.id', false); -SELECT jsonb_object_keys(jsonb_path_query(track_geojson, '$.features[1].properties')) - FROM api.logbook where id = 1 AND vessel_id = current_setting('vessel.id', false); +\echo 'Check logbook geojson LineString properties' +WITH logbook_tbl AS ( + SELECT api.logbook_update_geojson_trip_fn(id) AS geojson + FROM api.logbook WHERE id = 1 AND vessel_id = current_setting('vessel.id', false) +) +SELECT jsonb_object_keys(jsonb_path_query(geojson, '$.features[0].properties')) + FROM logbook_tbl; +\echo 'Check logbook geojson Point properties' +WITH logbook_tbl AS ( + SELECT api.logbook_update_geojson_trip_fn(id) AS geojson + FROM api.logbook WHERE id = 1 AND vessel_id = current_setting('vessel.id', false) +) +SELECT jsonb_object_keys(jsonb_path_query(geojson, '$.features[1].properties')) + FROM logbook_tbl; -- Check export ---\echo 'check logbook export fn' +\echo 'Check logbook export fn' --SELECT api.export_logbook_geojson_fn(1); --SELECT api.export_logbook_gpx_fn(1); --SELECT api.export_logbook_kml_fn(1); +SELECT api.export_logbook_gpx_trip_fn(1) IS NOT NULL AS gpx_trip; +SELECT api.export_logbook_kml_trip_fn(1) IS NOT NULL AS kml_trip; -- Check history --\echo 'monitoring history fn' diff --git a/tests/sql/cron_post_jobs.sql.output b/tests/sql/cron_post_jobs.sql.output index 2bb9b52..e7b5dc1 100644 --- a/tests/sql/cron_post_jobs.sql.output +++ b/tests/sql/cron_post_jobs.sql.output @@ -110,7 +110,7 @@ update_logbook_observations_fn | t -[ RECORD 1 ]-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- extra | {"tags": ["tag_name"], "metrics": {"propulsion.main.runTime": "PT10S"}, "observations": {"seaState": -1, "visibility": -1, "cloudCoverage": 1}, "avg_wind_speed": 14.549999999999999} -Check numbers of geojson properties +Check logbook geojson LineString properties -[ RECORD 1 ]-----+----------------- jsonb_object_keys | id -[ RECORD 2 ]-----+----------------- @@ -144,6 +144,7 @@ jsonb_object_keys | max_wind_speed -[ RECORD 16 ]----+----------------- jsonb_object_keys | _from_moorage_id +Check logbook geojson Point properties -[ RECORD 1 ]-----+------- jsonb_object_keys | cog -[ RECORD 2 ]-----+------- @@ -163,3 +164,10 @@ jsonb_object_keys | notes -[ RECORD 9 ]-----+------- jsonb_object_keys | status +Check logbook export fn +-[ RECORD 1 ] +gpx_trip | t + +-[ RECORD 1 ] +kml_trip | t + diff --git a/tests/sql/grafana.sql b/tests/sql/grafana.sql index 16bc25f..d12d762 100644 --- a/tests/sql/grafana.sql +++ b/tests/sql/grafana.sql @@ -67,13 +67,18 @@ SELECT l.id, l.name, l.from, l.to, l.distance, l.duration, l._from_moorage_id, l --SELECT * FROM api.stays s; SELECT m.id, m.vessel_id IS NOT NULL AS vessel_id, m.moorage_id, m.active, m.name IS NOT NULL AS name, m.latitude, m.longitude, m.geog, m.arrived IS NOT NULL AS arrived, m.departed IS NOT NULL AS departed, m.duration, m.stay_code, m.notes FROM api.stays AS m; -\echo 'stays_view' +\echo 'api.stays_view' --SELECT * FROM api.stays_view s; SELECT m.id, m.name IS NOT NULL AS name, m.moorage, m.moorage_id, m.duration, m.stayed_at, m.stayed_at_id, m.arrived IS NOT NULL AS arrived, m.departed IS NOT NULL AS departed, m.notes FROM api.stays_view AS m; \echo 'api.moorages' --SELECT * FROM api.moorages m; -SELECT m.id, m.vessel_id IS NOT NULL AS vessel_id, m.name, m.country, m.stay_code, m.stay_duration, m.reference_count, m.latitude, m.longitude, m.geog, m.home_flag, m.notes FROM api.moorages AS m; +--SELECT m.id, m.vessel_id IS NOT NULL AS vessel_id, m.name, m.country, m.stay_code, m.stay_duration, m.reference_count, m.latitude, m.longitude, m.geog, m.home_flag, m.notes FROM api.moorages AS m; +SELECT m.id, m.vessel_id IS NOT NULL AS vessel_id, m.name, m.country, m.stay_code, m.latitude, m.longitude, m.geog, m.home_flag, m.notes FROM api.moorages AS m; \echo 'api.moorages_view' -SELECT * FROM api.moorages_view s; +SELECT * FROM api.moorages_view; + +\echo 'api.moorage_view' +--SELECT * FROM api.moorage_view; +SELECT m.id, m.name, default_stay, m.latitude, m.longitude, m.geog, m.home, m.notes, logs_count, stays_count, stay_first_seen_id, stay_last_seen_id, stay_first_seen IS NOT NULL AS stay_first_seen, stay_last_seen IS NOT NULL AS stay_last_seen FROM api.moorage_view m; diff --git a/tests/sql/grafana.sql.output b/tests/sql/grafana.sql.output index 2361af5..5065e12 100644 --- a/tests/sql/grafana.sql.output +++ b/tests/sql/grafana.sql.output @@ -184,7 +184,7 @@ duration | PT2M stay_code | 4 notes | -stays_view +api.stays_view -[ RECORD 1 ]+--------------------- id | 2 name | t @@ -209,45 +209,39 @@ departed | t notes | new stay note 3 api.moorages --[ RECORD 1 ]---+--------------------------------------------------- -id | 1 -vessel_id | t -name | patch moorage name 3 -country | fi -stay_code | 2 -stay_duration | PT1M -reference_count | 1 -latitude | 60.0776666666667 -longitude | 23.5308666666667 -geog | 0101000020E6100000B9DEBBE0E687374052A938FBF0094E40 -home_flag | t -notes | new moorage note 3 --[ RECORD 2 ]---+--------------------------------------------------- -id | 2 -vessel_id | t -name | Norra hamnen -country | fi -stay_code | 4 -stay_duration | PT2M -reference_count | 2 -latitude | 59.9768833333333 -longitude | 23.4321 -geog | 0101000020E6100000029A081B9E6E3740455658830AFD4D40 -home_flag | f -notes | --[ RECORD 3 ]---+--------------------------------------------------- -id | 3 -vessel_id | t -name | Ekenäs -country | fi -stay_code | 1 -stay_duration | PT0S -reference_count | 1 -latitude | 59.86 -longitude | 23.3657666666667 -geog | 0101000020E6100000E84C5FE2A25D3740AE47E17A14EE4D40 -home_flag | f -notes | +-[ RECORD 1 ]------------------------------------------------- +id | 1 +vessel_id | t +name | patch moorage name 3 +country | fi +stay_code | 2 +latitude | 60.0776666666667 +longitude | 23.5308666666667 +geog | 0101000020E6100000B9DEBBE0E687374052A938FBF0094E40 +home_flag | t +notes | new moorage note 3 +-[ RECORD 2 ]------------------------------------------------- +id | 2 +vessel_id | t +name | Norra hamnen +country | fi +stay_code | 4 +latitude | 59.9768833333333 +longitude | 23.4321 +geog | 0101000020E6100000029A081B9E6E3740455658830AFD4D40 +home_flag | f +notes | +-[ RECORD 3 ]------------------------------------------------- +id | 3 +vessel_id | t +name | Ekenäs +country | fi +stay_code | 1 +latitude | 59.86 +longitude | 23.3657666666667 +geog | 0101000020E6100000E84C5FE2A25D3740AE47E17A14EE4D40 +home_flag | f +notes | api.moorages_view -[ RECORD 1 ]-------+--------------------- @@ -272,3 +266,50 @@ default_stay_id | 1 arrivals_departures | 1 total_duration | PT0S +api.moorage_view +-[ RECORD 1 ]------+--------------------------------------------------- +id | 3 +name | Ekenäs +default_stay | Unknown +latitude | 59.86 +longitude | 23.3657666666667 +geog | 0101000020E6100000E84C5FE2A25D3740AE47E17A14EE4D40 +home | f +notes | +logs_count | 1 +stays_count | 0 +stay_first_seen_id | +stay_last_seen_id | +stay_first_seen | f +stay_last_seen | f +-[ RECORD 2 ]------+--------------------------------------------------- +id | 2 +name | Norra hamnen +default_stay | Dock +latitude | 59.9768833333333 +longitude | 23.4321 +geog | 0101000020E6100000029A081B9E6E3740455658830AFD4D40 +home | f +notes | +logs_count | 2 +stays_count | 1 +stay_first_seen_id | 2 +stay_last_seen_id | 2 +stay_first_seen | t +stay_last_seen | t +-[ RECORD 3 ]------+--------------------------------------------------- +id | 1 +name | patch moorage name 3 +default_stay | Anchor +latitude | 60.0776666666667 +longitude | 23.5308666666667 +geog | 0101000020E6100000B9DEBBE0E687374052A938FBF0094E40 +home | t +notes | new moorage note 3 +logs_count | 1 +stays_count | 1 +stay_first_seen_id | 1 +stay_last_seen_id | 1 +stay_first_seen | t +stay_last_seen | t + diff --git a/tests/sql/logbook.sql b/tests/sql/logbook.sql index e472330..a377290 100644 --- a/tests/sql/logbook.sql +++ b/tests/sql/logbook.sql @@ -26,7 +26,8 @@ SELECT set_config('vessel.id', :'vessel_id', false) IS NOT NULL as vessel_id; \echo 'logbook' SELECT count(*) FROM api.logbook WHERE vessel_id = current_setting('vessel.id', false); \echo 'logbook' -SELECT name,_from_time IS NOT NULL AS _from_time,_to_time IS NOT NULL AS _to_time, track_geojson IS NOT NULL AS track_geojson, track_geom, distance,duration,avg_speed,max_speed,max_wind_speed,notes,extra FROM api.logbook WHERE vessel_id = current_setting('vessel.id', false); +-- track_geom and track_geojson are now dynamic from mobilitydb +SELECT name,_from_time IS NOT NULL AS _from_time, _to_time IS NOT NULL AS _to_time, trajectory(trip) AS track_geom, distance,duration,avg_speed,max_speed,max_wind_speed,notes,extra FROM api.logbook WHERE vessel_id = current_setting('vessel.id', false) ORDER BY id ASC; -- Delete logbook for user \echo 'Delete logbook for user kapla' diff --git a/tests/sql/logbook.sql.output b/tests/sql/logbook.sql.output index 9be726a..d55bfef 100644 --- a/tests/sql/logbook.sql.output +++ b/tests/sql/logbook.sql.output @@ -21,7 +21,6 @@ logbook name | patch log name 3 _from_time | t _to_time | t -track_geojson | t track_geom | 0102000020E61000001A000000B0DEBBE0E68737404DA938FBF0094E4020D26F5F0786374030BB270F0B094E400C6E7ED60F843740AA60545227084E40D60FC48C03823740593CE27D42074E407B39D9F322803740984C158C4A064E4091ED7C3F357E3740898BB63D54054E40A8A1208B477C37404BA3DC9059044E404C5CB4EDA17A3740C4F856115B034E40A9A44E4013793740D8F0F44A59024E40E4839ECDAA773740211FF46C56014E405408D147067637408229F03B73004E40787AA52C43743740F90FE9B7AFFF4D40F8098D4D18723740C217265305FF4D4084E82303537037409A2D464AA0FE4D4022474DCE636F37402912396A72FE4D408351499D806E374088CFB02B40FE4D4076711B0DE06D3740B356C7040FFE4D404EAC66B0BC6E374058A835CD3BFE4D40D7A3703D0A6F3740D3E10EC15EFE4D4087602F277B6E3740A779C7293AFE4D402063EE5A426E3740B5A679C729FE4D40381DEE10EC6D37409ECA7C1A0AFE4D40E2C46A06CB6B37400A43F7BF36FD4D4075931804566E3740320BDAD125FD4D409A2D464AA06E37404A5658830AFD4D40029A081B9E6E37404A5658830AFD4D40 distance | 7.6447 duration | PT27M @@ -34,7 +33,6 @@ extra | {"tags": ["tag_name"], "metrics": {"propulsion.main.runTime": " name | Norra hamnen to Ekenäs _from_time | t _to_time | t -track_geojson | t track_geom | 0102000020E610000013000000029A081B9E6E37404A5658830AFD4D404806A6C0EF6C3740DA1B7C6132FD4D40FE65F7E461693740226C787AA5FC4D407DD3E10EC1663740B29DEFA7C6FB4D40898BB63D5465374068479724BCFA4D409A5271F6E1633740B6847CD0B3F94D40431CEBE236623740E9263108ACF84D402C6519E2585F37407E678EBFC7F74D4096218E75715B374027C5B45C23F74D402AA913D044583740968DE1C46AF64D405AF5B9DA8A5537407BEF829B9FF54D407449C2ABD253374086C954C1A8F44D407D1A0AB278543740F2B0506B9AF34D409D11A5BDC15737406688635DDCF24D4061C3D32B655937402CAF6F3ADCF14D408988888888583740B3319C58CDF04D4021FAC8C0145837408C94405DB7EF4D40B8F9593F105B37403DC0804BEDEE4D40DE4C5FE2A25D3740AE47E17A14EE4D40 distance | 8.8968 duration | PT20M @@ -47,7 +45,6 @@ extra | {"metrics": {"propulsion.main.runTime": "PT11S"}, "observations name | Tropics Zone _from_time | t _to_time | t -track_geojson | f track_geom | 0102000020E610000002000000A4E85E0D58934FC000DC509B80052C40BC069B43D64553C090510727F3BD2940 distance | 123 duration | @@ -60,7 +57,6 @@ extra | name | Alaska Zone _from_time | t _to_time | t -track_geojson | f track_geom | 0102000020E610000002000000FDB11ED079F261C090C47F1861B84D40D3505124540B63C09C091C1C8D4A4C40 distance | 1234 duration | diff --git a/tests/sql/mobilitydb.sql b/tests/sql/mobilitydb.sql index 6f3a709..20bbfba 100644 --- a/tests/sql/mobilitydb.sql +++ b/tests/sql/mobilitydb.sql @@ -23,14 +23,14 @@ SELECT set_config('vessel.id', :'vessel_id_aava', false) IS NOT NULL as vessel_i -- Update notes \echo 'Add a note for an entry from a trip' -- Get original value, should be empty -SELECT numInstants(trip), valueAtTimestamp(trip_notes,timestampN(trip,14)) from api.logbook where id = 3; +SELECT numInstants(trip), valueAtTimestamp(trip_notes,timestampN(trip,13)) from api.logbook where id = 3; -- Create the string -SELECT concat('["fishing"@', timestampN(trip,14),',""@',timestampN(trip,15),']') as to_be_update FROM api.logbook where id = 3 \gset +SELECT concat('["fishing"@', timestampN(trip,13),',""@',timestampN(trip,14),']') as to_be_update FROM api.logbook where id = 3 \gset --\echo :to_be_update -- Update the notes SELECT api.update_trip_notes_fn(3, :'to_be_update'); -- Compare with previous value, should include "fishing" -SELECT valueAtTimestamp(trip_notes,timestampN(trip,14)) from api.logbook where id = 3; +SELECT valueAtTimestamp(trip_notes,timestampN(trip,13)) from api.logbook where id = 3; -- Delete notes \echo 'Delete an entry from a trip' @@ -38,7 +38,7 @@ SELECT valueAtTimestamp(trip_notes,timestampN(trip,14)) from api.logbook where i SELECT numInstants(trip), jsonb_array_length(api.export_logbook_geojson_point_trip_fn(id)->'features') from api.logbook where id = 3; -- Extract the timestamps of the invalid coords --SELECT timestampN(trip,14) as "to_be_delete" FROM api.logbook where id = 3 \gset -SELECT concat('[', timestampN(trip,13),',',timestampN(trip,14),')') as to_be_delete FROM api.logbook where id = 3 \gset +SELECT concat('[', timestampN(trip,14),',',timestampN(trip,15),')') as to_be_delete FROM api.logbook where id = 3 \gset --\echo :to_be_delete -- Delete the entry for all trip sequence SELECT api.delete_trip_entry_fn(3, :'to_be_delete'); @@ -47,7 +47,8 @@ SELECT numInstants(trip), jsonb_array_length(api.export_logbook_geojson_point_tr -- Export PostGIS geography from a trip \echo 'Export PostGIS geography from trajectory' -SELECT ST_IsValid(trajectory(trip)::geometry) IS TRUE FROM api.logbook WHERE vessel_id = current_setting('vessel.id', false); +--SELECT ST_IsValid(trajectory(trip)::geometry) IS TRUE FROM api.logbook WHERE vessel_id = current_setting('vessel.id', false); +SELECT trajectory(trip)::geometry FROM api.logbook WHERE id = 3; -- Export GeoJSON from a trip \echo 'Export GeoJSON with properties from a trip' diff --git a/tests/sql/mobilitydb.sql.output b/tests/sql/mobilitydb.sql.output index 196a79c..06e2035 100644 --- a/tests/sql/mobilitydb.sql.output +++ b/tests/sql/mobilitydb.sql.output @@ -33,10 +33,8 @@ numinstants | 44 jsonb_array_length | 44 Export PostGIS geography from trajectory --[ RECORD 1 ] -?column? | t --[ RECORD 2 ] -?column? | t +-[ RECORD 1 ]---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +trajectory | 0102000020E61000002B0000001CACA4BA25BC3840217B18B556DC4D40569FABADD8BB384012EA33B10ADC4D408A65E9F989BB384018A023A8D0DB4D40B174F4AE30BB38409951E2299ADB4D407C348B06DFBA3840443A973D64DB4D40FE4465C39ABA38409313927131DB4D402C9CA4F963BA384029E6C52EF6DA4D4010559D7A49BA384019E25817B7DA4D401BF0F96184BC3840F868160DBEDC4D4095B7239C16BC38401DDB7C6D47DC4D40559FABADD8BB384012EA33B10ADC4D408A65E9F989BB384018A023A8D0DB4D40B274F4AE30BB38409951E2299ADB4D407C348B06DFBA3840443A973D64DB4D40FE4465C39ABA38409313927131DB4D402C9CA4F963BA384029E6C52EF6DA4D4010559D7A49BA384019E25817B7DA4D401BF0F96184BC3840F868160DBEDC4D4098B1B2C755BC38404D52F41B81DC4D4095B7239C16BC38401DDB7C6D47DC4D407448C55AD7BB38406CABFEAD09DC4D40D8367B5688BB38400D54C6BFCFDB4D40B274F4AE30BB38409951E2299ADB4D401256BEC2DDBA3840EB22E06B63DB4D40FE4465C39ABA38409313927131DB4D402C9CA4F963BA384029E6C52EF6DA4D40407D152A49BA3840CDA66D0DB6DA4D40BDBFE6C182BC3840F9269710BDDC4D4098B1B2C755BC38404D52F41B81DC4D4024308CAA15BC3840B85DC36746DC4D407448C55AD7BB38406CABFEAD09DC4D40D8367B5688BB38400D54C6BFCFDB4D408224A24E2FBB384070BEC74F99DB4D4028B0A5EC99BA3840F90C4D7E30DB4D402C4080B163BA38402FA93528F5DA4D40407D152A49BA3840CDA66D0DB6DA4D40BDBFE6C182BC3840F9269710BDDC4D4099B1B2C755BC38404D52F41B81DC4D4024308CAA15BC3840B85DC36746DC4D407448C55AD7BB38406CABFEAD09DC4D40D8367B5688BB38400D54C6BFCFDB4D408224A24E2FBB384070BEC74F99DB4D401156BEC2DDBA3840EB22E06B63DB4D40 Export GeoJSON with properties from a trip -[ RECORD 1 ]------+--- @@ -54,8 +52,8 @@ Export KML from a trip vessel_id | t Export timelapse as Geometry LineString from a trip --[ RECORD 1 ]-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -export_logbooks_geojson_linestring_trips_fn | {"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "LineString", "coordinates": [[23.530866667, 60.077666667], [23.52355, 60.07065], [23.515866667, 60.0637], [23.507866667, 60.056716667], [23.500533333, 60.04915], [23.493, 60.041633333], [23.485466667, 60.033983333], [23.479033333, 60.026216667], [23.47295, 60.01835], [23.46745, 60.01045], [23.461033333, 60.003516667], [23.45415, 59.99755], [23.445683333, 59.99235], [23.438766667, 59.989266667], [23.435116667, 59.987866667], [23.43165, 59.986333333], [23.4292, 59.984833333], [23.432566667, 59.9862], [23.43375, 59.987266667], [23.431566667, 59.98615], [23.4307, 59.98565], [23.429383333, 59.984683333], [23.421066667, 59.978233333], [23.431, 59.977716667], [23.432133333, 59.976883333], [23.4321, 59.976883333]]}, "properties": {}}]} +-[ RECORD 1 ]-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +export_logbooks_geojson_linestring_trips_fn | {"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "LineString", "coordinates": [[23.530866667, 60.077666667], [23.52355, 60.07065], [23.515866667, 60.0637], [23.507866667, 60.056716667], [23.500533333, 60.04915], [23.493, 60.041633333], [23.485466667, 60.033983333], [23.479033333, 60.026216667], [23.47295, 60.01835], [23.461033333, 60.003516667], [23.45415, 59.99755], [23.445683333, 59.99235], [23.438766667, 59.989266667], [23.435116667, 59.987866667], [23.43165, 59.986333333], [23.4292, 59.984833333], [23.432566667, 59.9862], [23.43375, 59.987266667], [23.431566667, 59.98615], [23.4307, 59.98565], [23.429383333, 59.984683333], [23.421066667, 59.978233333], [23.431, 59.977716667], [23.432133333, 59.976883333], [23.4321, 59.976883333], [23.425533333, 59.9781], [23.41165, 59.9738], [23.401383333, 59.967], [23.395816667, 59.958866667], [23.390166667, 59.9508], [23.38365, 59.94275], [23.37245, 59.935783333], [23.3572, 59.930766667], [23.33415, 59.918933333], [23.327433333, 59.9114], [23.329966667, 59.90315], [23.3428, 59.89735], [23.3492, 59.889533333], [23.345833333, 59.881266667], [23.344066667, 59.872783333], [23.355716667, 59.866616667], [23.365766667, 59.86]]}, "properties": {}}]} Export timelapse as Geometry Point from a trip -[ RECORD 1 ] diff --git a/tests/sql/qgis.sql b/tests/sql/qgis.sql index d7a370a..4108f35 100644 --- a/tests/sql/qgis.sql +++ b/tests/sql/qgis.sql @@ -49,4 +49,5 @@ SELECT public.qgis_bbox_trip_py_fn(CONCAT(:'vessel_id_aava'::TEXT, '_', 3, '_', --SELECT set_config('vessel.id', :'vessel_id_kapla', false) IS NOT NULL as vessel_id; -- SQL request from QGIS to fetch the necessary data base on vessel_id --SELECT id, vessel_id, name as logname, ST_Transform(track_geom, 3857) as track_geom, ROUND(distance, 2) as distance, ROUND(EXTRACT(epoch FROM duration)/3600,2) as duration,_from_time,_to_time FROM api.logbook where track_geom is not null and _to_time is not null ORDER BY _from_time DESC; -SELECT count(*) FROM api.logbook where track_geom is not null and _to_time is not null; +--SELECT count(*) FROM api.logbook WHERE track_geom IS NOT NULL AND _to_time iIS NOT NULL; +SELECT count(*) FROM api.logbook WHERE trip IS NOT NULL AND _to_time IS NOT NULL; diff --git a/tests/sql/qgis.sql.output b/tests/sql/qgis.sql.output index f7de191..3c18c29 100644 --- a/tests/sql/qgis.sql.output +++ b/tests/sql/qgis.sql.output @@ -11,35 +11,35 @@ Get BBOX Extent from SQL query for a log: "^/log_(w+)_(d+).png$" qgis_bbox_py_fn | 2556155.0636042403,8365608,2660086.9363957597,8420076 -[ RECORD 1 ]---+---------------------------------------------------- -qgis_bbox_py_fn | 2745681,8303937.662962963,2871529,8369891.337037037 +qgis_bbox_py_fn | 2749398.035335689,8334944,2756917.964664311,8338885 Get BBOX Extent from SQL query for a log as line: "^/log_(w+)_(d+)_line.png$" -[ RECORD 1 ]---+------------------------------------------------------------------------- qgis_bbox_py_fn | 2570800.6277114027,8368634.173700442,2645441.4677270483,8417049.85371059 --[ RECORD 1 ]---+----------------------------------------------------------------------- -qgis_bbox_py_fn | 2752672.6236475753,8300633.73408079,2864537.04561218,8373194.440219993 +-[ RECORD 1 ]---+-------------------------------------------------------------------------- +qgis_bbox_py_fn | 2750457.4431765806,8335162.530580978,2755858.0759322727,8338665.643719805 Get BBOX Extent from SQL query for all logs by vessel_id: "^/logs_(w+)_(d+).png$" -[ RECORD 1 ]---+------------------------------------------------------ qgis_bbox_py_fn | 2556155.0636042403,8365608,2660086.9363957597,8420076 -[ RECORD 1 ]---+------------------------------------------------------ -qgis_bbox_py_fn | -1950837.4558303887,4864146,5068977.455830389,8543049 +qgis_bbox_py_fn | -2006284.4558303887,4864146,5013530.455830389,8543049 Get BBOX Extent from SQL query for a trip by vessel_id: "^/trip_(w+)_(d+)_(d+).png$" -[ RECORD 1 ]---+------------------------------------- qgis_bbox_py_fn | 2595383,4787988.0,2620859,11997696.0 -[ RECORD 1 ]---+--------------------------------------- -qgis_bbox_py_fn | 90420,-201110377.5,3027720,214517572.5 +qgis_bbox_py_fn | 97351,-192283890.5,2909895,205691085.5 Get BBOX Extent from SQL query for a trip by vessel_id: "^/trip_((w+)_(d+)_(d+)).png$" -[ RECORD 1 ]--------+------------------------------------------------------ qgis_bbox_trip_py_fn | 2556155.0636042403,8365608,2660086.9363957597,8420076 -[ RECORD 1 ]--------+------------------------------------------------------ -qgis_bbox_trip_py_fn | -1950837.4558303887,4864146,5068977.455830389,8543049 +qgis_bbox_trip_py_fn | -2006284.4558303887,4864146,5013530.455830389,8543049 -[ RECORD 1 ] count | 3 diff --git a/tests/tests.sh b/tests/tests.sh index f254dc2..2d80f8e 100644 --- a/tests/tests.sh +++ b/tests/tests.sh @@ -1,4 +1,4 @@ -# PostgSail Unit test +# PostgSail Unit test if [[ -z "${PGSAIL_DB_URI}" ]]; then echo "PGSAIL_DB_URI is undefined" @@ -18,8 +18,9 @@ fi if [[ ! -x "/usr/bin/go" || ! -x "/root/go/bin/mermerd" ]]; then #wget -q https://go.dev/dl/go1.21.4.linux-arm64.tar.gz && \ #rm -rf /usr/local/go && tar -C /usr/local -xzf go1.21.4.linux-arm64.tar.gz && \ - apt update && apt -y install golang && \ - go install github.com/KarnerTh/mermerd@latest + apt update && apt -y install golang-go && \ + #go install github.com/KarnerTh/mermerd@latest require latest go version + go install github.com/KarnerTh/mermerd@v0.11.0 fi # pnpm install