42 lines
1.9 KiB
JavaScript
42 lines
1.9 KiB
JavaScript
// Generated, do not edit. sha256:dd1bcf99efd446812f29e83f4cccd6691a1368dbca957ce48876c8d396e81efa
|
|
import { describe, it, beforeEach, afterEach } from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import { mkdtemp, rm } from 'node:fs/promises';
|
|
import { tmpdir } from 'node:os';
|
|
import { join } from 'node:path';
|
|
|
|
import { writeActiveName } from '../../server/portfolios.mjs';
|
|
import { moveProviderKeys, readSecretsStore, writeSecretsStore } from '../../server/keys.mjs';
|
|
|
|
let DIR, vorige;
|
|
beforeEach(async () => {
|
|
vorige = process.env.ASSETAPP_DATA_DIR;
|
|
DIR = await mkdtemp(join(tmpdir(), 'assetapp-keys-'));
|
|
process.env.ASSETAPP_DATA_DIR = DIR;
|
|
writeActiveName('Echt');
|
|
});
|
|
afterEach(async () => {
|
|
if (vorige === undefined) delete process.env.ASSETAPP_DATA_DIR; else process.env.ASSETAPP_DATA_DIR = vorige;
|
|
await rm(DIR, { recursive: true, force: true });
|
|
});
|
|
|
|
describe('moveProviderKeys', () => {
|
|
it('verhuist de sleutel naar de samengevoegde bron en laat de rest staan', async () => {
|
|
await writeSecretsStore({ eulerpool_metal: { api_key: 'geheim' }, goldapi: { api_key: 'ander' } });
|
|
assert.equal(await moveProviderKeys('eulerpool_metal', 'eulerpool'), true);
|
|
assert.deepEqual(await readSecretsStore(), { eulerpool: { api_key: 'geheim' }, goldapi: { api_key: 'ander' } });
|
|
});
|
|
|
|
it('laat een sleutel die het doel al had winnen', async () => {
|
|
await writeSecretsStore({ eulerpool_metal: { api_key: 'oud' }, eulerpool: { api_key: 'nieuw' } });
|
|
await moveProviderKeys('eulerpool_metal', 'eulerpool');
|
|
assert.deepEqual(await readSecretsStore(), { eulerpool: { api_key: 'nieuw' } });
|
|
});
|
|
|
|
it('doet niets als er niets te verhuizen is, ook de tweede keer', async () => {
|
|
await writeSecretsStore({ eulerpool: { api_key: 'x' } });
|
|
assert.equal(await moveProviderKeys('eulerpool_metal', 'eulerpool'), false);
|
|
assert.deepEqual(await readSecretsStore(), { eulerpool: { api_key: 'x' } });
|
|
});
|
|
});
|