// 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' } }); }); });