mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-12 23:29:50 +00:00
feat(media-use): v2 media OS core (resolve cascade, providers, local generation, telemetry) + retire hyperframes-media
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
import { strict as assert } from "node:assert";
|
||||
import { test } from "node:test";
|
||||
import { optedOut, track } from "./telemetry.mjs";
|
||||
|
||||
test("optedOut respects DO_NOT_TRACK / HYPERFRAMES_NO_TELEMETRY / CI", () => {
|
||||
const saved = { ...process.env };
|
||||
try {
|
||||
for (const k of ["DO_NOT_TRACK", "HYPERFRAMES_NO_TELEMETRY", "CI", "NODE_ENV"])
|
||||
delete process.env[k];
|
||||
assert.equal(optedOut(), false, "default: tracking allowed");
|
||||
process.env.DO_NOT_TRACK = "1";
|
||||
assert.equal(optedOut(), true, "DO_NOT_TRACK opts out");
|
||||
delete process.env.DO_NOT_TRACK;
|
||||
process.env.HYPERFRAMES_NO_TELEMETRY = "1";
|
||||
assert.equal(optedOut(), true, "HYPERFRAMES_NO_TELEMETRY opts out");
|
||||
delete process.env.HYPERFRAMES_NO_TELEMETRY;
|
||||
process.env.CI = "true";
|
||||
assert.equal(optedOut(), true, "CI opts out");
|
||||
} finally {
|
||||
for (const k of Object.keys(process.env)) if (!(k in saved)) delete process.env[k];
|
||||
Object.assign(process.env, saved);
|
||||
}
|
||||
});
|
||||
|
||||
test("track is a no-op (no network, resolves) when opted out", async () => {
|
||||
const saved = process.env.DO_NOT_TRACK;
|
||||
process.env.DO_NOT_TRACK = "1";
|
||||
try {
|
||||
// must resolve immediately without throwing or hitting the network
|
||||
await track("media_use_resolve", { type: "bgm", source: "search" });
|
||||
} finally {
|
||||
if (saved === undefined) delete process.env.DO_NOT_TRACK;
|
||||
else process.env.DO_NOT_TRACK = saved;
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user