Allow extra pair metadata in bundle checks

This commit is contained in:
2026-05-11 16:12:26 +08:00
parent c3f7c48198
commit 5a2248667d
2 changed files with 42 additions and 1 deletions
+42
View File
@@ -194,6 +194,48 @@ func TestRunCheckTreatsMissingOrbitAsWarning(t *testing.T) {
}
}
func TestRunCheckAllowsExtraPairMetadata(t *testing.T) {
root := t.TempDir()
input := filepath.Join(root, "bundle")
writeTestFile(t, filepath.Join(input, "data", "scene_master", "m.txt"), "master")
writeTestFile(t, filepath.Join(input, "data", "scene_slave", "s.txt"), "slave")
writeTestFile(t, filepath.Join(input, "orbit", "master.txt"), "master orbit")
writeTestFile(t, filepath.Join(input, "orbit", "slave.txt"), "slave orbit")
writeTestFile(t, filepath.Join(input, pairsFileName), `{
"schema": "dinsar_source_bundle_pairs.v1",
"exported_at": "2026-05-11T07:20:15Z",
"pairs": [
{
"pair_id": "pair_0001",
"identity_key": "uid:test",
"task_name": "Task_20250101_20250113",
"task_alias": "Task_20250101_20250113",
"pair_key": "lt1_test",
"scene_pair_uid": "test",
"master_data": "data/scene_master",
"slave_data": "data/scene_slave",
"master_orbit": "orbit/master.txt",
"slave_orbit": "orbit/slave.txt",
"master_source_path": "D:\\source\\master",
"slave_source_path": "D:\\source\\slave",
"scene_center_distance_meters": 123.4
}
]
}`)
result, err := runCheck(config{inputRoot: input, logWriter: io.Discard})
if err != nil {
t.Fatalf("runCheck failed: %v", err)
}
if result.report.Failed != 0 {
t.Fatalf("failed = %d, want 0; errors=%v", result.report.Failed, result.report.Errors)
}
if result.report.Valid != 1 {
t.Fatalf("valid = %d, want 1", result.report.Valid)
}
}
func TestParseFlagsRejectsSkipExistingWithOverwrite(t *testing.T) {
_, err := parseFlags([]string{"--input", "in", "--output", "out", "--skip-existing", "--overwrite"})
if err == nil {