Files
ccs/tests/unit/cliproxy/proxy-detector-port.test.ts
T
Tam Nhu Tran 0483444864 fix: separate type-only exports and migrate test imports from dist/ to src/
Spinner interface re-exported as value in checks/index.ts caused Bun
runtime crash. Test files importing from dist/ failed without build step.
2026-02-11 14:05:33 +07:00

68 lines
2.4 KiB
TypeScript

/**
* Proxy Detector Port Validation Tests
*
* Tests for detectRunningProxy with invalid port inputs.
* Verifies the fix handles undefined, null, and invalid ports gracefully.
*/
import { describe, it, expect } from 'bun:test';
import { detectRunningProxy } from '../../../src/cliproxy/proxy-detector';
import { CLIPROXY_DEFAULT_PORT } from '../../../src/cliproxy/config-generator';
describe('Proxy Detector Port Validation', () => {
describe('detectRunningProxy with invalid ports', () => {
it('handles undefined port (uses default)', async () => {
// TypeScript allows this at runtime via any/unknown
const result = await detectRunningProxy(undefined as unknown as number);
// Should not throw, should use default port
expect(result).toBeDefined();
expect(typeof result.running).toBe('boolean');
});
it('handles NaN port (uses default)', async () => {
const result = await detectRunningProxy(NaN);
expect(result).toBeDefined();
expect(typeof result.running).toBe('boolean');
});
it('handles negative port (uses default)', async () => {
const result = await detectRunningProxy(-1);
expect(result).toBeDefined();
expect(typeof result.running).toBe('boolean');
});
it('handles zero port (uses default)', async () => {
const result = await detectRunningProxy(0);
expect(result).toBeDefined();
expect(typeof result.running).toBe('boolean');
});
it('handles port > 65535 (uses default)', async () => {
const result = await detectRunningProxy(70000);
expect(result).toBeDefined();
expect(typeof result.running).toBe('boolean');
});
it('handles valid port correctly', async () => {
const result = await detectRunningProxy(CLIPROXY_DEFAULT_PORT);
expect(result).toBeDefined();
expect(typeof result.running).toBe('boolean');
expect(typeof result.verified).toBe('boolean');
});
it('handles variant port correctly', async () => {
const result = await detectRunningProxy(8318);
expect(result).toBeDefined();
expect(typeof result.running).toBe('boolean');
});
});
describe('detectRunningProxy default parameter', () => {
it('works without port argument (uses default)', async () => {
const result = await detectRunningProxy();
expect(result).toBeDefined();
expect(typeof result.running).toBe('boolean');
});
});
});