73 lines
2.3 KiB
JavaScript
73 lines
2.3 KiB
JavaScript
const assert = require('node:assert/strict');
|
|
const fs = require('fs');
|
|
const os = require('os');
|
|
const path = require('path');
|
|
const test = require('node:test');
|
|
|
|
const agheeraPushClient = require('../src/services/agheeraPushClient');
|
|
|
|
let originalApiKey;
|
|
let originalPushLogPath;
|
|
let originalPushLogs;
|
|
|
|
test.before(() => {
|
|
originalApiKey = process.env.AGHEERA_API_KEY;
|
|
originalPushLogPath = process.env.AGHEERA_PUSH_LOG_PATH;
|
|
originalPushLogs = process.env.AGHEERA_PUSH_LOGS;
|
|
});
|
|
|
|
test.after(() => {
|
|
process.env.AGHEERA_API_KEY = originalApiKey;
|
|
process.env.AGHEERA_PUSH_LOG_PATH = originalPushLogPath;
|
|
process.env.AGHEERA_PUSH_LOGS = originalPushLogs;
|
|
agheeraPushClient.__resetHttpClientForTests();
|
|
});
|
|
|
|
test.afterEach(() => {
|
|
agheeraPushClient.__resetHttpClientForTests();
|
|
});
|
|
|
|
test('pushPosition escribe log dedicado sin apiKey', async () => {
|
|
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'agheera-log-'));
|
|
const logPath = path.join(tempDir, 'agheera_push.log');
|
|
|
|
process.env.AGHEERA_API_KEY = 'secret-api-key';
|
|
process.env.AGHEERA_PUSH_LOG_PATH = logPath;
|
|
delete process.env.AGHEERA_PUSH_LOGS;
|
|
|
|
agheeraPushClient.__setHttpClientForTests(async () => ({
|
|
ok: true,
|
|
status: 200,
|
|
text: async () => 'Messages received.'
|
|
}));
|
|
|
|
await agheeraPushClient.pushPosition({
|
|
latitude: '40.416775',
|
|
longitude: '-3.703790',
|
|
vehicleId: '6599LCN',
|
|
licensePlate: '6599LCN',
|
|
measurementTime: '2026-06-01T13:38:31Z',
|
|
metadata: {
|
|
source: 'test',
|
|
trip_id: 306075
|
|
}
|
|
});
|
|
|
|
const lines = fs.readFileSync(logPath, 'utf8').trim().split('\n');
|
|
assert.equal(lines.length, 1);
|
|
|
|
const entry = JSON.parse(lines[0]);
|
|
assert.equal(entry.source, 'test');
|
|
assert.equal(entry.trip_id, 306075);
|
|
assert.equal(entry.vehicleId, '6599LCN');
|
|
assert.equal(entry.licensePlate, '6599LCN');
|
|
assert.equal(entry.latitude, 40.416775);
|
|
assert.equal(entry.longitude, -3.70379);
|
|
assert.equal(entry.measurementTime, '2026-06-01T13:38:31Z');
|
|
assert.equal(entry.success, true);
|
|
assert.equal(entry.http_status, 200);
|
|
assert.equal(entry.response_body, 'Messages received.');
|
|
assert.equal(entry.error, null);
|
|
assert.equal(JSON.stringify(entry).includes('secret-api-key'), false);
|
|
});
|