Menu
popagent
publicLatest change 5772bdd7c5f81b0a2a6c815ffc463103728af047 - Fix managed user service deployment by AkurAI Build
import { describe, expect, test } from "bun:test";
const root = new URL("..", import.meta.url).pathname;
describe("deploy.sh", () => {
test("is valid Bash and passes the built-in publication privacy scan", async () => {
const syntax = Bun.spawnSync(["bash", "-n", "deploy.sh"], { cwd: root });
expect(syntax.exitCode).toBe(0);
const privacy = Bun.spawnSync(["bash", "deploy.sh", "privacy-check"], { cwd: root });
expect(privacy.exitCode).toBe(0);
});
test("reinstalls dependencies when a dependency patch changes", async () => {
const script = await Bun.file(new URL("../deploy.sh", import.meta.url)).text();
expect(script).toContain("package.json bun.lock patches/");
expect(script).toContain("bun install --force --frozen-lockfile");
});
test("preserves the pre-update revision across deploy script re-execution", async () => {
const script = await Bun.file(new URL("../deploy.sh", import.meta.url)).text();
expect(script).toContain('POPAGENT_DEPLOY_BEFORE="$checkout_before"');
expect(script).toContain('checkout_before="${POPAGENT_DEPLOY_BEFORE:-$checkout_before}"');
});
test("connects non-root managed deployments to the user service manager", async () => {
const script = await Bun.file(new URL("../deploy.sh", import.meta.url)).text();
expect(script).toContain('XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/$(id -u)}"');
expect(script).toContain('DBUS_SESSION_BUS_ADDRESS="${DBUS_SESSION_BUS_ADDRESS:-unix:path=$XDG_RUNTIME_DIR/bus}"');
});
test("ignores managed runtime checkouts during verification", async () => {
const bunfig = await Bun.file(new URL("../bunfig.toml", import.meta.url)).text();
const tsconfig = await Bun.file(new URL("../tsconfig.json", import.meta.url)).text();
expect(bunfig).toContain('"data/self-update/**"');
expect(tsconfig).toContain('"data/self-update/**"');
});
});