server: infer archive collected_at from source events
This commit is contained in:
@@ -656,6 +656,43 @@ func TestConvertToReanimator_DeduplicatesAllSections(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestConvertToReanimator_StatusFallbackUsesCollectedAt(t *testing.T) {
|
||||
collectedAt := time.Date(2026, 2, 10, 15, 30, 0, 0, time.UTC)
|
||||
input := &models.AnalysisResult{
|
||||
Filename: "status-fallback.json",
|
||||
CollectedAt: collectedAt,
|
||||
Hardware: &models.HardwareConfig{
|
||||
BoardInfo: models.BoardInfo{SerialNumber: "BOARD-001"},
|
||||
Storage: []models.Storage{
|
||||
{
|
||||
Slot: "U.2-1",
|
||||
Model: "PM9A3",
|
||||
SerialNumber: "SSD-001",
|
||||
Present: true,
|
||||
Status: "OK",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
out, err := ConvertToReanimator(input)
|
||||
if err != nil {
|
||||
t.Fatalf("ConvertToReanimator() failed: %v", err)
|
||||
}
|
||||
if len(out.Hardware.Storage) != 1 {
|
||||
t.Fatalf("expected 1 storage entry, got %d", len(out.Hardware.Storage))
|
||||
}
|
||||
|
||||
wantTs := collectedAt.UTC().Format(time.RFC3339)
|
||||
got := out.Hardware.Storage[0]
|
||||
if got.StatusCheckedAt != wantTs {
|
||||
t.Fatalf("expected status_checked_at=%q, got %q", wantTs, got.StatusCheckedAt)
|
||||
}
|
||||
if got.StatusAtCollect == nil || got.StatusAtCollect.At != wantTs {
|
||||
t.Fatalf("expected status_at_collection.at=%q, got %#v", wantTs, got.StatusAtCollect)
|
||||
}
|
||||
}
|
||||
|
||||
func TestConvertToReanimator_FirmwareExcludesDeviceBoundEntries(t *testing.T) {
|
||||
input := &models.AnalysisResult{
|
||||
Filename: "fw-filter-test.json",
|
||||
|
||||
Reference in New Issue
Block a user