Update API tests

- Deprecated client_id
- Update configuration
- Add available_keys
This commit is contained in:
xbgmsharp
2025-03-31 13:32:19 +02:00
parent 754c9bb6e7
commit b2f3372b26
3 changed files with 65 additions and 7 deletions

View File

@@ -27,6 +27,7 @@ const metrics_aava = require('./metrics_sample_aava.json');
const fs = require('fs'); const fs = require('fs');
let configtime = new Date().toISOString();
// CNAMEs Array // CNAMEs Array
[ [
@@ -39,7 +40,7 @@ const fs = require('fs');
vessel_metadata: { vessel_metadata: {
name: "kapla", name: "kapla",
mmsi: "123456789", 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", length: "12",
beam: "10", beam: "10",
height: "24", height: "24",
@@ -177,6 +178,18 @@ const fs = require('fs');
obj_name: 'settings' 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", { cname: process.env.PGSAIL_API_URI, name: "PostgSail unit test, aava",
@@ -187,7 +200,7 @@ const fs = require('fs');
vessel_metadata: { vessel_metadata: {
name: "aava", name: "aava",
mmsi: "787654321", mmsi: "787654321",
client_id: "vessels.urn:mrn:imo:mmsi:787654321", //client_id: "vessels.urn:mrn:imo:mmsi:787654321",
length: "12", length: "12",
beam: "10", beam: "10",
height: "24", height: "24",
@@ -318,6 +331,18 @@ const fs = require('fs');
obj_name: 'settings' 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){ ].forEach( function(test){
@@ -843,6 +868,37 @@ request.set('User-Agent', 'PostgSail unit tests');
}); // Function OTP endpoint }); // 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 }); // OpenAPI description
}); // CNAMEs Array }); // CNAMEs Array

View File

@@ -28,14 +28,15 @@ const metrics_simulator = require('./metrics_sample_simulator.json');
vessel_metadata: { vessel_metadata: {
name: "aava", name: "aava",
mmsi: "787654321", mmsi: "787654321",
client_id: "vessels.urn:mrn:imo:mmsi:787654321", //client_id: "vessels.urn:mrn:imo:mmsi:787654321",
length: "12", length: "12",
beam: "10", beam: "10",
height: "24", height: "24",
ship_type: "37", ship_type: "37",
plugin_version: "1.0.2", plugin_version: "1.0.2",
signalk_version: "1.20.0", signalk_version: "1.20.0",
time: moment().subtract(69, 'minutes').format() time: moment().subtract(69, 'minutes').format(),
available_keys: [],
}, },
vessel_metrics: metrics_simulator, vessel_metrics: metrics_simulator,
user_tables: [ user_tables: [
@@ -422,8 +423,9 @@ request.set('User-Agent', 'PostgSail unit tests');
.set('Content-Type', 'application/json') .set('Content-Type', 'application/json')
.set('Prefer', 'return=headers-only') .set('Prefer', 'return=headers-only')
.end(function(err,res){ .end(function(err,res){
res.status.should.equal(201); //console.log(res.body);
//console.log(res.header); //console.log(res.header);
res.status.should.equal(201);
should.exist(res.header['server']); should.exist(res.header['server']);
res.header['server'].should.match(new RegExp('postgrest','g')); res.header['server'].should.match(new RegExp('postgrest','g'));
done(err); done(err);

View File

@@ -31,7 +31,7 @@ var moment = require('moment');
vessel_metadata: { vessel_metadata: {
name: "kapla", name: "kapla",
mmsi: "123456789", mmsi: "123456789",
client_id: "vessels.urn:mrn:imo:mmsi:123456789", //client_id: "vessels.urn:mrn:imo:mmsi:123456789",
length: "12", length: "12",
beam: "10", beam: "10",
height: "24", height: "24",
@@ -249,7 +249,7 @@ var moment = require('moment');
vessel_metadata: { vessel_metadata: {
name: "aava", name: "aava",
mmsi: "787654321", mmsi: "787654321",
client_id: "vessels.urn:mrn:imo:mmsi:787654321", //client_id: "vessels.urn:mrn:imo:mmsi:787654321",
length: "12", length: "12",
beam: "10", beam: "10",
height: "24", height: "24",