Skip to content

Commit 1010e5f

Browse files
authored
[Recorder] Make TEST_MODE environment variable value case-insensitive (Azure#22118)
1 parent fbb84ea commit 1010e5f

File tree

3 files changed

+32
-4
lines changed

3 files changed

+32
-4
lines changed

sdk/test-utils/recorder/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
### Bugs Fixed
1313

1414
- Fixed redirects not being passed to the test proxy in the browser. [#21713](https://github.com/Azure/azure-sdk-for-js/pull/21713)
15+
- The value of the `TEST_MODE` environment variable is no longer case-sensitive. [#22118](https://github.com/Azure/azure-sdk-for-js/pull/22118)
1516

1617
### Other Changes
1718

sdk/test-utils/recorder/src/utils/utils.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ export function getTestMode(): TestMode {
317317
if (isPlaybackMode()) {
318318
return "playback";
319319
}
320-
return env.TEST_MODE as "record" | "live";
320+
return env.TEST_MODE?.toLowerCase() as "record" | "live";
321321
}
322322

323323
/** Make a lazy value that can be deferred and only computed once. */
@@ -327,11 +327,11 @@ export const once = <T>(make: () => T): (() => T) => {
327327
};
328328

329329
export function isRecordMode() {
330-
return env.TEST_MODE === "record";
330+
return env.TEST_MODE?.toLowerCase() === "record";
331331
}
332332

333333
export function isLiveMode() {
334-
return env.TEST_MODE === "live";
334+
return env.TEST_MODE?.toLowerCase() === "live";
335335
}
336336

337337
export function isPlaybackMode() {

sdk/test-utils/recorder/test/testProxyClient.spec.ts

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,13 @@ import { expect } from "chai";
1111
import { env, Recorder } from "../src";
1212
import { createRecordingRequest } from "../src/utils/createRecordingRequest";
1313
import { paths } from "../src/utils/paths";
14-
import { getTestMode, isLiveMode, RecorderError, RecordingStateManager } from "../src/utils/utils";
14+
import {
15+
getTestMode,
16+
isLiveMode,
17+
isRecordMode,
18+
RecorderError,
19+
RecordingStateManager,
20+
} from "../src/utils/utils";
1521

1622
const testRedirectedRequest = (
1723
client: Recorder,
@@ -296,6 +302,27 @@ describe("TestProxyClient functions", () => {
296302
expect(returnedRequest.url).to.equal(initialRequest.url);
297303
});
298304
});
305+
306+
describe("getTestMode", () => {
307+
it("treats the TEST_MODE environment variable case-insensitively", () => {
308+
[
309+
"record",
310+
"RECORD",
311+
"Record",
312+
"playback",
313+
"PLAYBACK",
314+
"Playback",
315+
"live",
316+
"LIVE",
317+
"Live",
318+
].forEach((testMode) => {
319+
env.TEST_MODE = testMode;
320+
expect(getTestMode()).to.equal(testMode.toLowerCase());
321+
expect(isRecordMode()).to.equal(testMode.toLowerCase() === "record");
322+
expect(isLiveMode()).to.equal(testMode.toLowerCase() === "live");
323+
});
324+
});
325+
});
299326
});
300327

301328
describe("State Manager", function () {

0 commit comments

Comments
 (0)