Skip to content

Commit 7c25d8a

Browse files
committed
fix: test coverage
1 parent 3b04442 commit 7c25d8a

File tree

1 file changed

+82
-0
lines changed

1 file changed

+82
-0
lines changed

packages/fx-core/tests/component/driver/file/createOrUpdateEnvironmentFile.test.ts

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -913,5 +913,87 @@ describe("CreateOrUpdateEnvironmentFileDriver", () => {
913913

914914
chai.assert(result.isOk());
915915
});
916+
917+
it("should handle undefined ctx.ui and empty result values", async () => {
918+
// Test with undefined ctx.ui
919+
const argsWithUndefinedUI = {
920+
envs: {
921+
AZURE_OPENAI_API_KEY: "${{ AZURE_OPENAI_API_KEY }}",
922+
AZURE_OPENAI_ENDPOINT: "${{ AZURE_OPENAI_ENDPOINT }}",
923+
},
924+
};
925+
const contextWithoutUI = {
926+
logProvider: new MockedLogProvider(),
927+
projectPath: "/path/to/project",
928+
ui: undefined,
929+
} as any;
930+
931+
const resultWithUndefinedUI = await driver.askForOpenAIEnvironmentVariables(
932+
contextWithoutUI,
933+
argsWithUndefinedUI,
934+
envOutput
935+
);
936+
937+
chai.assert(resultWithUndefinedUI.isOk());
938+
chai.assert.equal(envOutput.size, 0);
939+
chai.assert.equal(
940+
argsWithUndefinedUI.envs["AZURE_OPENAI_API_KEY"],
941+
"${{ AZURE_OPENAI_API_KEY }}"
942+
);
943+
chai.assert.equal(
944+
argsWithUndefinedUI.envs["AZURE_OPENAI_ENDPOINT"],
945+
"${{ AZURE_OPENAI_ENDPOINT }}"
946+
);
947+
948+
// Reset for next test
949+
envOutput.clear();
950+
951+
// Test with empty result value
952+
const argsWithEmptyResult = {
953+
envs: {
954+
AZURE_OPENAI_API_KEY: "${{ AZURE_OPENAI_API_KEY }}",
955+
},
956+
};
957+
sinon.stub(mockedDriverContext.ui!, "inputText").resolves(ok({ result: "" }));
958+
959+
const resultWithEmptyValue = await driver.askForOpenAIEnvironmentVariables(
960+
mockedDriverContext,
961+
argsWithEmptyResult,
962+
envOutput
963+
);
964+
965+
chai.assert(resultWithEmptyValue.isOk());
966+
chai.assert.equal(envOutput.size, 0);
967+
chai.assert.equal(
968+
argsWithEmptyResult.envs["AZURE_OPENAI_API_KEY"],
969+
"${{ AZURE_OPENAI_API_KEY }}"
970+
);
971+
});
972+
973+
it("should validate AZURE_OPENAI_ENDPOINT input and return error for invalid endpoint format", async () => {
974+
const args = {
975+
envs: {
976+
AZURE_OPENAI_ENDPOINT: "${{ AZURE_OPENAI_ENDPOINT }}",
977+
},
978+
};
979+
sinon.stub(mockedDriverContext.ui!, "inputText").callsFake(async (options) => {
980+
const validationResult = (options as any).validation!("ftp://invalid-endpoint"); // Simulate invalid endpoint
981+
chai.assert.equal(
982+
validationResult,
983+
getLocalizedString(
984+
"driver.file.createOrUpdateEnvironmentFile.OpenAIDeploymentEndpoint.validation"
985+
)
986+
);
987+
return ok({ result: "ftp://invalid-endpoint" });
988+
});
989+
990+
const result = await driver.askForOpenAIEnvironmentVariables(
991+
mockedDriverContext,
992+
args,
993+
envOutput
994+
);
995+
996+
chai.assert(result.isOk());
997+
});
916998
});
917999
});

0 commit comments

Comments
 (0)