@tostudy-ai/mcp-setup 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +149 -0
- package/bin/cli.js +6 -0
- package/dist/__tests__/e2e-diagnostic-repair-flow.test.d.ts +52 -0
- package/dist/__tests__/e2e-diagnostic-repair-flow.test.d.ts.map +1 -0
- package/dist/__tests__/e2e-diagnostic-repair-flow.test.js +720 -0
- package/dist/__tests__/e2e-diagnostic-repair-flow.test.js.map +1 -0
- package/dist/__tests__/e2e-wizard-flow.test.d.ts +43 -0
- package/dist/__tests__/e2e-wizard-flow.test.d.ts.map +1 -0
- package/dist/__tests__/e2e-wizard-flow.test.js +407 -0
- package/dist/__tests__/e2e-wizard-flow.test.js.map +1 -0
- package/dist/__tests__/ide-handlers.test.d.ts +10 -0
- package/dist/__tests__/ide-handlers.test.d.ts.map +1 -0
- package/dist/__tests__/ide-handlers.test.js +336 -0
- package/dist/__tests__/ide-handlers.test.js.map +1 -0
- package/dist/__tests__/install-command.test.d.ts +10 -0
- package/dist/__tests__/install-command.test.d.ts.map +1 -0
- package/dist/__tests__/install-command.test.js +237 -0
- package/dist/__tests__/install-command.test.js.map +1 -0
- package/dist/config.d.ts +51 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +117 -0
- package/dist/config.js.map +1 -0
- package/dist/detect.d.ts +42 -0
- package/dist/detect.d.ts.map +1 -0
- package/dist/detect.js +277 -0
- package/dist/detect.js.map +1 -0
- package/dist/diagnose.d.ts +36 -0
- package/dist/diagnose.d.ts.map +1 -0
- package/dist/diagnose.js +512 -0
- package/dist/diagnose.js.map +1 -0
- package/dist/ide-handlers/base.d.ts +36 -0
- package/dist/ide-handlers/base.d.ts.map +1 -0
- package/dist/ide-handlers/base.js +41 -0
- package/dist/ide-handlers/base.js.map +1 -0
- package/dist/ide-handlers/claude-code.d.ts +15 -0
- package/dist/ide-handlers/claude-code.d.ts.map +1 -0
- package/dist/ide-handlers/claude-code.js +50 -0
- package/dist/ide-handlers/claude-code.js.map +1 -0
- package/dist/ide-handlers/cursor.d.ts +15 -0
- package/dist/ide-handlers/cursor.d.ts.map +1 -0
- package/dist/ide-handlers/cursor.js +61 -0
- package/dist/ide-handlers/cursor.js.map +1 -0
- package/dist/ide-handlers/desktop.d.ts +16 -0
- package/dist/ide-handlers/desktop.d.ts.map +1 -0
- package/dist/ide-handlers/desktop.js +26 -0
- package/dist/ide-handlers/desktop.js.map +1 -0
- package/dist/ide-handlers/index.d.ts +21 -0
- package/dist/ide-handlers/index.d.ts.map +1 -0
- package/dist/ide-handlers/index.js +49 -0
- package/dist/ide-handlers/index.js.map +1 -0
- package/dist/ide-handlers/manual.d.ts +16 -0
- package/dist/ide-handlers/manual.d.ts.map +1 -0
- package/dist/ide-handlers/manual.js +34 -0
- package/dist/ide-handlers/manual.js.map +1 -0
- package/dist/ide-handlers/opencode.d.ts +15 -0
- package/dist/ide-handlers/opencode.d.ts.map +1 -0
- package/dist/ide-handlers/opencode.js +57 -0
- package/dist/ide-handlers/opencode.js.map +1 -0
- package/dist/ide-handlers/vscode.d.ts +16 -0
- package/dist/ide-handlers/vscode.d.ts.map +1 -0
- package/dist/ide-handlers/vscode.js +62 -0
- package/dist/ide-handlers/vscode.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +501 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts.d.ts +23 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +68 -0
- package/dist/prompts.js.map +1 -0
- package/dist/repair.d.ts +50 -0
- package/dist/repair.d.ts.map +1 -0
- package/dist/repair.js +588 -0
- package/dist/repair.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e2e-diagnostic-repair-flow.test.js","sourceRoot":"","sources":["../../src/__tests__/e2e-diagnostic-repair-flow.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* E2E Test: CLI Setup Wizard Flow
|
|
3
|
+
*
|
|
4
|
+
* This test verifies the complete end-to-end flow of the MCP setup wizard:
|
|
5
|
+
* 1. Wizard starts with fresh config
|
|
6
|
+
* 2. Wizard detects IDEs and validates API key
|
|
7
|
+
* 3. Config file is generated with correct structure
|
|
8
|
+
* 4. MCP server connection can be established
|
|
9
|
+
* 5. Health check passes
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This test requires the MCP server to be running for full E2E verification.
|
|
12
|
+
* Run with: npx tsx src/__tests__/e2e-wizard-flow.test.ts
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Step 1: Environment Detection
|
|
16
|
+
*/
|
|
17
|
+
declare function testEnvironmentDetection(): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Step 2: Config File Operations
|
|
20
|
+
*/
|
|
21
|
+
declare function testConfigOperations(): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Step 3: Diagnostic Checks
|
|
24
|
+
*/
|
|
25
|
+
declare function testDiagnostics(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Step 4: Auto-Repair Functions
|
|
28
|
+
*/
|
|
29
|
+
declare function testRepairFunctions(): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Step 5: MCP Server Connectivity (requires running server)
|
|
32
|
+
*/
|
|
33
|
+
declare function testServerConnectivity(): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Step 6: Integration Test - Complete Wizard Flow Simulation
|
|
36
|
+
*/
|
|
37
|
+
declare function testWizardFlowSimulation(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Main test runner
|
|
40
|
+
*/
|
|
41
|
+
declare function main(): Promise<void>;
|
|
42
|
+
export { testEnvironmentDetection, testConfigOperations, testDiagnostics, testRepairFunctions, testServerConnectivity, testWizardFlowSimulation, main as runE2ETests, };
|
|
43
|
+
//# sourceMappingURL=e2e-wizard-flow.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e2e-wizard-flow.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/e2e-wizard-flow.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAqGH;;GAEG;AACH,iBAAe,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiCvD;AAED;;GAEG;AACH,iBAAe,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+CnD;AAED;;GAEG;AACH,iBAAe,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA0C9C;AAED;;GAEG;AACH,iBAAe,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2BlD;AAED;;GAEG;AACH,iBAAe,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CA4ErD;AAED;;GAEG;AACH,iBAAe,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwDvD;AAqCD;;GAEG;AACH,iBAAe,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAgCnC;AAQD,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,IAAI,IAAI,WAAW,GACpB,CAAC"}
|
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* E2E Test: CLI Setup Wizard Flow
|
|
3
|
+
*
|
|
4
|
+
* This test verifies the complete end-to-end flow of the MCP setup wizard:
|
|
5
|
+
* 1. Wizard starts with fresh config
|
|
6
|
+
* 2. Wizard detects IDEs and validates API key
|
|
7
|
+
* 3. Config file is generated with correct structure
|
|
8
|
+
* 4. MCP server connection can be established
|
|
9
|
+
* 5. Health check passes
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This test requires the MCP server to be running for full E2E verification.
|
|
12
|
+
* Run with: npx tsx src/__tests__/e2e-wizard-flow.test.ts
|
|
13
|
+
*/
|
|
14
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
15
|
+
import { platform } from 'node:os';
|
|
16
|
+
// Import the modules we're testing
|
|
17
|
+
import { getClaudeConfigPath, isClaudeInstalled, readClaudeConfig, addTostudyMcpServer, removeTostudyMcpServer, isTostudyMcpConfigured, getTostudyMcpConfig, } from '../config.js';
|
|
18
|
+
import { getInstalledIDEs, detectAllIDEs } from '../detect.js';
|
|
19
|
+
import { runDiagnostics } from '../diagnose.js';
|
|
20
|
+
import { repairAllIssues } from '../repair.js';
|
|
21
|
+
// Test utilities
|
|
22
|
+
const TEST_API_KEY = 'test-e2e-api-key-12345678901234567890123456789012';
|
|
23
|
+
const TEST_PLATFORM_URL = 'https://tostudy.com';
|
|
24
|
+
const results = [];
|
|
25
|
+
let testConfigBackup = null;
|
|
26
|
+
function log(message) {
|
|
27
|
+
process.stdout.write(`${message}\n`);
|
|
28
|
+
}
|
|
29
|
+
function logStep(step, description) {
|
|
30
|
+
log(`\n${'━'.repeat(60)}`);
|
|
31
|
+
log(`Step ${step}: ${description}`);
|
|
32
|
+
log('━'.repeat(60));
|
|
33
|
+
}
|
|
34
|
+
function logResult(name, passed, message) {
|
|
35
|
+
const icon = passed ? '✓' : '✗';
|
|
36
|
+
const color = passed ? '\x1b[32m' : '\x1b[31m';
|
|
37
|
+
const reset = '\x1b[0m';
|
|
38
|
+
log(` ${color}${icon}${reset} ${name}: ${message}`);
|
|
39
|
+
}
|
|
40
|
+
function assert(condition, message) {
|
|
41
|
+
if (!condition) {
|
|
42
|
+
throw new Error(`Assertion failed: ${message}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async function runTest(name, testFn) {
|
|
46
|
+
const start = Date.now();
|
|
47
|
+
try {
|
|
48
|
+
await testFn();
|
|
49
|
+
const duration = Date.now() - start;
|
|
50
|
+
results.push({ name, passed: true, message: 'OK', duration });
|
|
51
|
+
logResult(name, true, `OK (${duration}ms)`);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
const duration = Date.now() - start;
|
|
55
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
56
|
+
results.push({ name, passed: false, message, duration });
|
|
57
|
+
logResult(name, false, message);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Backup the current Claude config before tests
|
|
62
|
+
*/
|
|
63
|
+
function backupConfig() {
|
|
64
|
+
const configPath = getClaudeConfigPath();
|
|
65
|
+
if (existsSync(configPath)) {
|
|
66
|
+
testConfigBackup = readFileSync(configPath, 'utf-8');
|
|
67
|
+
log(` Backed up existing config from ${configPath}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Restore the Claude config after tests
|
|
72
|
+
*/
|
|
73
|
+
function restoreConfig() {
|
|
74
|
+
const configPath = getClaudeConfigPath();
|
|
75
|
+
if (testConfigBackup !== null) {
|
|
76
|
+
writeFileSync(configPath, testConfigBackup, 'utf-8');
|
|
77
|
+
log(` Restored original config to ${configPath}`);
|
|
78
|
+
}
|
|
79
|
+
else if (existsSync(configPath)) {
|
|
80
|
+
// If there was no backup but a file now exists, remove it
|
|
81
|
+
// (test created it from scratch)
|
|
82
|
+
// For safety, keep the test-created config
|
|
83
|
+
log(` Test created new config at ${configPath}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Step 1: Environment Detection
|
|
88
|
+
*/
|
|
89
|
+
async function testEnvironmentDetection() {
|
|
90
|
+
logStep(1, 'Environment Detection');
|
|
91
|
+
await runTest('Claude Code installation check', () => {
|
|
92
|
+
const installed = isClaudeInstalled();
|
|
93
|
+
// This test passes whether Claude is installed or not
|
|
94
|
+
// We just verify the function works
|
|
95
|
+
log(` Claude Code installed: ${installed}`);
|
|
96
|
+
assert(typeof installed === 'boolean', 'isClaudeInstalled should return boolean');
|
|
97
|
+
});
|
|
98
|
+
await runTest('Config path resolution', () => {
|
|
99
|
+
const configPath = getClaudeConfigPath();
|
|
100
|
+
assert(typeof configPath === 'string', 'Config path should be a string');
|
|
101
|
+
assert(configPath.length > 0, 'Config path should not be empty');
|
|
102
|
+
assert(configPath.includes('claude_desktop_config.json'), 'Config path should end with claude_desktop_config.json');
|
|
103
|
+
log(` Config path: ${configPath}`);
|
|
104
|
+
});
|
|
105
|
+
await runTest('IDE detection', () => {
|
|
106
|
+
const allIDEs = detectAllIDEs();
|
|
107
|
+
assert(Array.isArray(allIDEs), 'detectAllIDEs should return an array');
|
|
108
|
+
assert(allIDEs.length === 4, 'Should check for 4 IDE types');
|
|
109
|
+
const installedIDEs = getInstalledIDEs();
|
|
110
|
+
assert(Array.isArray(installedIDEs), 'getInstalledIDEs should return an array');
|
|
111
|
+
log(` Detected ${installedIDEs.length} installed IDE(s):`);
|
|
112
|
+
for (const ide of installedIDEs) {
|
|
113
|
+
const version = ide.version ? ` (${ide.version})` : '';
|
|
114
|
+
log(` - ${ide.name}${version}`);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Step 2: Config File Operations
|
|
120
|
+
*/
|
|
121
|
+
async function testConfigOperations() {
|
|
122
|
+
logStep(2, 'Config File Operations');
|
|
123
|
+
await runTest('Read config (initial state)', () => {
|
|
124
|
+
const config = readClaudeConfig();
|
|
125
|
+
assert(typeof config === 'object', 'Config should be an object');
|
|
126
|
+
assert(config.mcpServers !== undefined || config.mcpServers === undefined, 'mcpServers can be undefined');
|
|
127
|
+
log(` Current MCP servers: ${Object.keys(config.mcpServers || {}).length}`);
|
|
128
|
+
});
|
|
129
|
+
await runTest('Add MCP server configuration', () => {
|
|
130
|
+
addTostudyMcpServer(TEST_API_KEY, TEST_PLATFORM_URL);
|
|
131
|
+
const config = readClaudeConfig();
|
|
132
|
+
assert(config.mcpServers !== undefined, 'mcpServers should exist after adding');
|
|
133
|
+
const mcpServers = config.mcpServers;
|
|
134
|
+
assert(mcpServers['tostudy'] !== undefined, 'tostudy server should be configured');
|
|
135
|
+
const mcpConfig = mcpServers['tostudy'];
|
|
136
|
+
assert(mcpConfig.type === 'sse', 'Server type should be sse');
|
|
137
|
+
assert(mcpConfig.url?.includes('/mcp/sse') === true, 'URL should include /mcp/sse');
|
|
138
|
+
assert(mcpConfig.headers?.['Authorization']?.startsWith('Bearer ') === true, 'Authorization header should have Bearer prefix');
|
|
139
|
+
log(` Server URL: ${mcpConfig.url}`);
|
|
140
|
+
});
|
|
141
|
+
await runTest('Check MCP configuration status', () => {
|
|
142
|
+
const isConfigured = isTostudyMcpConfigured();
|
|
143
|
+
assert(isConfigured === true, 'MCP should be configured after addTostudyMcpServer');
|
|
144
|
+
});
|
|
145
|
+
await runTest('Get MCP config details', () => {
|
|
146
|
+
const mcpConfig = getTostudyMcpConfig();
|
|
147
|
+
assert(mcpConfig !== null, 'MCP config should not be null');
|
|
148
|
+
assert(mcpConfig?.type === 'sse', 'Type should be sse');
|
|
149
|
+
assert(mcpConfig?.url !== undefined, 'URL should be defined');
|
|
150
|
+
});
|
|
151
|
+
await runTest('Remove MCP server configuration', () => {
|
|
152
|
+
removeTostudyMcpServer();
|
|
153
|
+
const isConfigured = isTostudyMcpConfigured();
|
|
154
|
+
assert(isConfigured === false, 'MCP should not be configured after removal');
|
|
155
|
+
});
|
|
156
|
+
// Re-add for subsequent tests
|
|
157
|
+
addTostudyMcpServer(TEST_API_KEY, TEST_PLATFORM_URL);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Step 3: Diagnostic Checks
|
|
161
|
+
*/
|
|
162
|
+
async function testDiagnostics() {
|
|
163
|
+
logStep(3, 'Diagnostic Checks');
|
|
164
|
+
await runTest('Run full diagnostics', async () => {
|
|
165
|
+
const report = await runDiagnostics();
|
|
166
|
+
assert(typeof report === 'object', 'Report should be an object');
|
|
167
|
+
assert(typeof report.timestamp === 'string', 'Report should have timestamp');
|
|
168
|
+
assert(typeof report.claudeInstalled === 'boolean', 'Report should have claudeInstalled');
|
|
169
|
+
assert(typeof report.mcpConfigured === 'boolean', 'Report should have mcpConfigured');
|
|
170
|
+
assert(Array.isArray(report.issues), 'Report should have issues array');
|
|
171
|
+
assert(typeof report.passed === 'boolean', 'Report should have passed status');
|
|
172
|
+
log(` Claude installed: ${report.claudeInstalled}`);
|
|
173
|
+
log(` MCP configured: ${report.mcpConfigured}`);
|
|
174
|
+
log(` Issues found: ${report.issues.length}`);
|
|
175
|
+
log(` Overall passed: ${report.passed}`);
|
|
176
|
+
if (report.issues.length > 0) {
|
|
177
|
+
log(` Issues:`);
|
|
178
|
+
for (const issue of report.issues) {
|
|
179
|
+
const icon = issue.severity === 'critical' ? '🔴' : issue.severity === 'warning' ? '🟡' : '🔵';
|
|
180
|
+
log(` ${icon} ${issue.title}`);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
await runTest('Verify issue severity types', async () => {
|
|
185
|
+
const report = await runDiagnostics();
|
|
186
|
+
for (const issue of report.issues) {
|
|
187
|
+
assert(['critical', 'warning', 'info'].includes(issue.severity), `Issue severity should be valid: ${issue.severity}`);
|
|
188
|
+
assert(typeof issue.id === 'string', 'Issue should have id');
|
|
189
|
+
assert(typeof issue.title === 'string', 'Issue should have title');
|
|
190
|
+
assert(typeof issue.description === 'string', 'Issue should have description');
|
|
191
|
+
assert(typeof issue.suggestion === 'string', 'Issue should have suggestion');
|
|
192
|
+
assert(typeof issue.autoFixable === 'boolean', 'Issue should have autoFixable flag');
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Step 4: Auto-Repair Functions
|
|
198
|
+
*/
|
|
199
|
+
async function testRepairFunctions() {
|
|
200
|
+
logStep(4, 'Auto-Repair Functions');
|
|
201
|
+
await runTest('Repair all issues (with API key)', async () => {
|
|
202
|
+
const diagnostic = await runDiagnostics();
|
|
203
|
+
const repairReport = repairAllIssues(diagnostic, TEST_API_KEY, TEST_PLATFORM_URL);
|
|
204
|
+
assert(typeof repairReport === 'object', 'Repair report should be an object');
|
|
205
|
+
assert(typeof repairReport.timestamp === 'string', 'Should have timestamp');
|
|
206
|
+
assert(typeof repairReport.repairsAttempted === 'number', 'Should have repairsAttempted');
|
|
207
|
+
assert(typeof repairReport.repairsSucceeded === 'number', 'Should have repairsSucceeded');
|
|
208
|
+
assert(typeof repairReport.repairsFailed === 'number', 'Should have repairsFailed');
|
|
209
|
+
assert(Array.isArray(repairReport.results), 'Should have results array');
|
|
210
|
+
assert(Array.isArray(repairReport.requiresUserInput), 'Should have requiresUserInput array');
|
|
211
|
+
log(` Repairs attempted: ${repairReport.repairsAttempted}`);
|
|
212
|
+
log(` Repairs succeeded: ${repairReport.repairsSucceeded}`);
|
|
213
|
+
log(` Repairs failed: ${repairReport.repairsFailed}`);
|
|
214
|
+
if (repairReport.results.length > 0) {
|
|
215
|
+
log(` Results:`);
|
|
216
|
+
for (const result of repairReport.results) {
|
|
217
|
+
const icon = result.success ? '✓' : '✗';
|
|
218
|
+
log(` ${icon} ${result.issueId}: ${result.message}`);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Step 5: MCP Server Connectivity (requires running server)
|
|
225
|
+
*/
|
|
226
|
+
async function testServerConnectivity() {
|
|
227
|
+
logStep(5, 'MCP Server Connectivity');
|
|
228
|
+
const mcpConfig = getTostudyMcpConfig();
|
|
229
|
+
if (!mcpConfig?.url) {
|
|
230
|
+
log(' Skipping connectivity tests - MCP not configured');
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
const baseUrl = mcpConfig.url.replace('/mcp/sse', '');
|
|
234
|
+
await runTest('Health check endpoint', async () => {
|
|
235
|
+
try {
|
|
236
|
+
const controller = new AbortController();
|
|
237
|
+
const timeout = setTimeout(() => controller.abort(), 5000);
|
|
238
|
+
const response = await fetch(`${baseUrl}/health`, {
|
|
239
|
+
signal: controller.signal,
|
|
240
|
+
});
|
|
241
|
+
clearTimeout(timeout);
|
|
242
|
+
if (!response.ok) {
|
|
243
|
+
throw new Error(`Health check returned ${response.status}`);
|
|
244
|
+
}
|
|
245
|
+
const health = (await response.json());
|
|
246
|
+
log(` Status: ${health.status}`);
|
|
247
|
+
log(` Uptime: ${health.uptime}s`);
|
|
248
|
+
assert(['healthy', 'degraded', 'unhealthy'].includes(health.status), 'Health status should be valid');
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
if (error.name === 'AbortError') {
|
|
252
|
+
log(' Server not responding (timeout) - this is expected if server is not running');
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
log(` Server not reachable: ${error.message}`);
|
|
256
|
+
}
|
|
257
|
+
// Don't fail - server might not be running during test
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
await runTest('Detailed health check', async () => {
|
|
261
|
+
try {
|
|
262
|
+
const controller = new AbortController();
|
|
263
|
+
const timeout = setTimeout(() => controller.abort(), 5000);
|
|
264
|
+
const response = await fetch(`${baseUrl}/health/detailed`, {
|
|
265
|
+
signal: controller.signal,
|
|
266
|
+
});
|
|
267
|
+
clearTimeout(timeout);
|
|
268
|
+
if (!response.ok) {
|
|
269
|
+
throw new Error(`Detailed health check returned ${response.status}`);
|
|
270
|
+
}
|
|
271
|
+
const health = (await response.json());
|
|
272
|
+
log(` Status: ${health.status}`);
|
|
273
|
+
log(` Database: ${health.services?.database?.status || 'N/A'}`);
|
|
274
|
+
log(` Redis: ${health.services?.redis?.status || 'N/A'}`);
|
|
275
|
+
log(` Active connections: ${health.connections?.active || 0}`);
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
if (error.name === 'AbortError') {
|
|
279
|
+
log(' Server not responding (timeout)');
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
log(` Server not reachable: ${error.message}`);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Step 6: Integration Test - Complete Wizard Flow Simulation
|
|
289
|
+
*/
|
|
290
|
+
async function testWizardFlowSimulation() {
|
|
291
|
+
logStep(6, 'Wizard Flow Simulation');
|
|
292
|
+
await runTest('Simulate complete wizard flow', async () => {
|
|
293
|
+
// Step 1: Environment detection
|
|
294
|
+
const installed = isClaudeInstalled();
|
|
295
|
+
const installedIDEs = getInstalledIDEs();
|
|
296
|
+
log(` 1. Environment detected: Claude=${installed}, IDEs=${installedIDEs.length}`);
|
|
297
|
+
// Step 2: Check existing configuration
|
|
298
|
+
const wasConfigured = isTostudyMcpConfigured();
|
|
299
|
+
log(` 2. Previous configuration: ${wasConfigured ? 'exists' : 'none'}`);
|
|
300
|
+
// Step 3: Configure MCP server (simulate API key validation by adding)
|
|
301
|
+
addTostudyMcpServer(TEST_API_KEY, TEST_PLATFORM_URL);
|
|
302
|
+
log(` 3. MCP server configured`);
|
|
303
|
+
// Step 4: Run diagnostics
|
|
304
|
+
const diagnostic = await runDiagnostics();
|
|
305
|
+
log(` 4. Diagnostics: ${diagnostic.issues.length} issues found`);
|
|
306
|
+
// Step 5: Auto-repair if needed
|
|
307
|
+
if (diagnostic.issues.length > 0) {
|
|
308
|
+
const repair = repairAllIssues(diagnostic, TEST_API_KEY, TEST_PLATFORM_URL);
|
|
309
|
+
log(` 5. Auto-repair: ${repair.repairsSucceeded}/${repair.repairsAttempted} fixed`);
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
log(` 5. Auto-repair: not needed`);
|
|
313
|
+
}
|
|
314
|
+
// Step 6: Verify final state
|
|
315
|
+
const finalConfig = getTostudyMcpConfig();
|
|
316
|
+
assert(finalConfig !== null, 'Config should exist after wizard');
|
|
317
|
+
assert(finalConfig?.type === 'sse', 'Should use SSE transport');
|
|
318
|
+
assert(finalConfig?.url?.includes('/mcp/sse') === true, 'URL should be correct');
|
|
319
|
+
log(` 6. Final verification: OK`);
|
|
320
|
+
});
|
|
321
|
+
await runTest('Verify config file structure', () => {
|
|
322
|
+
const config = readClaudeConfig();
|
|
323
|
+
assert(config.mcpServers !== undefined, 'mcpServers should exist');
|
|
324
|
+
const mcpServers = config.mcpServers;
|
|
325
|
+
assert(mcpServers['tostudy'] !== undefined, 'tostudy should be configured');
|
|
326
|
+
const server = mcpServers['tostudy'];
|
|
327
|
+
assert(server.type === 'sse', 'Type should be sse');
|
|
328
|
+
assert(server.url !== undefined, 'URL should be defined');
|
|
329
|
+
assert(server.headers !== undefined, 'Headers should be defined');
|
|
330
|
+
const headers = server.headers;
|
|
331
|
+
assert(headers['Authorization'] !== undefined, 'Authorization header should be defined');
|
|
332
|
+
log(` Config structure: valid`);
|
|
333
|
+
log(` Server type: ${server.type}`);
|
|
334
|
+
log(` URL: ${server.url}`);
|
|
335
|
+
log(` Has auth header: true`);
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Print final summary
|
|
340
|
+
*/
|
|
341
|
+
function printSummary() {
|
|
342
|
+
log('\n' + '═'.repeat(60));
|
|
343
|
+
log('TEST SUMMARY');
|
|
344
|
+
log('═'.repeat(60));
|
|
345
|
+
const passed = results.filter((r) => r.passed).length;
|
|
346
|
+
const failed = results.filter((r) => !r.passed).length;
|
|
347
|
+
const total = results.length;
|
|
348
|
+
log(`\nTotal: ${total} | Passed: ${passed} | Failed: ${failed}\n`);
|
|
349
|
+
if (failed > 0) {
|
|
350
|
+
log('FAILED TESTS:');
|
|
351
|
+
for (const result of results.filter((r) => !r.passed)) {
|
|
352
|
+
log(` ✗ ${result.name}`);
|
|
353
|
+
log(` ${result.message}`);
|
|
354
|
+
}
|
|
355
|
+
log('');
|
|
356
|
+
}
|
|
357
|
+
const totalTime = results.reduce((sum, r) => sum + r.duration, 0);
|
|
358
|
+
log(`Total time: ${totalTime}ms`);
|
|
359
|
+
log('');
|
|
360
|
+
if (failed === 0) {
|
|
361
|
+
log('\x1b[32m✓ All E2E tests passed!\x1b[0m');
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
log(`\x1b[31m✗ ${failed} test(s) failed\x1b[0m`);
|
|
365
|
+
process.exitCode = 1;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Main test runner
|
|
370
|
+
*/
|
|
371
|
+
async function main() {
|
|
372
|
+
log('═'.repeat(60));
|
|
373
|
+
log('E2E TEST: CLI Setup Wizard Flow');
|
|
374
|
+
log('═'.repeat(60));
|
|
375
|
+
log(`Platform: ${platform()}`);
|
|
376
|
+
log(`Node: ${process.version}`);
|
|
377
|
+
log(`Time: ${new Date().toISOString()}`);
|
|
378
|
+
try {
|
|
379
|
+
// Backup current config
|
|
380
|
+
log('\n--- Setup ---');
|
|
381
|
+
backupConfig();
|
|
382
|
+
// Run all test steps
|
|
383
|
+
await testEnvironmentDetection();
|
|
384
|
+
await testConfigOperations();
|
|
385
|
+
await testDiagnostics();
|
|
386
|
+
await testRepairFunctions();
|
|
387
|
+
await testServerConnectivity();
|
|
388
|
+
await testWizardFlowSimulation();
|
|
389
|
+
// Cleanup
|
|
390
|
+
log('\n--- Cleanup ---');
|
|
391
|
+
restoreConfig();
|
|
392
|
+
// Print summary
|
|
393
|
+
printSummary();
|
|
394
|
+
}
|
|
395
|
+
catch (error) {
|
|
396
|
+
log(`\n\x1b[31mFATAL ERROR: ${error instanceof Error ? error.message : String(error)}\x1b[0m`);
|
|
397
|
+
restoreConfig();
|
|
398
|
+
process.exitCode = 1;
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
// Run if executed directly
|
|
402
|
+
if (import.meta.url.endsWith(process.argv[1]?.replace(/^file:\/\//, '') || '')) {
|
|
403
|
+
main();
|
|
404
|
+
}
|
|
405
|
+
// Export for use as a module
|
|
406
|
+
export { testEnvironmentDetection, testConfigOperations, testDiagnostics, testRepairFunctions, testServerConnectivity, testWizardFlowSimulation, main as runE2ETests, };
|
|
407
|
+
//# sourceMappingURL=e2e-wizard-flow.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e2e-wizard-flow.test.js","sourceRoot":"","sources":["../../src/__tests__/e2e-wizard-flow.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests: IDE Handler Registry & Config Writers
|
|
3
|
+
*
|
|
4
|
+
* Tests the handler factory, base utilities, and config write/merge
|
|
5
|
+
* for Cursor, VS Code, OpenCode, and Manual handlers.
|
|
6
|
+
*
|
|
7
|
+
* Run with: npx tsx src/__tests__/ide-handlers.test.ts
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=ide-handlers.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ide-handlers.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ide-handlers.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|