From b2f3372b26338af370ffba51264238b519654962 Mon Sep 17 00:00:00 2001 From: xbgmsharp Date: Mon, 31 Mar 2025 13:32:19 +0200 Subject: [PATCH] Update API tests - Deprecated client_id - Update configuration - Add available_keys --- tests/index.js | 60 +++++++++++++++++++++++++++++++++++++++++++++++-- tests/index2.js | 8 ++++--- tests/index3.js | 4 ++-- 3 files changed, 65 insertions(+), 7 deletions(-) diff --git a/tests/index.js b/tests/index.js index e452a45..90d91b1 100644 --- a/tests/index.js +++ b/tests/index.js @@ -27,6 +27,7 @@ const metrics_aava = require('./metrics_sample_aava.json'); const fs = require('fs'); +let configtime = new Date().toISOString(); // CNAMEs Array [ @@ -39,7 +40,7 @@ const fs = require('fs'); vessel_metadata: { name: "kapla", mmsi: "123456789", - client_id: "vessels.urn:mrn:signalk:uuid:5b4f7543-7153-4840-b139-761310b242fd", + //client_id: "vessels.urn:mrn:signalk:uuid:5b4f7543-7153-4840-b139-761310b242fd", length: "12", beam: "10", height: "24", @@ -177,6 +178,18 @@ const fs = require('fs'); obj_name: 'settings' } } + ], + config_fn: [ + { url: '/metadata?select=configuration', + res: { + obj_name: 'configuration' + } + }, + { url: `/metadata?select=configuration&configuration->>update_at=gt.${configtime}`, + res: { + obj_name: 'settings' + } + }, ] }, { cname: process.env.PGSAIL_API_URI, name: "PostgSail unit test, aava", @@ -187,7 +200,7 @@ const fs = require('fs'); vessel_metadata: { name: "aava", mmsi: "787654321", - client_id: "vessels.urn:mrn:imo:mmsi:787654321", + //client_id: "vessels.urn:mrn:imo:mmsi:787654321", length: "12", beam: "10", height: "24", @@ -318,6 +331,18 @@ const fs = require('fs'); obj_name: 'settings' } }, + ], + config_fn: [ + { url: '/metadata?select=configuration', + res: { + obj_name: 'configuration' + } + }, + { url: `/metadata?select=configuration&configuration->>update_at=gt.${configtime}`, + res: { + obj_name: 'settings' + } + }, ] } ].forEach( function(test){ @@ -843,6 +868,37 @@ request.set('User-Agent', 'PostgSail unit tests'); }); // Function OTP endpoint */ + describe("Function Metadata configuration endpoint, JWT vessel_role", function(){ + + let otp = null; + test.config_fn.forEach(function (subtest) { + it(`${subtest.url}`, function(done) { + try { + //console.log(`${subtest.url} ${subtest.res}`); + // Reset agent so we do not save cookies + request = supertest.agent(test.cname); + request + .get(subtest.url) + .set('Authorization', `Bearer ${vessel_jwt}`) + .set('Accept', 'application/json') + .end(function(err,res){ + 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')); + console.log(res.body); + should.exist(res.body); + done(err); + }); + } + catch (error) { + done(); + } + }); + }); + }); // Function metadata configuration endpoint + }); // OpenAPI description }); // CNAMEs Array diff --git a/tests/index2.js b/tests/index2.js index af1b298..784cb77 100644 --- a/tests/index2.js +++ b/tests/index2.js @@ -28,14 +28,15 @@ const metrics_simulator = require('./metrics_sample_simulator.json'); vessel_metadata: { name: "aava", mmsi: "787654321", - client_id: "vessels.urn:mrn:imo:mmsi:787654321", + //client_id: "vessels.urn:mrn:imo:mmsi:787654321", length: "12", beam: "10", height: "24", ship_type: "37", plugin_version: "1.0.2", signalk_version: "1.20.0", - time: moment().subtract(69, 'minutes').format() + time: moment().subtract(69, 'minutes').format(), + available_keys: [], }, vessel_metrics: metrics_simulator, user_tables: [ @@ -422,8 +423,9 @@ request.set('User-Agent', 'PostgSail unit tests'); .set('Content-Type', 'application/json') .set('Prefer', 'return=headers-only') .end(function(err,res){ - res.status.should.equal(201); + //console.log(res.body); //console.log(res.header); + res.status.should.equal(201); should.exist(res.header['server']); res.header['server'].should.match(new RegExp('postgrest','g')); done(err); diff --git a/tests/index3.js b/tests/index3.js index 51fb326..03670d1 100644 --- a/tests/index3.js +++ b/tests/index3.js @@ -31,7 +31,7 @@ var moment = require('moment'); vessel_metadata: { name: "kapla", mmsi: "123456789", - client_id: "vessels.urn:mrn:imo:mmsi:123456789", + //client_id: "vessels.urn:mrn:imo:mmsi:123456789", length: "12", beam: "10", height: "24", @@ -249,7 +249,7 @@ var moment = require('moment'); vessel_metadata: { name: "aava", mmsi: "787654321", - client_id: "vessels.urn:mrn:imo:mmsi:787654321", + //client_id: "vessels.urn:mrn:imo:mmsi:787654321", length: "12", beam: "10", height: "24",