unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
45 lines • 1.71 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