test(wp7-02): require native Gemini gateway contract
Dada P0-A isolated Windows CI / validate-and-package (push) Failing after 1m48s
Dada P0-A isolated Windows CI / validate-and-package (push) Failing after 1m48s
This commit is contained in:
@@ -20,21 +20,21 @@ import {
|
|||||||
|
|
||||||
const models = [
|
const models = [
|
||||||
{
|
{
|
||||||
config_version: 2,
|
config_version: 3,
|
||||||
model_id: "gemini-3.1-flash-image-preview",
|
model_id: "gemini-3.1-flash-image-preview",
|
||||||
route_profile: {
|
route_profile: {
|
||||||
endpoint: "https://oneapi.intelligrow.cn/v1/models/gemini-3.1-flash-image-preview:generateContent",
|
endpoint: "https://oneapi.intelligrow.cn/v1beta/models/gemini-3.1-flash-image-preview:generateContent",
|
||||||
mode: "sync",
|
mode: "sync",
|
||||||
protocol_version: "gemini-native-v1",
|
protocol_version: "gemini-native-v1beta",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
config_version: 2,
|
config_version: 3,
|
||||||
model_id: "gemini-3-pro-image-preview",
|
model_id: "gemini-3-pro-image-preview",
|
||||||
route_profile: {
|
route_profile: {
|
||||||
endpoint: "https://oneapi.intelligrow.cn/v1/models/gemini-3-pro-image-preview:generateContent",
|
endpoint: "https://oneapi.intelligrow.cn/v1beta/models/gemini-3-pro-image-preview:generateContent",
|
||||||
mode: "sync",
|
mode: "sync",
|
||||||
protocol_version: "gemini-native-v1",
|
protocol_version: "gemini-native-v1beta",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -83,10 +83,11 @@ test("TDD-WP7-EXT-001 builds protocol-specific requests without auth in argument
|
|||||||
assert.equal(gemini.method, "POST");
|
assert.equal(gemini.method, "POST");
|
||||||
assert.equal(gemini.body.contents[0].parts.some((part) => part.inlineData?.data), true);
|
assert.equal(gemini.body.contents[0].parts.some((part) => part.inlineData?.data), true);
|
||||||
assert.deepEqual(gemini.body.generationConfig.responseModalities, ["IMAGE"]);
|
assert.deepEqual(gemini.body.generationConfig.responseModalities, ["IMAGE"]);
|
||||||
assert.deepEqual(gemini.body.generationConfig.responseFormat, {
|
assert.deepEqual(gemini.body.generationConfig.imageConfig, {
|
||||||
image: { aspectRatio: "3:4", imageSize: "1K" },
|
aspectRatio: "3:4",
|
||||||
|
imageSize: "1K",
|
||||||
});
|
});
|
||||||
assert.equal("imageConfig" in gemini.body.generationConfig, false);
|
assert.equal("responseFormat" in gemini.body.generationConfig, false);
|
||||||
assert.equal("authorization" in gemini.headers, false);
|
assert.equal("authorization" in gemini.headers, false);
|
||||||
|
|
||||||
const openai = buildProviderRequest({ modelConfig: models[2], prompt: "controlled fixture prompt", ratio: "9:16" });
|
const openai = buildProviderRequest({ modelConfig: models[2], prompt: "controlled fixture prompt", ratio: "9:16" });
|
||||||
|
|||||||
@@ -98,16 +98,16 @@ test("TDD-WP7-EXT-001 remains externally blocked without confirmation, config an
|
|||||||
|
|
||||||
test("TDD-WP7-EXT-001 fixes independent OneAPI routes without embedding credentials", () => {
|
test("TDD-WP7-EXT-001 fixes independent OneAPI routes without embedding credentials", () => {
|
||||||
const manifest = JSON.parse(readFileSync("config/wp7-02-oneapi-test.json", "utf8"));
|
const manifest = JSON.parse(readFileSync("config/wp7-02-oneapi-test.json", "utf8"));
|
||||||
assert.equal(manifest.config_set_version, 3);
|
assert.equal(manifest.config_set_version, 4);
|
||||||
assert.equal(manifest.gateway_account_ref, "oneapi-intelligrow-test");
|
assert.equal(manifest.gateway_account_ref, "oneapi-intelligrow-test");
|
||||||
assert.deepEqual(manifest.models.map((entry) => entry.model_id), WP7_02_MODEL_IDS);
|
assert.deepEqual(manifest.models.map((entry) => entry.model_id), WP7_02_MODEL_IDS);
|
||||||
assert.deepEqual(manifest.models.map((entry) => entry.route_profile.protocol_version), [
|
assert.deepEqual(manifest.models.map((entry) => entry.route_profile.protocol_version), [
|
||||||
"gemini-native-v1",
|
"gemini-native-v1beta",
|
||||||
"gemini-native-v1",
|
"gemini-native-v1beta",
|
||||||
"openai-images-v1",
|
"openai-images-v1",
|
||||||
]);
|
]);
|
||||||
assert.deepEqual(manifest.models.map((entry) => entry.config_version), [2, 2, 2]);
|
assert.deepEqual(manifest.models.map((entry) => entry.config_version), [3, 3, 2]);
|
||||||
assert.equal(manifest.models.slice(0, 2).every((entry) => /\/v1\/models\/.+:generateContent$/.test(entry.route_profile.endpoint)), true);
|
assert.equal(manifest.models.slice(0, 2).every((entry) => /\/v1beta\/models\/.+:generateContent$/.test(entry.route_profile.endpoint)), true);
|
||||||
assert.equal(manifest.models[2].route_profile.reference_endpoint, "https://oneapi.intelligrow.cn/v1/images/edits");
|
assert.equal(manifest.models[2].route_profile.reference_endpoint, "https://oneapi.intelligrow.cn/v1/images/edits");
|
||||||
assert.equal(manifest.models.every((entry) => entry.route_profile.endpoint.startsWith("https://oneapi.intelligrow.cn/")), true);
|
assert.equal(manifest.models.every((entry) => entry.route_profile.endpoint.startsWith("https://oneapi.intelligrow.cn/")), true);
|
||||||
assert.doesNotMatch(JSON.stringify(manifest), /api[_-]?key|authorization|bearer|sk-[A-Za-z0-9]/i);
|
assert.doesNotMatch(JSON.stringify(manifest), /api[_-]?key|authorization|bearer|sk-[A-Za-z0-9]/i);
|
||||||
|
|||||||
Reference in New Issue
Block a user