40 lines
1.0 KiB
TypeScript
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();
|