unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
57 lines • 1.76 kB
JavaScript
import { createTestConfig } from '../../test/config/test-config.js';
import { compareAndLogPostgresVersion } from './postgres-version-checker.js';
import FakeSettingStore from '../../test/fixtures/fake-setting-store.js';
import { vi } from 'vitest';
let config;
let settingStore;
let infoMessages;
let errorMessages;
const fakeSettingStore = (postgresVersion) => {
const temp = new FakeSettingStore();
vi.spyOn(temp, 'postgresVersion').mockResolvedValue(postgresVersion);
return temp;
};
beforeEach(() => {
infoMessages = [];
errorMessages = [];
config = createTestConfig({
getLogger: () => {
return {
info: (message) => {
infoMessages.push(message);
},
error: (message) => {
errorMessages.push(message);
},
warn: (_message) => { },
debug: (_message) => { },
fatal(_message, ..._args) { },
};
},
});
});
test.each([
'13.9.2',
'12.1.7',
'12.1',
'11.1',
'10.1',
'9.6',
])('Postgres version %s yields error message', async (version) => {
settingStore = fakeSettingStore(version);
await compareAndLogPostgresVersion(config, settingStore);
expect(errorMessages).toHaveLength(1);
expect(infoMessages).toHaveLength(0);
});
test.each([
'14.9',
'15.9',
'16.2',
'17',
])('Postgres version %s yields an info message', async (version) => {
settingStore = fakeSettingStore(version);
await compareAndLogPostgresVersion(config, settingStore);
expect(errorMessages).toHaveLength(0);
expect(infoMessages).toHaveLength(1);
});
//# sourceMappingURL=postgres-version-checker.test.js.map