import { tap, expect } from '@git.zone/tstest/tapbundle'; import * as plugins from '../ts/plugins.js'; import { SmartMtaStorageManager } from '../ts/email/index.js'; const tempDir = plugins.path.join(process.cwd(), '.nogit', 'test-smartmta-storage'); tap.test('SmartMtaStorageManager persists, lists, and deletes keys', async () => { await plugins.fs.promises.rm(tempDir, { recursive: true, force: true }); const storageManager = new SmartMtaStorageManager(tempDir); await storageManager.set('/email/dkim/example.com/default/metadata', 'metadata'); await storageManager.set('/email/dkim/example.com/default/public.key', 'public'); expect(await storageManager.get('/email/dkim/example.com/default/metadata')).toEqual('metadata'); const keys = await storageManager.list('/email/dkim/example.com/'); expect(keys).toEqual([ '/email/dkim/example.com/default/metadata', '/email/dkim/example.com/default/public.key', ]); await storageManager.delete('/email/dkim/example.com/default/metadata'); expect(await storageManager.get('/email/dkim/example.com/default/metadata')).toBeNull(); }); tap.test('cleanup', async () => { await plugins.fs.promises.rm(tempDir, { recursive: true, force: true }); await tap.stopForcefully(); }); export default tap.start();