3D 任务参数用例改为断言真实主张
- server-rs/crates/api-server/src/tripo3d/job.rs:把 job_request_rejects_payload_without_fingerprint_stripping_support 改名为 job_request_stays_strict_after_stripping_platform_fingerprint 并补断言——带指纹 + 其它未知字段的合法 payload 仍必须被拒(摘下平台字段不等于放宽严格解析);原用例名声称验证指纹摘除,实际只断言了「缺字段的 payload 被拒」和「未知 job kind 被拒」 验证:cargo test -p api-server --locked job_request(2 个用例全绿)、npm run check:rustfmt
This commit is contained in:
@@ -157,7 +157,31 @@ mod tests {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn job_request_rejects_payload_without_fingerprint_stripping_support() {
|
||||
fn job_request_stays_strict_after_stripping_platform_fingerprint() {
|
||||
// 摘指纹只摘平台注入的那一个字段:其余未知字段仍走 deny_unknown_fields。
|
||||
let payload_with_unknown_field = json!({
|
||||
"generation": {
|
||||
"prompt": "一只木箱",
|
||||
"model": "v3.1-20260211",
|
||||
"texture": true,
|
||||
"pbr": true,
|
||||
"textureQuality": "standard",
|
||||
"geometryQuality": "standard",
|
||||
"quad": false,
|
||||
"smartLowPoly": false,
|
||||
"generateParts": false
|
||||
},
|
||||
"target": { "kind": "projectResource", "projectId": "project-1" },
|
||||
"_externalApiRequestFingerprint": "fingerprint-1",
|
||||
"unexpectedField": true
|
||||
})
|
||||
.to_string();
|
||||
assert!(
|
||||
parse_model3d_job_request(MODEL3D_TEXT_TO_MODEL_JOB_KIND, &payload_with_unknown_field)
|
||||
.is_err()
|
||||
);
|
||||
|
||||
// 缺 generation / target 的 payload 与未知 job kind 都必须被拒。
|
||||
let payload = json!({ "prompt": "一只木箱" }).to_string();
|
||||
assert!(parse_model3d_job_request(MODEL3D_TEXT_TO_MODEL_JOB_KIND, &payload).is_err());
|
||||
assert!(parse_model3d_job_request("unknown_job_kind", &payload).is_err());
|
||||
|
||||
Reference in New Issue
Block a user