mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-19 09:33:53 +00:00
Merge tag 'v0.3.0' into chore/sync-gemini-cli-v0.3.0
This commit is contained in:
@@ -10,17 +10,10 @@ import * as os from 'node:os';
|
||||
import * as path from 'node:path';
|
||||
import * as net from 'node:net';
|
||||
import * as child_process from 'node:child_process';
|
||||
import type { ChildProcess } from 'node:child_process';
|
||||
import { IdeClient } from '../packages/core/src/ide/ide-client.js';
|
||||
|
||||
import { TestMcpServer } from './test-mcp-server.js';
|
||||
|
||||
// Helper function to reset the IdeClient singleton instance for testing
|
||||
const resetIdeClientInstance = () => {
|
||||
// Access the private instance property using type assertion
|
||||
(IdeClient as unknown as { instance?: IdeClient }).instance = undefined;
|
||||
};
|
||||
|
||||
describe.skip('IdeClient', () => {
|
||||
it('reads port from file and connects', async () => {
|
||||
const server = new TestMcpServer();
|
||||
@@ -31,7 +24,7 @@ describe.skip('IdeClient', () => {
|
||||
process.env['QWEN_CODE_IDE_WORKSPACE_PATH'] = process.cwd();
|
||||
process.env['TERM_PROGRAM'] = 'vscode';
|
||||
|
||||
const ideClient = IdeClient.getInstance();
|
||||
const ideClient = await IdeClient.getInstance();
|
||||
await ideClient.connect();
|
||||
|
||||
expect(ideClient.getConnectionStatus()).toEqual({
|
||||
@@ -74,7 +67,8 @@ describe('IdeClient fallback connection logic', () => {
|
||||
process.env['TERM_PROGRAM'] = 'vscode';
|
||||
process.env['QWEN_CODE_IDE_WORKSPACE_PATH'] = process.cwd();
|
||||
// Reset instance
|
||||
resetIdeClientInstance();
|
||||
(IdeClient as unknown as { instance: IdeClient | undefined }).instance =
|
||||
undefined;
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
@@ -92,7 +86,7 @@ describe('IdeClient fallback connection logic', () => {
|
||||
fs.unlinkSync(portFile);
|
||||
}
|
||||
|
||||
const ideClient = IdeClient.getInstance();
|
||||
const ideClient = await IdeClient.getInstance();
|
||||
await ideClient.connect();
|
||||
|
||||
expect(ideClient.getConnectionStatus()).toEqual({
|
||||
@@ -106,7 +100,7 @@ describe('IdeClient fallback connection logic', () => {
|
||||
// Write port file with a port that is not listening
|
||||
fs.writeFileSync(portFile, JSON.stringify({ port: filePort }));
|
||||
|
||||
const ideClient = IdeClient.getInstance();
|
||||
const ideClient = await IdeClient.getInstance();
|
||||
await ideClient.connect();
|
||||
|
||||
expect(ideClient.getConnectionStatus()).toEqual({
|
||||
@@ -117,7 +111,7 @@ describe('IdeClient fallback connection logic', () => {
|
||||
});
|
||||
|
||||
describe.skip('getIdeProcessId', () => {
|
||||
let child: ChildProcess;
|
||||
let child: child_process.ChildProcess;
|
||||
|
||||
afterEach(() => {
|
||||
if (child) {
|
||||
@@ -145,11 +139,11 @@ describe.skip('getIdeProcessId', () => {
|
||||
);
|
||||
|
||||
let out = '';
|
||||
child.stdout?.on('data', (data: Buffer) => {
|
||||
child.stdout?.on('data', (data) => {
|
||||
out += data.toString();
|
||||
});
|
||||
|
||||
child.on('close', (code: number | null) => {
|
||||
child.on('close', (code) => {
|
||||
if (code === 0) {
|
||||
resolve(out.trim());
|
||||
} else {
|
||||
@@ -180,11 +174,12 @@ describe('IdeClient with proxy', () => {
|
||||
vi.stubEnv('QWEN_CODE_IDE_WORKSPACE_PATH', process.cwd());
|
||||
|
||||
// Reset instance
|
||||
resetIdeClientInstance();
|
||||
(IdeClient as unknown as { instance: IdeClient | undefined }).instance =
|
||||
undefined;
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
IdeClient.getInstance().disconnect();
|
||||
(await IdeClient.getInstance()).disconnect();
|
||||
await mcpServer.stop();
|
||||
proxyServer.close();
|
||||
vi.unstubAllEnvs();
|
||||
@@ -195,7 +190,7 @@ describe('IdeClient with proxy', () => {
|
||||
vi.stubEnv('HTTPS_PROXY', `http://localhost:${proxyServerPort}`);
|
||||
vi.stubEnv('NO_PROXY', 'example.com,127.0.0.1,::1');
|
||||
|
||||
const ideClient = IdeClient.getInstance();
|
||||
const ideClient = await IdeClient.getInstance();
|
||||
await ideClient.connect();
|
||||
|
||||
expect(ideClient.getConnectionStatus()).toEqual({
|
||||
|
||||
Reference in New Issue
Block a user