mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-27 12:56:01 -06:00
test(release): align beta e2e contracts
This commit is contained in:
@@ -68,6 +68,21 @@ if [[ "\${1:-}" == "build" ]]; then
|
||||
echo "build DOCKER_BUILDKIT=\${DOCKER_BUILDKIT:-} $*" >>"$log"
|
||||
exit 0
|
||||
fi
|
||||
if [[ "\${1:-}" == "run" ]]; then
|
||||
echo "run $*" >>"$log"
|
||||
args=("$@")
|
||||
for ((i = 0; i + 3 < \${#args[@]}; i++)); do
|
||||
if [[ "\${args[$i]}" == "--entrypoint" && "\${args[$((i + 1))]}" == "node" ]]; then
|
||||
for ((j = i + 2; j + 1 < \${#args[@]}; j++)); do
|
||||
if [[ "\${args[$j]}" == "-e" ]]; then
|
||||
node -e "\${args[$((j + 1))]}" "\${args[@]:$((j + 2))}"
|
||||
exit $?
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
exit 0
|
||||
fi
|
||||
if [[ "\${1:-}" == "compose" ]]; then
|
||||
if [[ -n "$fail_match" && "$*" == *"$fail_match"* ]]; then
|
||||
echo "compose-fail $*" >>"$log"
|
||||
|
||||
@@ -807,7 +807,7 @@ describe("scripts/docker/setup.sh", () => {
|
||||
expect(result.stderr).toContain("OPENCLAW_HOME_VOLUME must match");
|
||||
});
|
||||
|
||||
it("rejects OPENCLAW_TZ values that are not present in zoneinfo", () => {
|
||||
it("rejects OPENCLAW_TZ values that are unsupported by the runtime image", () => {
|
||||
const activeSandbox = requireSandbox(sandbox);
|
||||
|
||||
const result = runDockerSetup(activeSandbox, {
|
||||
@@ -815,7 +815,7 @@ describe("scripts/docker/setup.sh", () => {
|
||||
});
|
||||
|
||||
expect(result.status).not.toBe(0);
|
||||
expect(result.stderr).toContain("OPENCLAW_TZ must match a timezone in /usr/share/zoneinfo");
|
||||
expect(result.stderr).toContain("OPENCLAW_TZ must be supported by openclaw:local");
|
||||
});
|
||||
|
||||
it("skips onboarding when OPENCLAW_SKIP_ONBOARDING is set", async () => {
|
||||
|
||||
+12
-23
@@ -8,7 +8,6 @@ import {
|
||||
clearConfigCache,
|
||||
clearRuntimeConfigSnapshot,
|
||||
getRuntimeConfig,
|
||||
getRuntimeConfigSnapshotMetadata,
|
||||
writeConfigFile,
|
||||
} from "../config/config.js";
|
||||
import { resetConfigOverrides, setConfigOverride } from "../config/runtime-overrides.js";
|
||||
@@ -345,10 +344,11 @@ describe("gateway e2e", () => {
|
||||
callerAuthOverride.rateLimit!.maxAttempts = 99;
|
||||
callerTailscaleOverride.serviceName = "svc:mutated";
|
||||
}
|
||||
await writeConfigFile({
|
||||
const nextLoggingSource = {
|
||||
...initialConfig,
|
||||
logging: { level: "debug" },
|
||||
});
|
||||
} satisfies OpenClawConfig;
|
||||
await writeConfigFile(nextLoggingSource);
|
||||
await expect
|
||||
.poll(() => getRuntimeConfig().logging?.level, { timeout: 5_000, interval: 50 })
|
||||
.toBe("debug");
|
||||
@@ -362,8 +362,7 @@ describe("gateway e2e", () => {
|
||||
expect(getRuntimeConfig().channels?.whatsapp?.allowFrom).toEqual(["*"]);
|
||||
|
||||
const sourceBeforePolicyEdit = (await configIO.readConfigFileSnapshot()).sourceConfig;
|
||||
const revisionBeforePolicyEdit = getRuntimeConfigSnapshotMetadata()?.revision ?? -1;
|
||||
await writeConfigFile({
|
||||
const nextPolicySource = {
|
||||
...sourceBeforePolicyEdit,
|
||||
channels: {
|
||||
...sourceBeforePolicyEdit.channels,
|
||||
@@ -372,13 +371,8 @@ describe("gateway e2e", () => {
|
||||
dmPolicy: "disabled",
|
||||
},
|
||||
},
|
||||
});
|
||||
await expect
|
||||
.poll(() => getRuntimeConfigSnapshotMetadata()?.revision ?? -1, {
|
||||
timeout: 5_000,
|
||||
interval: 50,
|
||||
})
|
||||
.toBeGreaterThan(revisionBeforePolicyEdit);
|
||||
} satisfies OpenClawConfig;
|
||||
await writeConfigFile(nextPolicySource);
|
||||
const persistedPolicyEdit = JSON.parse(
|
||||
await fs.readFile(configPath, "utf-8"),
|
||||
) as OpenClawConfig;
|
||||
@@ -386,21 +380,16 @@ describe("gateway e2e", () => {
|
||||
expect(getRuntimeConfig().channels?.whatsapp?.dmPolicy).toBe("open");
|
||||
|
||||
const sourceBeforeUnrelatedWrite = (await configIO.readConfigFileSnapshot()).sourceConfig;
|
||||
const revisionBeforeUnrelatedWrite = getRuntimeConfigSnapshotMetadata()?.revision ?? -1;
|
||||
await writeConfigFile({
|
||||
const nextUnrelatedSource = {
|
||||
...sourceBeforeUnrelatedWrite,
|
||||
ui: { assistant: { name: "unrelated-managed-write" } },
|
||||
});
|
||||
await expect
|
||||
.poll(() => getRuntimeConfigSnapshotMetadata()?.revision ?? -1, {
|
||||
timeout: 5_000,
|
||||
interval: 50,
|
||||
})
|
||||
.toBeGreaterThan(revisionBeforeUnrelatedWrite);
|
||||
} satisfies OpenClawConfig;
|
||||
await writeConfigFile(nextUnrelatedSource);
|
||||
const persistedAfterUnrelatedWrite = JSON.parse(
|
||||
await fs.readFile(configPath, "utf-8"),
|
||||
) as OpenClawConfig;
|
||||
expect(persistedAfterUnrelatedWrite.channels?.whatsapp?.dmPolicy).toBe("disabled");
|
||||
expect(persistedAfterUnrelatedWrite.ui?.assistant?.name).toBe("unrelated-managed-write");
|
||||
}
|
||||
|
||||
const reconnected = await connectGatewayClient({
|
||||
@@ -588,7 +577,7 @@ describe("gateway e2e", () => {
|
||||
},
|
||||
// The request below runs sessionKey "agent:dev:mock-openai"; the
|
||||
// gateway rejects session keys whose agent id is not declared.
|
||||
list: [{ id: "dev", default: true }],
|
||||
entries: { dev: { default: true } },
|
||||
},
|
||||
models: {
|
||||
mode: "replace",
|
||||
@@ -674,7 +663,7 @@ module.exports = {
|
||||
const cfg = {
|
||||
agents: {
|
||||
defaults: { workspace: workspaceDir },
|
||||
list: [{ id: "main", default: true, tools: { allow: ["agents_list"] } }],
|
||||
entries: { main: { default: true, tools: { allow: ["agents_list"] } } },
|
||||
},
|
||||
plugins: {
|
||||
allow: ["http-probe"],
|
||||
|
||||
Reference in New Issue
Block a user