Skip to content

Commit f7b63ba

Browse files
Copilotdata-douser
andauthored
[UPDATE PRIMITIVE] Fix failing CI: update tool registration counts for codeql_lsp_document_symbols and codeqlGenerateLogSummaryTool (#125)
* Initial plan * fix: update test assertions for new codeql_lsp_document_symbols and codeqlGenerateLogSummaryTool tools Co-authored-by: data-douser <70299490+data-douser@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: data-douser <70299490+data-douser@users.noreply.github.com>
1 parent 240244a commit f7b63ba

File tree

2 files changed

+30
-5
lines changed

2 files changed

+30
-5
lines changed

server/test/src/tools/codeql-tools.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ describe('registerCodeQLTools', () => {
4646
// rank_sarif_results has been removed in favor of SARIF prompts
4747
expect(toolNames).not.toContain('rank_sarif_results');
4848

49-
// Total tools registered: 2 high-level helpers + 12 specialized tools + 23 CLI tools = 37
49+
// Total tools registered: 2 high-level helpers + 12 specialized tools + 24 CLI tools = 38
5050
// (codeql_lsp_diagnostics moved to registerLSPTools in tools/lsp/)
51-
expect(mockServer.tool).toHaveBeenCalledTimes(37);
51+
expect(mockServer.tool).toHaveBeenCalledTimes(38);
5252
});
5353

5454
it('should register validate_codeql_query with correct parameters', () => {

server/test/src/tools/lsp/lsp-tools.test.ts

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ vi.mock('../../../../src/tools/lsp/lsp-diagnostics', () => ({
1515

1616
// Mock lsp-handlers
1717
vi.mock('../../../../src/tools/lsp/lsp-handlers', () => ({
18+
extractNamesFromDocumentSymbols: vi.fn().mockReturnValue([]),
1819
lspCompletion: vi.fn().mockResolvedValue([]),
1920
lspDefinition: vi.fn().mockResolvedValue([]),
21+
lspDocumentSymbols: vi.fn().mockResolvedValue([]),
2022
lspReferences: vi.fn().mockResolvedValue([]),
2123
}));
2224

@@ -36,10 +38,10 @@ describe('registerLSPTools', () => {
3638
expect(registerLspDiagnosticsTool).toHaveBeenCalledWith(mockServer);
3739
});
3840

39-
it('should register 3 file-based LSP tools directly', () => {
41+
it('should register 4 file-based LSP tools directly', () => {
4042
registerLSPTools(mockServer);
41-
// 3 tools registered directly via server.tool (diagnostics is registered via delegate)
42-
expect(mockServer.tool).toHaveBeenCalledTimes(3);
43+
// 4 tools registered directly via server.tool (diagnostics is registered via delegate)
44+
expect(mockServer.tool).toHaveBeenCalledTimes(4);
4345
});
4446

4547
it('should register codeql_lsp_completion', () => {
@@ -74,6 +76,17 @@ describe('registerLSPTools', () => {
7476
expect(typeof refsCall![3]).toBe('function');
7577
});
7678

79+
it('should register codeql_lsp_document_symbols', () => {
80+
registerLSPTools(mockServer);
81+
const calls = (mockServer.tool as ReturnType<typeof vi.fn>).mock.calls;
82+
const docSymsCall = calls.find((c: unknown[]) => c[0] === 'codeql_lsp_document_symbols');
83+
expect(docSymsCall).toBeDefined();
84+
expect(docSymsCall![1]).toContain('classes, predicates, modules');
85+
expect(docSymsCall![2]).toHaveProperty('file_path');
86+
expect(docSymsCall![2]).toHaveProperty('names_only');
87+
expect(typeof docSymsCall![3]).toBe('function');
88+
});
89+
7790
it('should include optional parameters in all file-based schemas', () => {
7891
registerLSPTools(mockServer);
7992
const calls = (mockServer.tool as ReturnType<typeof vi.fn>).mock.calls;
@@ -124,6 +137,18 @@ describe('registerLSPTools', () => {
124137
expect(parsed).toHaveProperty('locations');
125138
});
126139

140+
it('codeql_lsp_document_symbols handler should return JSON with symbolCount', async () => {
141+
registerLSPTools(mockServer);
142+
const calls = (mockServer.tool as ReturnType<typeof vi.fn>).mock.calls;
143+
const handler = calls.find((c: unknown[]) => c[0] === 'codeql_lsp_document_symbols')![3];
144+
145+
const result = await handler({ file_path: '/test.ql' });
146+
147+
const parsed = JSON.parse(result.content[0].text);
148+
expect(parsed).toHaveProperty('symbolCount');
149+
expect(parsed).toHaveProperty('symbols');
150+
});
151+
127152
it('handler should return isError on failure', async () => {
128153
// Re-mock to throw
129154
const { lspCompletion } = await import('../../../../src/tools/lsp/lsp-handlers');

0 commit comments

Comments
 (0)