test: cover runtime version package fallback paths

This commit is contained in:
Gustavo Madeira Santana
2026-02-17 20:42:03 -05:00
parent bf12609adf
commit cd3a97cce1
3 changed files with 46 additions and 0 deletions

View File

@@ -318,6 +318,30 @@ describe("gateway server auth/connect", () => {
);
});
test("connect (req) handshake falls back to npm_package_version when higher-precedence env values are blank", async () => {
await withRuntimeVersionEnv(
{
OPENCLAW_VERSION: " ",
OPENCLAW_SERVICE_VERSION: "\t",
npm_package_version: "1.0.0-package",
},
async () => {
const ws = await openWs(port);
const res = await connectReq(ws);
expect(res.ok).toBe(true);
const payload = res.payload as
| {
type?: unknown;
server?: { version?: string };
}
| undefined;
expect(payload?.type).toBe("hello-ok");
expect(payload?.server?.version).toBe("1.0.0-package");
ws.close();
},
);
});
test("does not grant admin when scopes are empty", async () => {
const ws = await openWs(port);
const res = await connectReq(ws, { scopes: [] });

View File

@@ -70,4 +70,18 @@ describe("system-presence version fallback", () => {
},
);
});
it("uses npm_package_version when OPENCLAW_VERSION and OPENCLAW_SERVICE_VERSION are blank", async () => {
await withPresenceModule(
{
OPENCLAW_VERSION: " ",
OPENCLAW_SERVICE_VERSION: "\t",
npm_package_version: "1.0.0-package",
},
({ listSystemPresence }) => {
const selfEntry = listSystemPresence().find((entry) => entry.reason === "self");
expect(selfEntry?.version).toBe("1.0.0-package");
},
);
});
});

View File

@@ -104,6 +104,14 @@ describe("version resolution", () => {
}),
).toBe("2.0.0");
expect(
resolveRuntimeServiceVersion({
OPENCLAW_VERSION: " ",
OPENCLAW_SERVICE_VERSION: "\t",
npm_package_version: " 1.0.0-package ",
}),
).toBe("1.0.0-package");
expect(
resolveRuntimeServiceVersion(
{