Restore original bundle file names
This commit is contained in:
@@ -59,6 +59,95 @@ func TestRunRestoresPair(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunRestoresOriginalDataAndOrbitNames(t *testing.T) {
|
||||
root := t.TempDir()
|
||||
input := filepath.Join(root, "bundle")
|
||||
output := filepath.Join(root, "out")
|
||||
|
||||
masterName := "LT1B_MONO_SYC_STRIP1_019663_E131.0_N44.8_20251010_SLC_HH_S2A_0000898998"
|
||||
slaveName := "LT1A_MONO_SYC_STRIP1_019664_E131.0_N44.8_20251022_SLC_HH_S2A_0000899001"
|
||||
masterBundleName := "scene_e1e6ef658c_" + masterName
|
||||
slaveBundleName := "scene_abc123def4_" + slaveName
|
||||
|
||||
writeTestFile(t, filepath.Join(input, "data", masterBundleName, "scene_e1e6ef658c_"+masterName+".tiff"), "master")
|
||||
writeTestFile(t, filepath.Join(input, "data", slaveBundleName, "scene_abc123def4_"+slaveName+".tiff"), "slave")
|
||||
writeTestFile(t, filepath.Join(input, "orbit", "orbit_0123abcd_LT1A_GpsData_GAS_C_20230508.txt"), "master orbit")
|
||||
writeTestFile(t, filepath.Join(input, "orbit", "orbit_abcd1234_LT1B_GpsData_GAS_C_20230508.txt"), "slave orbit")
|
||||
writeTestJSON(t, filepath.Join(input, pairsFileName), pairsDocument{
|
||||
Pairs: []pair{{
|
||||
PairID: "pair_0001",
|
||||
TaskName: "Task_20251010_20251022",
|
||||
MasterData: filepath.ToSlash(filepath.Join("data", masterBundleName)),
|
||||
SlaveData: filepath.ToSlash(filepath.Join("data", slaveBundleName)),
|
||||
MasterOrbit: "orbit/orbit_0123abcd_LT1A_GpsData_GAS_C_20230508.txt",
|
||||
SlaveOrbit: "orbit/orbit_abcd1234_LT1B_GpsData_GAS_C_20230508.txt",
|
||||
}},
|
||||
})
|
||||
|
||||
result, err := run(config{inputRoot: input, outputRoot: output, skipExisting: true, logWriter: io.Discard})
|
||||
if err != nil {
|
||||
t.Fatalf("run failed: %v", err)
|
||||
}
|
||||
if result.report.Restored != 1 {
|
||||
t.Fatalf("restored = %d, want 1", result.report.Restored)
|
||||
}
|
||||
|
||||
task := filepath.Join(output, "Task_20251010_20251022")
|
||||
for _, path := range []string{
|
||||
filepath.Join(task, "master", masterName+".tiff"),
|
||||
filepath.Join(task, "slave", slaveName+".tiff"),
|
||||
filepath.Join(task, "orbit", "LT1A_GpsData_GAS_C_20230508.txt"),
|
||||
filepath.Join(task, "orbit", "LT1B_GpsData_GAS_C_20230508.txt"),
|
||||
} {
|
||||
if _, err := os.Stat(path); err != nil {
|
||||
t.Fatalf("expected %s to exist: %v", path, err)
|
||||
}
|
||||
}
|
||||
for _, path := range []string{
|
||||
filepath.Join(task, "master", masterBundleName),
|
||||
filepath.Join(task, "slave", slaveBundleName),
|
||||
filepath.Join(task, "master", "scene_e1e6ef658c_"+masterName+".tiff"),
|
||||
filepath.Join(task, "slave", "scene_abc123def4_"+slaveName+".tiff"),
|
||||
filepath.Join(task, "orbit", "orbit_0123abcd_LT1A_GpsData_GAS_C_20230508.txt"),
|
||||
filepath.Join(task, "orbit", "orbit_abcd1234_LT1B_GpsData_GAS_C_20230508.txt"),
|
||||
} {
|
||||
if _, err := os.Stat(path); !os.IsNotExist(err) {
|
||||
t.Fatalf("expected %s to be absent, stat err=%v", path, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunCollapsesNestedPrefixedDataRoot(t *testing.T) {
|
||||
root := t.TempDir()
|
||||
input := filepath.Join(root, "bundle")
|
||||
output := filepath.Join(root, "out")
|
||||
|
||||
originalName := "LT1B_MONO_SYC_STRIP1_019663_E131.0_N44.8_20251010_SLC_HH_S2A_0000898998"
|
||||
bundleName := "scene_e1e6ef658c_" + originalName
|
||||
writeTestFile(t, filepath.Join(input, "data", bundleName, bundleName, "m.txt"), "master")
|
||||
writeTestFile(t, filepath.Join(input, "data", "scene_abc123def4_slave", "s.txt"), "slave")
|
||||
writeTestJSON(t, filepath.Join(input, pairsFileName), pairsDocument{
|
||||
Pairs: []pair{{
|
||||
PairID: "pair_0001",
|
||||
TaskName: "Task_20251010_20251022",
|
||||
MasterData: filepath.ToSlash(filepath.Join("data", bundleName)),
|
||||
SlaveData: "data/scene_abc123def4_slave",
|
||||
}},
|
||||
})
|
||||
|
||||
if _, err := run(config{inputRoot: input, outputRoot: output, skipExisting: true, logWriter: io.Discard}); err != nil {
|
||||
t.Fatalf("run failed: %v", err)
|
||||
}
|
||||
|
||||
task := filepath.Join(output, "Task_20251010_20251022")
|
||||
if _, err := os.Stat(filepath.Join(task, "master", "m.txt")); err != nil {
|
||||
t.Fatalf("expected nested data root to be collapsed: %v", err)
|
||||
}
|
||||
if _, err := os.Stat(filepath.Join(task, "master", originalName)); !os.IsNotExist(err) {
|
||||
t.Fatalf("expected duplicated nested data root to be absent, stat err=%v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunSkipsExistingCompleteTask(t *testing.T) {
|
||||
root := t.TempDir()
|
||||
input := filepath.Join(root, "bundle")
|
||||
|
||||
Reference in New Issue
Block a user