






















@@ -7,6 +7,7 @@ import {
77registerSingleProviderPlugin,
88} from "openclaw/plugin-sdk/plugin-test-runtime";
99import { afterAll, afterEach, beforeEach, describe, expect, it, vi } from "vitest";
10+import { withEnvAsync } from "../../src/test-utils/env.js";
1011import { setAwsSharedIniFileLoaderForTest } from "./aws-credential-refresh.js";
1112import { resetBedrockDiscoveryCacheForTest } from "./discovery.js";
1213import amazonBedrockPlugin from "./index.js";
@@ -338,28 +339,38 @@ describe("amazon-bedrock provider plugin", () => {
338339});
339340340341it("refreshes AWS shared config cache before Bedrock sends", async () => {
341-const order: string[] = [];
342-refreshSharedConfigCache.mockImplementationOnce(async () => {
343-order.push("refresh");
344-});
345-const provider = await registerSingleProviderPlugin(amazonBedrockPlugin);
346-const wrapped = provider.wrapStreamFn?.({
347-provider: "amazon-bedrock",
348-modelId: ANTHROPIC_MODEL,
349-streamFn: spyStreamFn,
350-} as never);
351-const result = wrapped?.(ANTHROPIC_MODEL_DESCRIPTOR, { messages: [] } as never, {
352-onPayload: () => {
353-order.push("original");
342+await withEnvAsync(
343+{
344+AWS_ACCESS_KEY_ID: undefined,
345+AWS_SECRET_ACCESS_KEY: undefined,
346+AWS_BEARER_TOKEN_BEDROCK: undefined,
347+AWS_BEDROCK_SKIP_AUTH: undefined,
354348},
355-}) as Record<string, unknown> | undefined;
349+async () => {
350+const order: string[] = [];
351+refreshSharedConfigCache.mockImplementationOnce(async () => {
352+order.push("refresh");
353+});
354+const provider = await registerSingleProviderPlugin(amazonBedrockPlugin);
355+const wrapped = provider.wrapStreamFn?.({
356+provider: "amazon-bedrock",
357+modelId: ANTHROPIC_MODEL,
358+streamFn: spyStreamFn,
359+} as never);
360+const result = wrapped?.(ANTHROPIC_MODEL_DESCRIPTOR, { messages: [] } as never, {
361+onPayload: () => {
362+order.push("original");
363+},
364+}) as Record<string, unknown> | undefined;
356365357-await (
358-result?.onPayload as ((p: Record<string, unknown>, model: unknown) => unknown) | undefined
359-)?.({}, ANTHROPIC_MODEL_DESCRIPTOR);
366+ await (
367+ result?.onPayload as ((p: Record<string, unknown>, model: unknown) => unknown) | undefined
368+ )?.({}, ANTHROPIC_MODEL_DESCRIPTOR);
360369361-expect(refreshSharedConfigCache).toHaveBeenCalledWith({ ignoreCache: true });
362-expect(order).toEqual(["refresh", "original"]);
370+expect(refreshSharedConfigCache).toHaveBeenCalledWith({ ignoreCache: true });
371+expect(order).toEqual(["refresh", "original"]);
372+},
373+);
363374});
364375365376it("omits temperature for Bedrock Opus 4.7 model ids", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。