Skip to content

Extended integration test playground with real CodeQL databases #167

@data-douser

Description

@data-douser

Scope

Add a config-driven extended integration test playground that downloads real CodeQL databases from GitHub and exercises the full MCP server against real-world codebases.

Files

  • extensions/vscode/test/extended/repos.json — config with repos + CallGraphFromTo source/target function pairs
  • extensions/vscode/test/extended/download-databases.ts — database discovery/download utility
  • extensions/vscode/test/extended/run-extended-tests.ts — test orchestrator with 7 scenarios
  • extensions/vscode/esbuild.config.js — extended test build target
  • extensions/vscode/eslint.config.mjsfetch global for test files
  • extensions/vscode/package.jsontest:integration:extended script
  • package.jsontest:extended convenience script

7 Test Scenarios

  1. Database discovery & registration
  2. CallGraphFromTo execution with external predicates + auto-caching
  3. Cache retrieval with subset selection (lineRange, grep)
  4. Cross-database query comparison
  5. Multi-repo audit workflow (store, list, triage, search, clear)
  6. Prompts & resources validation
  7. Cache cleanup

Features

  • Auto-downloads databases via GitHub REST API (auth: VS Code session → GH_TOKEN → gh auth token)
  • 24h disk cache for downloaded databases
  • Server stderr captured to .tmp/extended-test-logs/ with timestamped reports
  • DEBUG=true for verbose server diagnostic logging

Independence

✅ Fully independent from core server changes — only reads repos.json and spawns the server via stdio. Can be merged independently if server tools already exist.

Run

npm run test:extended

Parent: #163

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions