This commit is contained in:
2025-05-23 21:20:39 +00:00
parent 9629329bc2
commit 0907949f8a
86 changed files with 654 additions and 569 deletions

View File

@ -1,7 +1,7 @@
import * as plugins from '@git.zone/tstest/tapbundle';
import { expect, tap } from '@git.zone/tstest/tapbundle';
import * as net from 'net';
import { startTestServer, stopTestServer } from '../server.loader.js';
import { startTestServer, stopTestServer } from '../../helpers/server.loader.js';
const TEST_PORT = 2525;
@ -73,7 +73,7 @@ tap.test('REL-05: DNS resolution failure handling - Non-existent domains', async
const mailFromHandled = mailResponse.includes('250') ||
mailResponse.includes('450') ||
mailResponse.includes('550');
expect(mailFromHandled).toBeTrue();
expect(mailFromHandled).toEqual(true);
// Reset if needed
if (mailResponse.includes('250')) {
@ -108,7 +108,7 @@ tap.test('REL-05: DNS resolution failure handling - Non-existent domains', async
const rcptToHandled = rcptResponse.includes('450') || // Temporary failure
rcptResponse.includes('550') || // Permanent failure
rcptResponse.includes('553'); // Address error
expect(rcptToHandled).toBeTrue();
expect(rcptToHandled).toEqual(true);
socket.write('QUIT\r\n');
socket.end();
@ -182,7 +182,7 @@ tap.test('REL-05: DNS resolution failure handling - Malformed domains', async (t
response.includes('553'); // Address error
console.log(` Response: ${response.trim().substring(0, 50)}`);
expect(properlyHandled).toBeTrue();
expect(properlyHandled).toEqual(true);
// Reset if needed
if (!response.includes('5')) {
@ -266,7 +266,7 @@ tap.test('REL-05: DNS resolution failure handling - Special cases', async (tools
console.log(' IP address response:', ipResponse.trim());
const ipHandled = ipResponse.includes('250') || ipResponse.includes('501');
expect(ipHandled).toBeTrue();
expect(ipHandled).toEqual(true);
socket.write('RSET\r\n');
await new Promise<void>((resolve) => {
@ -368,7 +368,7 @@ tap.test('REL-05: DNS resolution failure handling - Mixed valid/invalid recipien
const invalidHandled = invalidRcptResponse.includes('450') ||
invalidRcptResponse.includes('550') ||
invalidRcptResponse.includes('553');
expect(invalidHandled).toBeTrue();
expect(invalidHandled).toEqual(true);
// Try to send data (should work if at least one valid recipient)
socket.write('DATA\r\n');

View File

@ -1,7 +1,7 @@
import * as plugins from '@git.zone/tstest/tapbundle';
import { expect, tap } from '@git.zone/tstest/tapbundle';
import * as net from 'net';
import { startTestServer, stopTestServer } from '../server.loader.js';
import { startTestServer, stopTestServer } from '../../helpers/server.loader.js';
const TEST_PORT = 2525;
@ -119,7 +119,7 @@ tap.test('REL-04: Error recovery - Invalid command recovery', async (tools) => {
const socket2 = await createConnection();
const recoverySuccess = await testBasicSmtpFlow(socket2);
expect(recoverySuccess).toBeTrue();
expect(recoverySuccess).toEqual(true);
console.log('✓ Server recovered from invalid commands');
done.resolve();
} catch (error) {
@ -173,7 +173,7 @@ tap.test('REL-04: Error recovery - Malformed data recovery', async (tools) => {
const socket2 = await createConnection();
const recoverySuccess = await testBasicSmtpFlow(socket2);
expect(recoverySuccess).toBeTrue();
expect(recoverySuccess).toEqual(true);
console.log('✓ Server recovered from malformed data');
done.resolve();
} catch (error) {
@ -221,7 +221,7 @@ tap.test('REL-04: Error recovery - Premature disconnection recovery', async (too
const socket2 = await createConnection();
const recoverySuccess = await testBasicSmtpFlow(socket2);
expect(recoverySuccess).toBeTrue();
expect(recoverySuccess).toEqual(true);
console.log('✓ Server recovered from premature disconnections');
done.resolve();
} catch (error) {
@ -283,7 +283,7 @@ tap.test('REL-04: Error recovery - Data corruption recovery', async (tools) => {
const socket2 = await createConnection();
const recoverySuccess = await testBasicSmtpFlow(socket2);
expect(recoverySuccess).toBeTrue();
expect(recoverySuccess).toEqual(true);
console.log('✓ Server recovered from data corruption');
done.resolve();
} catch (error) {
@ -335,7 +335,7 @@ tap.test('REL-04: Error recovery - Connection flooding recovery', async (tools)
const socket2 = await createConnection();
const recoverySuccess = await testBasicSmtpFlow(socket2);
expect(recoverySuccess).toBeTrue();
expect(recoverySuccess).toEqual(true);
console.log('✓ Server recovered from connection flooding');
done.resolve();
} catch (error) {
@ -392,7 +392,7 @@ tap.test('REL-04: Error recovery - Mixed error scenario', async (tools) => {
const socket = await createConnection();
const recoverySuccess = await testBasicSmtpFlow(socket);
expect(recoverySuccess).toBeTrue();
expect(recoverySuccess).toEqual(true);
console.log('✓ Server recovered from mixed error scenarios');
done.resolve();
} catch (error) {

View File

@ -1,7 +1,7 @@
import * as plugins from '@git.zone/tstest/tapbundle';
import { expect, tap } from '@git.zone/tstest/tapbundle';
import * as net from 'net';
import { startTestServer, stopTestServer } from '../server.loader.js';
import { startTestServer, stopTestServer } from '../../helpers/server.loader.js';
const TEST_PORT = 2525;

View File

@ -1,7 +1,7 @@
import * as plugins from '@git.zone/tstest/tapbundle';
import { expect, tap } from '@git.zone/tstest/tapbundle';
import * as net from 'net';
import { startTestServer, stopTestServer } from '../server.loader.js';
import { startTestServer, stopTestServer } from '../../helpers/server.loader.js';
const TEST_PORT = 2525;
@ -121,7 +121,7 @@ tap.test('REL-06: Network interruption - Sudden connection drop', async (tools)
const socket2 = await createConnection();
const recoverySuccess = await testBasicSmtpFlow(socket2);
expect(recoverySuccess).toBeTrue();
expect(recoverySuccess).toEqual(true);
console.log('✓ Server recovered from sudden connection drop');
done.resolve();
} catch (error) {
@ -178,7 +178,7 @@ tap.test('REL-06: Network interruption - Data transfer interruption', async (too
const newSocket = await createConnection();
const recoverySuccess = await testBasicSmtpFlow(newSocket);
expect(recoverySuccess).toBeTrue();
expect(recoverySuccess).toEqual(true);
console.log('✓ Server recovered from data transfer interruption');
done.resolve();
} catch (error) {
@ -271,7 +271,7 @@ tap.test('REL-06: Network interruption - Partial command interruption', async (t
const newSocket = await createConnection();
const recoverySuccess = await testBasicSmtpFlow(newSocket);
expect(recoverySuccess).toBeTrue();
expect(recoverySuccess).toEqual(true);
console.log('✓ Server recovered from partial command interruption');
done.resolve();
} catch (error) {
@ -401,7 +401,7 @@ tap.test('REL-06: Network interruption - Long delay recovery', async (tools) =>
const newSocket = await createConnection();
const recoverySuccess = await testBasicSmtpFlow(newSocket);
expect(recoverySuccess).toBeTrue();
expect(recoverySuccess).toEqual(true);
console.log('✓ Server recovered after long network interruption');
done.resolve();
} catch (error) {

View File

@ -1,7 +1,7 @@
import * as plugins from '@git.zone/tstest/tapbundle';
import { expect, tap } from '@git.zone/tstest/tapbundle';
import * as net from 'net';
import { startTestServer, stopTestServer } from '../server.loader.js';
import { startTestServer, stopTestServer } from '../../helpers/server.loader.js';
const TEST_PORT = 2525;
@ -236,8 +236,8 @@ tap.test('REL-03: Resource leak detection - Memory leak analysis', async (tools)
console.log(`Memory leak detected: ${leakAnalysis.memoryLeakDetected}`);
console.log(`Resources stable: ${leakAnalysis.resourcesStable}`);
expect(leakAnalysis.memoryLeakDetected).toBeFalse();
expect(leakAnalysis.resourcesStable).toBeTrue();
expect(leakAnalysis.memoryLeakDetected).toEqual(false);
expect(leakAnalysis.resourcesStable).toEqual(true);
done.resolve();
} catch (error) {
connections.forEach(conn => conn.destroy());

View File

@ -1,7 +1,7 @@
import * as plugins from '@git.zone/tstest/tapbundle';
import { expect, tap } from '@git.zone/tstest/tapbundle';
import * as net from 'net';
import { startTestServer, stopTestServer } from '../server.loader.js';
import { startTestServer, stopTestServer } from '../../helpers/server.loader.js';
const TEST_PORT = 2525;