Files
smartimap/test/test.imapclient.node.ts
T

47 lines
1.3 KiB
TypeScript
Raw Permalink Normal View History

import { tap } from '@git.zone/tstest/tapbundle';
import { TapNodeTools } from '@git.zone/tstest/tapbundle_serverside';
2024-09-19 10:33:57 +02:00
import * as smartimap from '../ts/index.js';
let testSmartImap: smartimap.ImapClient;
const tapNodeTools = new TapNodeTools(tap);
2024-09-19 10:33:57 +02:00
tap.test('smartimap', async () => {
if (process.env.SMARTIMAP_RUN_INTEGRATION_TESTS !== 'true') {
console.log('Skipping IMAP integration test. Set SMARTIMAP_RUN_INTEGRATION_TESTS=true to run it.');
return;
}
testSmartImap = new smartimap.ImapClient({
2024-09-19 10:33:57 +02:00
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'), },
2024-09-19 10:33:57 +02:00
});
testSmartImap.on('message', (message: smartimap.SmartImapMessage) => {
console.log(message.subject);
2024-09-19 10:33:57 +02:00
});
testSmartImap.on('error', (error: Error) => {
2024-09-19 10:33:57 +02:00
console.error(error);
});
testSmartImap.on('connected', () => {
console.log('Connected');
});
testSmartImap.on('disconnected', () => {
console.log('Disconnected');
});
await testSmartImap.connect();
await testSmartImap.disconnect();
2024-09-19 10:33:57 +02:00
});
export default tap.start();