diff --git a/src/main/java/com/target/devicemanager/common/DeviceAvailabilityService.java b/src/main/java/com/target/devicemanager/common/DeviceAvailabilityService.java index 188829a..780cff5 100644 --- a/src/main/java/com/target/devicemanager/common/DeviceAvailabilityService.java +++ b/src/main/java/com/target/devicemanager/common/DeviceAvailabilityService.java @@ -111,14 +111,14 @@ public DeviceHealth findDevStatus(String devName) { switch (devName){ case "flatbedscanner": if(deviceAvailabilitySingleton.getScannerManager() != null) { - healthStatus = deviceAvailabilitySingleton.getScannerManager().getStatus().get(0).getHealthStatus(); + healthStatus = deviceAvailabilitySingleton.getScannerManager().getScannerHealthStatus("FLATBED"); } else { LOGGER.trace("Failed to Connect to " + devName); } break; case "handscanner": if(deviceAvailabilitySingleton.getScannerManager() != null) { - healthStatus = deviceAvailabilitySingleton.getScannerManager().getStatus().get(1).getHealthStatus(); + healthStatus = deviceAvailabilitySingleton.getScannerManager().getScannerHealthStatus("HANDHELD"); } else { LOGGER.trace("Failed to Connect to " + devName); } diff --git a/src/main/java/com/target/devicemanager/components/scanner/ScannerManager.java b/src/main/java/com/target/devicemanager/components/scanner/ScannerManager.java index b6219a2..1047a86 100644 --- a/src/main/java/com/target/devicemanager/components/scanner/ScannerManager.java +++ b/src/main/java/com/target/devicemanager/components/scanner/ScannerManager.java @@ -227,7 +227,20 @@ public List getStatus() { } } - public DeviceHealth getScannerHealthStatus(String scannerName) { + public DeviceHealth getScannerHealthStatus(String scannerType) { + String scannerName = ""; + for (ScannerDevice scanner : scanners) { + switch (scannerType) { + case "FLATBED": + case "HANDHELD": + if (scanner.getScannerType().equals(scannerType)) { + scannerName = scanner.getDeviceName(); + } + break; + default: + scannerName = ""; + } + } for(DeviceHealthResponse deviceHealthResponse: getStatus()) { if(deviceHealthResponse.getDeviceName().equals(scannerName)) { return deviceHealthResponse.getHealthStatus(); diff --git a/src/test/java/com/target/devicemanager/common/DeviceAvailabilityServiceTest.java b/src/test/java/com/target/devicemanager/common/DeviceAvailabilityServiceTest.java index 283961e..07405f1 100644 --- a/src/test/java/com/target/devicemanager/common/DeviceAvailabilityServiceTest.java +++ b/src/test/java/com/target/devicemanager/common/DeviceAvailabilityServiceTest.java @@ -71,8 +71,7 @@ void Test_findDevStatus_Scale() { assertEquals(DeviceHealth.READY, deviceAvailabilityService.findDevStatus("scale")); } - // These tests fail because of a known issue, we will revert back when a permanent solution is found - /*@Test + @Test void Test_findDevStatus_FlatbedScanner() { //arrange DeviceHealth expected = new DeviceHealthResponse("FLATBED", DeviceHealth.NOTREADY).getHealthStatus(); @@ -98,7 +97,7 @@ void Test_findDevStatus_HandScanner() { //assert assertEquals(expected, actual); - }*/ + } @Test void Test_findDevStatus_LineDisplay() { diff --git a/src/test/java/com/target/devicemanager/components/scanner/ScannerManagerTest.java b/src/test/java/com/target/devicemanager/components/scanner/ScannerManagerTest.java index e57c355..e97c344 100644 --- a/src/test/java/com/target/devicemanager/components/scanner/ScannerManagerTest.java +++ b/src/test/java/com/target/devicemanager/components/scanner/ScannerManagerTest.java @@ -605,12 +605,16 @@ public void getStatus_WhenCacheNull_CheckHealth() { void getScannerHealthStatus_FlatbedScanner() { //arrange List devReady = new ArrayList<>(); - devReady.add(new DeviceHealthResponse("FLATBED", DeviceHealth.READY)); - devReady.add(new DeviceHealthResponse("HANDHELD", DeviceHealth.READY)); + devReady.add(new DeviceHealthResponse("Zebra", DeviceHealth.READY)); + devReady.add(new DeviceHealthResponse("Honeywell", DeviceHealth.READY)); Mockito.doReturn(devReady).when(scannerManagerCache).getStatus(); + Mockito.doReturn("Honeywell").when(mockHandheldScannerDevice).getDeviceName(); + Mockito.doReturn("HANDHELD").when(mockHandheldScannerDevice).getScannerType(); + Mockito.doReturn("Zebra").when(mockFlatbedScannerDevice).getDeviceName(); + Mockito.doReturn("FLATBED").when(mockFlatbedScannerDevice).getScannerType(); //act - DeviceHealth actual = scannerManagerCache.getScannerHealthStatus("HANDHELD"); + DeviceHealth actual = scannerManagerCache.getScannerHealthStatus("FLATBED"); //assert assertEquals(DeviceHealth.READY, actual); @@ -620,9 +624,14 @@ void getScannerHealthStatus_FlatbedScanner() { void getScannerHealthStatus_HandScanner() { //arrange List devReady = new ArrayList<>(); - devReady.add(new DeviceHealthResponse("FLATBED", DeviceHealth.READY)); - devReady.add(new DeviceHealthResponse("HANDHELD", DeviceHealth.READY)); + devReady.add(new DeviceHealthResponse("Zebra", DeviceHealth.READY)); + devReady.add(new DeviceHealthResponse("Honeywell", DeviceHealth.READY)); Mockito.doReturn(devReady).when(scannerManagerCache).getStatus(); + Mockito.doReturn("Honeywell").when(mockHandheldScannerDevice).getDeviceName(); + Mockito.doReturn("HANDHELD").when(mockHandheldScannerDevice).getScannerType(); + Mockito.doReturn("Zebra").when(mockFlatbedScannerDevice).getDeviceName(); + Mockito.doReturn("FLATBED").when(mockFlatbedScannerDevice).getScannerType(); + //act DeviceHealth actual = scannerManagerCache.getScannerHealthStatus("HANDHELD"); @@ -634,9 +643,12 @@ void getScannerHealthStatus_HandScanner() { @Test void getScannerHealthStatus_HandheldScanner_missing() { //arrange + scannerDevices.remove(mockHandheldScannerDevice); List devReady = new ArrayList<>(); - devReady.add(new DeviceHealthResponse("FLATBED", DeviceHealth.READY)); + devReady.add(new DeviceHealthResponse("Zebra", DeviceHealth.READY)); Mockito.doReturn(devReady).when(scannerManagerCache).getStatus(); + Mockito.doReturn("Zebra").when(mockFlatbedScannerDevice).getDeviceName(); + Mockito.doReturn("FLATBED").when(mockFlatbedScannerDevice).getScannerType(); //act DeviceHealth actual = scannerManagerCache.getScannerHealthStatus("HANDHELD");