mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-23 15:11:42 +00:00
refactor: share system presence version checks
This commit is contained in:
@@ -13,46 +13,47 @@ async function withPresenceModule<T>(
|
||||
}
|
||||
|
||||
describe("system-presence version fallback", () => {
|
||||
async function expectSelfVersion(
|
||||
env: Record<string, string | undefined>,
|
||||
expectedVersion: string | (() => Promise<string>),
|
||||
) {
|
||||
await withPresenceModule(env, async ({ listSystemPresence }) => {
|
||||
const selfEntry = listSystemPresence().find((entry) => entry.reason === "self");
|
||||
const resolvedExpected =
|
||||
typeof expectedVersion === "function" ? await expectedVersion() : expectedVersion;
|
||||
expect(selfEntry?.version).toBe(resolvedExpected);
|
||||
});
|
||||
}
|
||||
|
||||
it("uses runtime VERSION when OPENCLAW_VERSION is not set", async () => {
|
||||
await withPresenceModule(
|
||||
await expectSelfVersion(
|
||||
{
|
||||
OPENCLAW_SERVICE_VERSION: "2.4.6-service",
|
||||
npm_package_version: "1.0.0-package",
|
||||
},
|
||||
async ({ listSystemPresence }) => {
|
||||
const { VERSION } = await import("../version.js");
|
||||
const selfEntry = listSystemPresence().find((entry) => entry.reason === "self");
|
||||
expect(selfEntry?.version).toBe(VERSION);
|
||||
},
|
||||
async () => (await import("../version.js")).VERSION,
|
||||
);
|
||||
});
|
||||
|
||||
it("prefers OPENCLAW_VERSION over runtime VERSION", async () => {
|
||||
await withPresenceModule(
|
||||
await expectSelfVersion(
|
||||
{
|
||||
OPENCLAW_VERSION: "9.9.9-cli",
|
||||
OPENCLAW_SERVICE_VERSION: "2.4.6-service",
|
||||
npm_package_version: "1.0.0-package",
|
||||
},
|
||||
({ listSystemPresence }) => {
|
||||
const selfEntry = listSystemPresence().find((entry) => entry.reason === "self");
|
||||
expect(selfEntry?.version).toBe("9.9.9-cli");
|
||||
},
|
||||
"9.9.9-cli",
|
||||
);
|
||||
});
|
||||
|
||||
it("uses runtime VERSION when OPENCLAW_VERSION and OPENCLAW_SERVICE_VERSION are blank", async () => {
|
||||
await withPresenceModule(
|
||||
await expectSelfVersion(
|
||||
{
|
||||
OPENCLAW_VERSION: " ",
|
||||
OPENCLAW_SERVICE_VERSION: "\t",
|
||||
npm_package_version: "1.0.0-package",
|
||||
},
|
||||
async ({ listSystemPresence }) => {
|
||||
const { VERSION } = await import("../version.js");
|
||||
const selfEntry = listSystemPresence().find((entry) => entry.reason === "self");
|
||||
expect(selfEntry?.version).toBe(VERSION);
|
||||
},
|
||||
async () => (await import("../version.js")).VERSION,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user