52 lines
1.4 KiB
TypeScript
52 lines
1.4 KiB
TypeScript
import { tap, expect } from '@git.zone/tstest/tapbundle';
|
|
import { createTestServer } from '../../helpers/server.loader.js';
|
|
import { createTestSmtpClient } from '../../helpers/smtp.client.js';
|
|
|
|
tap.test('CREL-07: Resource Cleanup Tests', async () => {
|
|
console.log('\n🧹 Testing SMTP Client Resource Cleanup');
|
|
console.log('=' .repeat(60));
|
|
|
|
const testServer = await createTestServer({});
|
|
|
|
try {
|
|
console.log('\nTest 1: Basic client creation and cleanup');
|
|
|
|
// Create a client
|
|
const smtpClient = createTestSmtpClient({
|
|
host: testServer.hostname,
|
|
port: testServer.port
|
|
});
|
|
console.log(' ✓ Client created');
|
|
|
|
// Verify connection
|
|
try {
|
|
const verifyResult = await smtpClient.verify();
|
|
console.log(' ✓ Connection verified:', verifyResult);
|
|
} catch (error) {
|
|
console.log(' ⚠️ Verify failed:', error.message);
|
|
}
|
|
|
|
// Close the client
|
|
smtpClient.close();
|
|
console.log(' ✓ Client closed');
|
|
|
|
console.log('\nTest 2: Multiple close calls');
|
|
const testClient = createTestSmtpClient({
|
|
host: testServer.hostname,
|
|
port: testServer.port
|
|
});
|
|
|
|
// Close multiple times - should not throw
|
|
testClient.close();
|
|
testClient.close();
|
|
testClient.close();
|
|
console.log(' ✓ Multiple close calls handled safely');
|
|
|
|
console.log('\n✅ CREL-07: Resource cleanup tests completed');
|
|
|
|
} finally {
|
|
testServer.server.close();
|
|
}
|
|
});
|
|
|
|
tap.start(); |