Implement audit enrichments, TUI workflows, and production ISO scaffold
This commit is contained in:
96
audit/internal/collector/raid_parsers_test.go
Normal file
96
audit/internal/collector/raid_parsers_test.go
Normal file
@@ -0,0 +1,96 @@
|
||||
package collector
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestParseSASIrcuControllerIDs(t *testing.T) {
|
||||
raw := `LSI Corporation SAS2 IR Configuration Utility.
|
||||
Adapter List
|
||||
==============
|
||||
0 SAS2008(B2)
|
||||
1 SAS2308_2(D1)
|
||||
`
|
||||
ids := parseSASIrcuControllerIDs(raw)
|
||||
if len(ids) != 2 || ids[0] != 0 || ids[1] != 1 {
|
||||
t.Fatalf("unexpected ids: %#v", ids)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseSASIrcuDisplay(t *testing.T) {
|
||||
raw := `Device is a Hard disk
|
||||
Enclosure # : 32
|
||||
Slot # : 7
|
||||
State : Onln
|
||||
Size (in MB)/(in sectors) : 953869/1953525168
|
||||
Model Number : ST1000NM0033
|
||||
Serial No : Z1D12345
|
||||
Protocol : SAS
|
||||
Drive Type : HDD
|
||||
|
||||
Device is a Enclosure services device
|
||||
Enclosure # : 32
|
||||
`
|
||||
drives := parseSASIrcuDisplay(raw)
|
||||
if len(drives) != 1 {
|
||||
t.Fatalf("expected 1 drive, got %d", len(drives))
|
||||
}
|
||||
d := drives[0]
|
||||
if d.Slot == nil || *d.Slot != "32:7" {
|
||||
t.Fatalf("slot: %v", d.Slot)
|
||||
}
|
||||
if d.SerialNumber == nil || *d.SerialNumber != "Z1D12345" {
|
||||
t.Fatalf("serial: %v", d.SerialNumber)
|
||||
}
|
||||
if d.Interface == nil || *d.Interface != "SAS" {
|
||||
t.Fatalf("interface: %v", d.Interface)
|
||||
}
|
||||
if d.Status == nil || *d.Status != "OK" {
|
||||
t.Fatalf("status: %v", d.Status)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseArcconfPhysicalDrives(t *testing.T) {
|
||||
raw := `Device #0
|
||||
Reported Location : Channel 0, Device 3
|
||||
Model : Micron_5300
|
||||
Serial number : ARC12345
|
||||
State : Online
|
||||
Total Size : 894 GB
|
||||
Transfer Speed : SATA 6.0Gb/s
|
||||
SSD : Yes
|
||||
`
|
||||
drives := parseArcconfPhysicalDrives(raw)
|
||||
if len(drives) != 1 {
|
||||
t.Fatalf("expected 1 drive, got %d", len(drives))
|
||||
}
|
||||
d := drives[0]
|
||||
if d.Type == nil || *d.Type != "SSD" {
|
||||
t.Fatalf("type: %v", d.Type)
|
||||
}
|
||||
if d.Interface == nil || *d.Interface != "SATA" {
|
||||
t.Fatalf("interface: %v", d.Interface)
|
||||
}
|
||||
if d.Status == nil || *d.Status != "OK" {
|
||||
t.Fatalf("status: %v", d.Status)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseSSACLIPhysicalDrives(t *testing.T) {
|
||||
raw := `physicaldrive 1I:1:1 (894 GB, SAS HDD, OK)
|
||||
Serial Number: SSACLI001
|
||||
Model: MB8000JVYZQ
|
||||
|
||||
physicaldrive 1I:1:2 (894 GB, SAS HDD, Failed)
|
||||
Serial Number: SSACLI002
|
||||
Model: MB8000JVYZQ
|
||||
`
|
||||
drives := parseSSACLIPhysicalDrives(raw)
|
||||
if len(drives) != 2 {
|
||||
t.Fatalf("expected 2 drives, got %d", len(drives))
|
||||
}
|
||||
if drives[0].Status == nil || *drives[0].Status != "OK" {
|
||||
t.Fatalf("drive0 status: %v", drives[0].Status)
|
||||
}
|
||||
if drives[1].Status == nil || *drives[1].Status != "CRITICAL" {
|
||||
t.Fatalf("drive1 status: %v", drives[1].Status)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user