smartimap/test/test.imapclient.ts

40 lines
1.0 KiB
TypeScript

import { expect, expectAsync, tap } from '@push.rocks/tapbundle';
import { tapNodeTools } from '@push.rocks/tapbundle/node';
import * as smartimap from '../ts/index.js';
let testSmartImap: smartimap.ImapClient;
tap.test('smartimap', async () => {
testSmartImap = new smartimap.ImapClient({
host: await tapNodeTools.getEnvVarOnDemand('IMAP_URL'),
port: 993,
secure: true,
auth: {
user: await tapNodeTools.getEnvVarOnDemand('IMAP_USER'),
pass: await tapNodeTools.getEnvVarOnDemand('IMAP_PASSWORD'),
},
mailbox: 'INBOX',
filter: { seen: true, to: await tapNodeTools.getEnvVarOnDemand('IMAP_USER'), },
});
await testSmartImap.connect();
testSmartImap.on('message', (message: smartimap.SmartImapMessage) => {
console.log(message.subject);
});
testSmartImap.on('error', (error) => {
console.error(error);
});
testSmartImap.on('connected', () => {
console.log('Connected');
});
testSmartImap.on('disconnected', () => {
console.log('Disconnected');
});
});
tap.start();