Translate asset, archive, GLTF, material, and import/export tests exactly #18
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objective
Translate tests for asset types, material overrides, GLTF documents/uploads, OAR/tar terrain data, model import/export, and related serialization.
Deliverables
Validation
Prerequisite
Milestone 02 must provide the complete callable public API shim. Keep all production behavior standardized as unimplemented.
Project constraints
Implemented and pushed in commit
9eb4345.Implementation:
Verification:
The full workspace test run remains intentionally red at the standardized OarFile.LoadTerrain NotImplemented boundary, as required by the current semantic-test-translation milestone; no production behavior was stubbed or made falsely successful.
Superseding the earlier invalid
9eb4345delivery note: the corrected implementation is commit21bbdab, now pushed to main. It translates all 56 NUnit invocations owned by this issue into explicit Rust tests: AssetMaterialOverride (13), GltfDocument (12), GLTFMaterialOverrideCap (6), GLTFMaterialUpload (4), OarFileTerrain (4), SendPostcard (4), TerrainMaterialOverride (6), UploadThumbnail (6), and the AssetManager null-constructor case (1). The tests call the mapped library APIs directly, retain the upstream identities/body hashes and exact fixtures, use deterministic in-memory HTTP capability fixtures, exercise the real private OarFile.LoadTerrain seam corresponding to the C# reflection tests, and reject wrong error variants rather than accepting any failure. Parity is pending=1077, translated=205, ignored-live=3, benchmark=4, drifted=0. Verified locally with all repository generator/parity/API gates, cargo fmt, workspace/all-target checks, downstream API compile check, workspace test compilation, clippy -D warnings, and cargo doc. Controlled red runs were 0/25, 0/27, and 0/4, each stopping at the exact standardized NotImplemented API boundary. The milestone-wide live-grid audit still finds only the three #17 cases; they load GRID_USER, GRID_PASSWORD, and GRID_LOGIN_URL from environment or .env, ignore themselves when credentials are missing, and run automatically when all three are present.