@@ -402,14 +402,15 @@ func TestRHEL8_PhysicalDrives_Success(t *testing.T) {
402402 // Setup mock for listing block devices
403403 mockLSBLK .On ("Run" , mock .MatchedBy (func (args []string ) bool {
404404 return len (args ) > 0 && args [0 ] == "--list"
405- })).Return ([]byte (`NAME ROTA SIZE TYPE TRAN MOUNTPOINT FSTYPE PARTTYPE
406- /dev/nvme1n1 0 8589934592 disk nvme
407- /dev/nvme2n1 0 8589934592 disk nvme` ), nil )
405+ })).Return ([]byte (`NAME ROTA SIZE TYPE TRAN MOUNTPOINT FSTYPE PARTTYPE PKNAME
406+ /dev/nvme1n1 0 8589934592 disk nvme
407+ /dev/nvme1n1p1 0 103809024 part nvme /boot/efi vfat c12a7328-f81f-11d2-ba4b-00a0c93ec93b /dev/nvme1n1
408+ /dev/nvme2n1 0 8589934592 disk nvme` ), nil )
408409
409410 // Setup mocks for first device
410411 mockLSBLK .On ("Run" , mock .MatchedBy (func (args []string ) bool {
411412 return len (args ) > 0 && args [0 ] == "/dev/nvme1n1"
412- })).Return ([]byte (`NAME ROTA SIZE TYPE TRAN MOUNTPOINT FSTYPE PARTTYPE
413+ })).Return ([]byte (`NAME ROTA SIZE TYPE TRAN MOUNTPOINT FSTYPE PARTTYPE PKNAME
413414/dev/nvme1n1 0 8589934592 disk nvme` ), nil )
414415
415416 mockUDevADM .On ("Run" , mock .MatchedBy (func (args []string ) bool {
@@ -421,6 +422,26 @@ E: DEVNAME=/dev/nvme1n1
421422E: DEVLINKS=/dev/disk/by-id/nvme-123` ), nil )
422423
423424 mockSmartCTL .On ("Run" , []string {"-a" , "/dev/nvme1n1" }).Return ([]byte (`
425+ === START OF SMART DATA SECTION ===
426+ SMART overall-health self-assessment test result: PASSED
427+ ` ), nil )
428+
429+ // Setup mock for partition of the first device
430+ mockLSBLK .On ("Run" , mock .MatchedBy (func (args []string ) bool {
431+ return len (args ) > 0 && args [0 ] == "/dev/nvme1n1p1"
432+ })).Return ([]byte (`NAME ROTA SIZE TYPE TRAN MOUNTPOINT FSTYPE PARTTYPE PKNAME
433+ /dev/nvme1n1p1 0 103809024 part nvme /boot/efi vfat c12a7328-f81f-11d2-ba4b-00a0c93ec93b /dev/nvme1n1
434+ ` ), nil )
435+
436+ mockUDevADM .On ("Run" , mock .MatchedBy (func (args []string ) bool {
437+ return len (args ) > 1 && args [2 ] == "--name=/dev/nvme1n1p1"
438+ })).Return ([]byte (`E: ID_MODEL=Amazon Elastic Block Store
439+ E: ID_SERIAL_SHORT=vol05ece746e40ff492f
440+ E: ID_WWN=nvme.1d0f-123456
441+ E: DEVNAME=/dev/nvme1n1p1
442+ E: DEVLINKS=/dev/disk/by-id/nvme-123` ), nil )
443+
444+ mockSmartCTL .On ("Run" , []string {"-a" , "/dev/nvme1n1p1" }).Return ([]byte (`
424445=== START OF SMART DATA SECTION ===
425446SMART overall-health self-assessment test result: PASSED
426447` ), nil )
@@ -450,21 +471,31 @@ SMART overall-health self-assessment test result: PASSED
450471
451472 // Assertions
452473 assert .NoError (t , err )
453- assert .Equal (t , 2 , len (physicalDrives ))
474+ assert .Equal (t , 3 , len (physicalDrives ))
454475
455476 // First drive assertions
456477 assert .Equal (t , "Amazon Elastic Block Store" , physicalDrives [0 ].Model )
457478 assert .Equal (t , "vol05ece746e40ff492f" , physicalDrives [0 ].Serial )
458479 assert .Equal (t , "/dev/nvme1n1" , physicalDrives [0 ].ID )
459480 assert .Equal (t , "/dev/nvme1n1" , physicalDrives [0 ].DevicePath )
460481 assert .Equal (t , physicaldrive .DiskTypeNVMe , physicalDrives [0 ].Type )
482+ assert .Equal (t , physicaldrive .PDStatusUsed , physicalDrives [0 ].Status )
461483
462- // Second drive assertions
484+ // Partition of the first drive assertions
463485 assert .Equal (t , "Amazon Elastic Block Store" , physicalDrives [1 ].Model )
464- assert .Equal (t , "vol05ece746e40ff493g " , physicalDrives [1 ].Serial )
465- assert .Equal (t , "/dev/nvme2n1 " , physicalDrives [1 ].ID )
466- assert .Equal (t , "/dev/nvme2n1 " , physicalDrives [1 ].DevicePath )
486+ assert .Equal (t , "vol05ece746e40ff492f " , physicalDrives [1 ].Serial )
487+ assert .Equal (t , "/dev/nvme1n1p1 " , physicalDrives [1 ].ID )
488+ assert .Equal (t , "/dev/nvme1n1p1 " , physicalDrives [1 ].DevicePath )
467489 assert .Equal (t , physicaldrive .DiskTypeNVMe , physicalDrives [1 ].Type )
490+ assert .Equal (t , physicaldrive .PDStatusUsed , physicalDrives [1 ].Status )
491+
492+ // Second drive assertions
493+ assert .Equal (t , "Amazon Elastic Block Store" , physicalDrives [2 ].Model )
494+ assert .Equal (t , "vol05ece746e40ff493g" , physicalDrives [2 ].Serial )
495+ assert .Equal (t , "/dev/nvme2n1" , physicalDrives [2 ].ID )
496+ assert .Equal (t , "/dev/nvme2n1" , physicalDrives [2 ].DevicePath )
497+ assert .Equal (t , physicaldrive .DiskTypeNVMe , physicalDrives [2 ].Type )
498+ assert .Equal (t , physicaldrive .PDStatusUnassignedGood , physicalDrives [2 ].Status )
468499
469500 mockLSBLK .AssertExpectations (t )
470501 mockUDevADM .AssertExpectations (t )
0 commit comments