@Test public void returnsAvailablePortsOfAllDevicesInAnExchange() throws Exception { Map<String, Object> device1 = detailsForDevice("exchangeCode", "exchangeName", "exchangePostcode1", "hostname1", "serialNumber1", ADSL, 2); Map<String, Object> device2 = detailsForDevice("exchangeCode", "exchangeName", "exchangePostcode2", "hostname2", "serialNumber2", FIBRE, 4); when(jdbcTemplate.queryForList(anyString(), eq("exchangeCode"))).thenReturn(asList(device1, device2)); List<BroadbandAccessDevice> broadbandAccessDevices = broadbandAccessDeviceDatabaseDataProvider.getAvailablePortsOfAllDevicesInExchange("exchangeCode"); assertThat(broadbandAccessDevices).hasSize(2); thenTheDeviceHasAvailablePortsWithType(broadbandAccessDevices.get(0), 2, ADSL); thenTheDeviceHasAvailablePortsWithType(broadbandAccessDevices.get(1), 4, FIBRE); }
@Test public void returnsSerialNumberOfADevice() throws Exception { givenDeviceHasSerialNumber("hostname1", "serialNumber1"); String serialNumber = broadbandAccessDeviceDatabaseDataProvider.getSerialNumber("hostname1"); assertThat(serialNumber).isEqualTo("serialNumber1"); }
private void givenThereIsADevice(String exchangeCode, String exchangeName, String exchangePostcode, String hostname, String serialNumber, DeviceType type, int availablePorts) { Map<String, Object> details = detailsForDevice(exchangeCode, exchangeName, exchangePostcode, hostname, serialNumber, type, availablePorts); when(jdbcTemplate.queryForMap(anyString(), anyVararg())).thenReturn(details); }
@Test public void returnsTheHostnameOfAllDevices() throws Exception { thereThereAreDevices("hostname1", "hostname2", "hostname3"); List<String> allDeviceHostnames = broadbandAccessDeviceDatabaseDataProvider.getAllDeviceHostnames(); assertThat(allDeviceHostnames).containsOnly("hostname1", "hostname2", "hostname3"); }
@Test public void returnsNullSerialNumberForADeviceThatDoesNotExist() throws Exception { givenDeviceDoesNotExist("hostname1"); String serialNumber = broadbandAccessDeviceDatabaseDataProvider.getSerialNumber("hostname1"); assertThat(serialNumber).isNull(); }
@Test public void returnsTheDetailsOfADevice() throws Exception { givenThereIsADevice("exchangeCode", "exchangeName", "exchangePostcode", "hostname", "serialNumber", ADSL, 123); BroadbandAccessDevice device = broadbandAccessDeviceDatabaseDataProvider.getDetails("hostname"); assertThat(device.getHostname()).isEqualTo("hostname"); assertThat(device.getSerialNumber()).isEqualTo("serialNumber"); assertThat(device.getType()).isEqualTo(ADSL); assertThat(device.getAvailablePorts()).isEqualTo(123); assertThat(device.getExchange().getCode()).isEqualTo("exchangeCode"); assertThat(device.getExchange().getName()).isEqualTo("exchangeName"); assertThat(device.getExchange().getPostCode()).isEqualTo("exchangePostcode"); }
@Test public void returnsNullWhenTheDeviceIsNotFound() throws Exception { givenThereIsntADevice(); BroadbandAccessDevice device = broadbandAccessDeviceDatabaseDataProvider.getDetails("hostname"); assertThat(device).isNull(); }
@Test public void returnsEmptyListWhenThereAreNoDevices() throws Exception { givenThereAreNoDevices(); List<String> allDeviceHostnames = broadbandAccessDeviceDatabaseDataProvider.getAllDeviceHostnames(); assertThat(allDeviceHostnames).isEmpty(); }