mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 23:03:09 +00:00
53 lines
1.5 KiB
TypeScript
53 lines
1.5 KiB
TypeScript
import { describe, expect, it, vi, beforeEach } from "vitest";
|
|
|
|
const trackEvent = vi.fn();
|
|
vi.mock("./client.js", () => ({
|
|
trackEvent: (...args: unknown[]) => trackEvent(...args),
|
|
}));
|
|
|
|
const { trackRenderError, trackRenderObservation } = await import("./events.js");
|
|
|
|
describe("render telemetry events", () => {
|
|
beforeEach(() => {
|
|
trackEvent.mockClear();
|
|
});
|
|
|
|
it("redacts paths and URL query strings from render error messages", () => {
|
|
trackRenderError({
|
|
fps: 30,
|
|
quality: "standard",
|
|
docker: false,
|
|
errorMessage:
|
|
"ENOENT: open '/home/ubuntu/project/media/video.mp4' https://example.com/video.mp4?token=secret",
|
|
observabilityCompositionHash: "abc123",
|
|
});
|
|
|
|
expect(trackEvent).toHaveBeenCalledWith(
|
|
"render_error",
|
|
expect.objectContaining({
|
|
error_message: "ENOENT: open '[path]' https://example.com/video.mp4?…",
|
|
observability_composition_hash: "abc123",
|
|
}),
|
|
);
|
|
});
|
|
|
|
it("redacts render_observation messages and includes renderJobId for correlation", () => {
|
|
trackRenderObservation({
|
|
renderJobId: "render-123",
|
|
phase: "capture_hdr_layered",
|
|
status: "error",
|
|
compositionHash: "abc123",
|
|
message: "Navigation failed for C:\\Users\\Alice\\project\\video.mov?not-a-query",
|
|
});
|
|
|
|
expect(trackEvent).toHaveBeenCalledWith(
|
|
"render_observation",
|
|
expect.objectContaining({
|
|
render_job_id: "render-123",
|
|
composition_hash: "abc123",
|
|
message: "Navigation failed for [path]",
|
|
}),
|
|
);
|
|
});
|
|
});
|