mirror of
https://github.com/tiennm99/ccs.git
synced 2026-10-14 14:17:11 +00:00
fix: resolve CI test timing and merge conflict with dev
- Fix connection tracking test: wait for 'close' event instead of only checking socket.destroyed (more reliable in CI environments) - Increase timeout from 500ms to 1000ms for CI latency - Add proper socket cleanup after test - Merge dev changes: add projectId parameter to registerAccount()
This commit is contained in:
commit
504b1b3974
30 files changed
+1935
-103
No files matched your search
@@ -313,6 +313,13 @@ describe('HttpsTunnelProxy', () => {
|
||||
|
||||
// Create a connection
|
||||
const socket = new (await import('net')).Socket();
|
||||
|
||||
// Track when the socket closes (from server-side destroy)
|
||||
let socketClosed = false;
|
||||
socket.on('close', () => {
|
||||
socketClosed = true;
|
||||
});
|
||||
|
||||
const connectPromise = new Promise<void>((resolve, reject) => {
|
||||
socket.connect(port, '127.0.0.1', () => resolve());
|
||||
socket.on('error', reject);
|
||||
@@ -323,13 +330,18 @@ describe('HttpsTunnelProxy', () => {
|
||||
// Stop should forcefully close connections
|
||||
tunnel.stop();
|
||||
|
||||
// Socket should be destroyed (allow more time for CI environments)
|
||||
// Wait up to 500ms for socket to be destroyed
|
||||
for (let i = 0; i < 10; i++) {
|
||||
if (socket.destroyed) break;
|
||||
// Wait for close event (server destroys connection, client receives close)
|
||||
// Allow up to 1000ms for CI environments with higher latency
|
||||
for (let i = 0; i < 20; i++) {
|
||||
if (socketClosed || socket.destroyed) break;
|
||||
await new Promise((resolve) => setTimeout(resolve, 50));
|
||||
}
|
||||
expect(socket.destroyed).toBe(true);
|
||||
expect(socketClosed || socket.destroyed).toBe(true);
|
||||
|
||||
// Clean up client socket if not already destroyed
|
||||
if (!socket.destroyed) {
|
||||
socket.destroy();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user