feat(release): automate versioned releases on main
This commit is contained in:
25
backend/tests/buildInfo.test.ts
Normal file
25
backend/tests/buildInfo.test.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import { test } from 'node:test';
|
||||
import Fastify from 'fastify';
|
||||
import healthRoutes from '../src/routes/health';
|
||||
|
||||
test('version endpoint reports image metadata without a database or authentication', async () => {
|
||||
const previousVersion = process.env.FEDEO_VERSION;
|
||||
const previousRevision = process.env.FEDEO_REVISION;
|
||||
process.env.FEDEO_VERSION = '1.2.3';
|
||||
process.env.FEDEO_REVISION = 'a'.repeat(40);
|
||||
const app = Fastify();
|
||||
try {
|
||||
await app.register(healthRoutes);
|
||||
const response = await app.inject({ method: 'GET', url: '/version' });
|
||||
assert.equal(response.statusCode, 200);
|
||||
assert.equal(response.headers['cache-control'], 'no-store');
|
||||
assert.deepEqual(response.json(), { product: 'FEDEO', version: '1.2.3', revision: 'a'.repeat(40) });
|
||||
} finally {
|
||||
await app.close();
|
||||
if (previousVersion === undefined) delete process.env.FEDEO_VERSION;
|
||||
else process.env.FEDEO_VERSION = previousVersion;
|
||||
if (previousRevision === undefined) delete process.env.FEDEO_REVISION;
|
||||
else process.env.FEDEO_REVISION = previousRevision;
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user