← Files Aivana Database EngineerARCHIVED FILE

tests/sql-performance-advisor.test.js

4.27 KB · Oct 3, 2026 · 06:35 UTC

↓ Download file

const test = require("node:test");
const assert = require("node:assert/strict");
const { dispatch } = require("../runtime/orchestrator");

test("sql_problem_detector finds common SQL performance smells", async () => {
  const result = await dispatch("sql_problem_detector", {
    sql: "SELECT * FROM events WHERE user_email = 'a@example.com'",
    engine: "postgres",
  });

  assert.equal(result.usp, "sql_problem_detector");
  assert.ok(result.findings.some((finding) => finding.id === "select_star"));
  assert.ok(result.findings.some((finding) => finding.id === "unbounded_result"));
  assert.ok(result.evidence.sqlFingerprint);
});

test("plan_diff_intelligence explains plan changes and likely causes", async () => {
  const result = await dispatch("plan_diff_intelligence", {
    beforePlan: { join: "Nested Loop", scan: "Index Scan", cost: 100, rows: 1000 },
    afterPlan: { join: "Hash Join", scan: "Seq Scan", cost: 420, rows: 90000 },
  });

  assert.equal(result.usp, "plan_diff_intelligence");
  assert.ok(result.planChanges.some((change) => change.type === "scan_changed"));
  assert.ok(result.likelyCauses.length >= 1);
  assert.ok(result.confidence > 0);
});

test("recommendation_ranker orders actions by impact, risk, and effort", async () => {
  const result = await dispatch("recommendation_ranker", {
    recommendations: [
      { id: "add_index", impact: "high", risk: "medium", effort: "medium" },
      { id: "narrow_projection", impact: "medium", risk: "low", effort: "low" },
    ],
  });

  assert.equal(result.usp, "recommendation_ranker");
  assert.equal(result.rankedRecommendations[0].id, "narrow_projection");
  assert.ok(result.rankedRecommendations[0].score > 0);
});

test("advisor_feedback_loop records outcomes and updates recommendation confidence", async () => {
  const result = await dispatch("advisor_feedback_loop", {
    recommendationId: "narrow_projection",
    applied: true,
    beforeP95Ms: 300,
    afterP95Ms: 180,
  });

  assert.equal(result.usp, "advisor_feedback_loop");
  assert.equal(result.outcome.improved, true);
  assert.ok(result.learning.confidenceDelta > 0);
});

test("benchmark_ab_runner creates before after benchmark comparison", async () => {
  const result = await dispatch("benchmark_ab_runner", {
    baseline: { p95Ms: 300, cpuMs: 80, rows: 10000 },
    candidate: { p95Ms: 190, cpuMs: 55, rows: 10000 },
  });

  assert.equal(result.usp, "benchmark_ab_runner");
  assert.ok(result.delta.p95Ms < 0);
  assert.equal(result.winner, "candidate");
});

test("workload_impact_analyzer summarizes top workload impact", async () => {
  const result = await dispatch("workload_impact_analyzer", {
    queries: [
      { queryId: "q1", p95Ms: 900, calls: 20, cpuMs: 70 },
      { queryId: "q2", p95Ms: 120, calls: 2000, cpuMs: 15 },
    ],
  });

  assert.equal(result.usp, "workload_impact_analyzer");
  assert.equal(result.topImpactQueries[0].queryId, "q2");
  assert.ok(result.hotspots.length >= 1);
});

test("consultant_brain produces advisory answer with confidence and next test", async () => {
  const result = await dispatch("consultant_brain", {
    question: "Why is this query slow and what should I do first?",
    sql: "SELECT * FROM events WHERE user_email = 'a@example.com'",
    engine: "postgres",
    database: "analytics",
    schema: "public",
    table: "events",
  });

  assert.equal(result.usp, "consultant_brain");
  assert.ok(result.answer.summary);
  assert.ok(result.answer.recommendation);
  assert.ok(result.answer.nextTest);
  assert.ok(["low", "medium", "high"].includes(result.answer.confidence));
});

test("sql_performance_advisor orchestrates detector, ranking, workload, and consultant answer", async () => {
  const result = await dispatch("sql_performance_advisor", {
    question: "Optimize this events lookup",
    sql: "SELECT * FROM events WHERE user_email = 'a@example.com'",
    engine: "postgres",
    database: "analytics",
    schema: "public",
    table: "events",
    baseline: { p95Ms: 300, cpuMs: 80, rows: 10000 },
    candidate: { p95Ms: 210, cpuMs: 60, rows: 10000 },
  });

  assert.equal(result.usp, "sql_performance_advisor");
  assert.ok(result.diagnosis.findings.length >= 1);
  assert.ok(result.rankedRecommendations.length >= 1);
  assert.ok(result.consultantAnswer.summary);
  assert.ok(result.evidenceChain.includes("sql_problem_detector"));
});

SHA-256: 90c52d83110cfa7dc74ea04487bd31f2cb6344fbe4714c47e1e8b095805710f0