feat: sample sensitive columns progressively
This commit is contained in:
@@ -77,7 +77,7 @@ async function setup(
|
||||
value: "ordinary",
|
||||
characterLength: 8,
|
||||
})));
|
||||
return { kind: "complete", observedRows: 1 };
|
||||
return { kind: "complete", observedValues: 1 };
|
||||
}),
|
||||
},
|
||||
) {
|
||||
@@ -167,7 +167,7 @@ test("assesses sensitive flags locally without persisting them or calling an LLM
|
||||
scope: "all",
|
||||
engine: "local",
|
||||
modelId: null,
|
||||
policyVersion: "sensitivity-v1",
|
||||
policyVersion: "sensitivity-v2",
|
||||
status: "completed",
|
||||
total: 1,
|
||||
suggestedSensitive: 1,
|
||||
@@ -185,6 +185,7 @@ test("assesses sensitive flags locally without persisting them or calling an LLM
|
||||
sensitive: true,
|
||||
assessment: "sensitive",
|
||||
evidence: [{ kind: "metadata", ruleId: "metadata.direct_identifier" }],
|
||||
coverage: "metadata",
|
||||
}],
|
||||
});
|
||||
expect(await repository.getColumn(database.id, column.tableId, column.id))
|
||||
@@ -239,10 +240,8 @@ test("assesses sensitive flags locally without persisting them or calling an LLM
|
||||
}
|
||||
});
|
||||
|
||||
test("stops sensitivity analysis at the HTTP deadline without creating a review", async () => {
|
||||
const controller = new AbortController();
|
||||
controller.abort();
|
||||
const timeout = vi.spyOn(AbortSignal, "timeout").mockReturnValue(controller.signal);
|
||||
test("does not impose a global HTTP deadline on sensitivity analysis", async () => {
|
||||
const timeout = vi.spyOn(AbortSignal, "timeout");
|
||||
const { app, repository, database } = await setup({ complete: vi.fn(async () => "unused") });
|
||||
|
||||
try {
|
||||
@@ -252,12 +251,9 @@ test("stops sensitivity analysis at the HTTP deadline without creating a review"
|
||||
payload: { scope: "all" },
|
||||
});
|
||||
|
||||
expect(response.statusCode).toBe(504);
|
||||
expect(response.json()).toEqual({
|
||||
code: "sensitivity_analysis_timeout",
|
||||
message: "Sensitivity analysis reached its time limit. No assessments were applied.",
|
||||
});
|
||||
expect(await repository.listSensitivityAnalysisRuns()).toEqual([]);
|
||||
expect(response.statusCode).toBe(200);
|
||||
expect(timeout).not.toHaveBeenCalled();
|
||||
expect(await repository.listSensitivityAnalysisRuns()).toHaveLength(1);
|
||||
} finally {
|
||||
timeout.mockRestore();
|
||||
await app.close();
|
||||
|
||||
Reference in New Issue
Block a user