dcrouter/test/suite/smtpclient_reliability/test.crel-07.resource-cleanup.ts
2025-05-26 16:14:49 +00:00

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();