Skip to content

Commit 04de48a

Browse files
update tests (#36596)
### Packages impacted by this PR ### Issues associated with this PR ### Describe the problem that is addressed by this PR ### What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen? ### Are there test cases added in this PR? _(If not, why?)_ ### Provide a list of related PRs _(if any)_ ### Command used to generate this PR:**_(Applicable only to SDK release request PRs)_ ### Checklists - [ ] Added impacted package name to the issue description - [ ] Does this PR needs any fixes in the SDK Generator?** _(If so, create an Issue in the [Autorest/typescript](https://github.com/Azure/autorest.typescript) repository and link it here)_ - [ ] Added a changelog (if necessary) Co-authored-by: bobogogo1990 <[email protected]>
1 parent 40bcac1 commit 04de48a

File tree

6 files changed

+31
-38
lines changed

6 files changed

+31
-38
lines changed

sdk/ai/ai-projects/test/public/conversationItems/conversationItems.spec.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT License.
33

4-
import { createOpenAI } from "../utils/createClient.js";
4+
import { createProjectsClient } from "../utils/createClient.js";
55
import { assert, beforeEach, it, describe } from "vitest";
6+
import { isLiveMode, isRecordMode } from "@azure-tools/test-recorder";
7+
import type { AIProjectClient } from "../../../src/index.js";
68
import type OpenAI from "openai";
79

8-
const testMode = (process.env.TEST_MODE ?? "playback").toLowerCase();
9-
const isLiveOrRecord = testMode === "live" || testMode === "record";
10+
const isLiveOrRecord = isLiveMode() || isRecordMode();
1011

1112
interface TestItem {
1213
id: string;
@@ -22,10 +23,12 @@ interface TestItemInput {
2223
// OpenAI SDK tests don't work with test recorder
2324
// Skip in playback mode (only run in live/record mode)
2425
describe.skipIf(!isLiveOrRecord)("My test", () => {
26+
let projectsClient: AIProjectClient;
2527
let openAIClient: OpenAI;
2628

2729
beforeEach(async function () {
28-
openAIClient = await createOpenAI();
30+
projectsClient = createProjectsClient();
31+
openAIClient = await projectsClient.getOpenAIClient();
2932
});
3033

3134
it("should create, list, get, and delete conversation items", async function () {

sdk/ai/ai-projects/test/public/conversations/conversations.spec.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT License.
33

4-
import { createOpenAI } from "../utils/createClient.js";
4+
import { createProjectsClient } from "../utils/createClient.js";
55
import { assert, beforeEach, it, describe } from "vitest";
6+
import { isLiveMode, isRecordMode } from "@azure-tools/test-recorder";
67
import type OpenAI from "openai";
8+
import type { AIProjectClient } from "../../../src/index.js";
79

8-
const testMode = (process.env.TEST_MODE ?? "playback").toLowerCase();
9-
const isLiveOrRecord = testMode === "live" || testMode === "record";
10+
const isLiveOrRecord = isLiveMode() || isRecordMode();
1011

1112
// OpenAI SDK tests don't work with test recorder
1213
// Skip in playback mode (only run in live/record mode)
1314
describe.skipIf(!isLiveOrRecord)("My test", () => {
15+
let projectsClient: AIProjectClient;
1416
let openAIClient: OpenAI;
1517

1618
beforeEach(async function () {
17-
openAIClient = await createOpenAI();
19+
projectsClient = createProjectsClient();
20+
openAIClient = await projectsClient.getOpenAIClient();
1821
});
1922

2023
it("should create and delete conversation", async function () {

sdk/ai/ai-projects/test/public/node/files/files.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
// Licensed under the MIT License.
33

44
import type { Recorder, VitestTestContext } from "@azure-tools/test-recorder";
5+
import { isLiveMode } from "@azure-tools/test-recorder";
56
import { createRecorder, createProjectsClient } from "../../utils/createClient.js";
67
import { assert, beforeEach, afterEach, it, describe } from "vitest";
78
import type { AIProjectClient } from "../../../../src/index.js";
89
import type { OpenAI } from "openai/client";
910

10-
const testMode = (process.env.TEST_MODE ?? "playback").toLowerCase();
11-
const isLive = testMode === "live";
11+
const isLive = isLiveMode();
1212

1313
describe("files - basic", () => {
1414
let recorder: Recorder;

sdk/ai/ai-projects/test/public/responses/responses.spec.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT License.
33

4-
import { createOpenAI } from "../utils/createClient.js";
4+
import { createProjectsClient } from "../utils/createClient.js";
55
import { assert, beforeEach, it, describe } from "vitest";
6+
import { isLiveMode, isRecordMode } from "@azure-tools/test-recorder";
67
import type OpenAI from "openai";
8+
import type { AIProjectClient } from "../../../src/index.js";
79

8-
const testMode = (process.env.TEST_MODE ?? "playback").toLowerCase();
9-
const isLiveOrRecord = testMode === "live" || testMode === "record";
10-
10+
const isLiveOrRecord = isLiveMode() || isRecordMode();
1111
// OpenAI SDK tests don't work with test recorder
1212
// Skip in playback mode (only run in live/record mode)
1313
describe.skipIf(!isLiveOrRecord)("My test", () => {
14+
let projectsClient: AIProjectClient;
1415
let openAIClient: OpenAI;
1516

1617
beforeEach(async function () {
17-
openAIClient = await createOpenAI();
18+
projectsClient = createProjectsClient();
19+
openAIClient = await projectsClient.getOpenAIClient();
1820
});
1921

2022
it("should create and list responses", async function () {

sdk/ai/ai-projects/test/public/responses/tools.spec.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT License.
33

4-
import { createOpenAI } from "../utils/createClient.js";
4+
import { createProjectsClient } from "../utils/createClient.js";
55
import { assert, beforeEach, it, describe } from "vitest";
6-
import OpenAI from "openai";
7-
8-
const testMode = (process.env.TEST_MODE ?? "playback").toLowerCase();
9-
const isLiveOrRecord = testMode === "live" || testMode === "record";
6+
import { isLiveMode, isRecordMode } from "@azure-tools/test-recorder";
7+
import type OpenAI from "openai";
8+
import type { AIProjectClient } from "../../../src/index.js";
109

10+
const isLiveOrRecord = isLiveMode() || isRecordMode();
1111
// OpenAI SDK tests don't work with test recorder
1212
// Skip in playback mode (only run in live/record mode)
1313
describe.skipIf(!isLiveOrRecord)("My test", () => {
14+
let projectsClient: AIProjectClient;
1415
let openAIClient: OpenAI;
1516

1617
beforeEach(async function () {
17-
openAIClient = await createOpenAI();
18+
projectsClient = createProjectsClient();
19+
openAIClient = await projectsClient.getOpenAIClient();
1820
});
1921

2022
it("should create responses with code interpreter tool", async function () {

sdk/ai/ai-projects/test/public/utils/createClient.ts

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import { createTestCredential } from "@azure-tools/test-credential";
77
import { AIProjectClient, AIProjectClientOptionalParams } from "../../../src/index.js";
88
import type { PipelineRequest, PipelineResponse } from "@azure/core-rest-pipeline";
99
import { createHttpHeaders } from "@azure/core-rest-pipeline";
10-
import OpenAI from "openai";
11-
import { getBearerTokenProvider } from "@azure/identity";
1210

1311
const replaceableVariables: Record<string, string> = {
1412
GENERIC_STRING: "Sanitized",
@@ -115,21 +113,6 @@ export async function createRecorder(context: VitestTestContext): Promise<Record
115113
return recorder;
116114
}
117115

118-
export async function createOpenAI(): Promise<OpenAI> {
119-
const credential = createTestCredential();
120-
const projectEndpoint = process.env["AZURE_AI_PROJECT_ENDPOINT"] || "";
121-
122-
const scope = "https://ai.azure.com/.default";
123-
const azureADTokenProvider = await getBearerTokenProvider(credential, scope);
124-
125-
return new OpenAI({
126-
apiKey: azureADTokenProvider,
127-
baseURL: projectEndpoint,
128-
defaultQuery: { "api-version": "2025-11-15-preview" },
129-
dangerouslyAllowBrowser: true,
130-
});
131-
}
132-
133116
export function createProjectsClient(
134117
recorder?: Recorder,
135118
options?: AIProjectClientOptionalParams,

0 commit comments

Comments
 (0)