mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 09:39:25 +00:00
* fix(release): consolidate frozen target harness contracts Keep current targets strict, source-qualify the frozen plugin fixture dialect, and omit only the mobile reconnect lane when the selected Gateway lacks its required iPhone watch-relay capability. Co-authored-by: Vincent Koc <vincentkoc@ieee.org> Co-authored-by: Dallin Romney <dallinromney@gmail.com> * fix(release): make frozen capability probes pipefail safe * fix(release): restore frozen core harness dialects * fix(release): default frozen code-mode catalog mode * fix(release): bind frozen identity for docker chunks * fix(release): derive frozen live package mode * fix(release): materialize frozen bundle MCP client * fix(release): use frozen typed onboarding contract * fix(release): make frozen client mount traversable * fix(release): preserve frozen client module scope * fix(release): select frozen runtime-context input contract * fix(release): qualify frozen MCP permission ownership * fix(release): retain failed Docker harness diagnostics * test(release): preserve harness cleanup assertion * Revert "fix(release): qualify frozen MCP permission ownership" This reverts commit 10028a08371a6c6ccb17ac76742bb0de00c7a957. --------- Co-authored-by: Dallin Romney <dallinromney@gmail.com>
22 lines
781 B
TypeScript
22 lines
781 B
TypeScript
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
import { hasExpectedPluginUninstallConfigState } from "../../scripts/e2e/lib/plugin-uninstall-assertions.mjs";
|
|
|
|
describe("plugin uninstall assertions", () => {
|
|
afterEach(() => vi.unstubAllEnvs());
|
|
|
|
it("accepts an absent legacy plugin entry but rejects every present falsy residue", () => {
|
|
vi.stubEnv("OPENCLAW_FROZEN_TARGET_PLUGIN_UNINSTALL_MODE", "legacy");
|
|
|
|
expect(hasExpectedPluginUninstallConfigState({ plugins: { entries: {} } }, "fixture")).toBe(
|
|
true,
|
|
);
|
|
for (const entry of [null, false, 0, ""]) {
|
|
expect(
|
|
hasExpectedPluginUninstallConfigState(
|
|
{ plugins: { entries: { fixture: entry } } },
|
|
"fixture",
|
|
),
|
|
).toBe(false);
|
|
}
|
|
});
|
|
});
|