[hue] Fix compiler warnings (#15419)
* Fix compiler warnings * Fix integration test compiler/SAT warnings Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
This commit is contained in:
@@ -14,13 +14,16 @@ package org.openhab.binding.hue.internal;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.openhab.core.test.java.JavaOSGiTest;
|
||||
import org.openhab.core.thing.Thing;
|
||||
import org.openhab.core.thing.binding.ThingHandler;
|
||||
|
||||
/**
|
||||
* @author Markus Rathgeb - Initial contribution
|
||||
* @author Markus Rathgeb - migrated to plain Java test
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class AbstractHueOSGiTestParent extends JavaOSGiTest {
|
||||
|
||||
/**
|
||||
@@ -38,7 +41,7 @@ public class AbstractHueOSGiTestParent extends JavaOSGiTest {
|
||||
} else {
|
||||
assertNotNull(tmp);
|
||||
assertEquals(clazz, tmp.getClass());
|
||||
throw new RuntimeException();
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -25,6 +25,8 @@ import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
import org.eclipse.jetty.client.HttpClient;
|
||||
import org.eclipse.jetty.http.HttpStatus;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
@@ -61,16 +63,17 @@ import org.openhab.core.thing.binding.builder.ThingStatusInfoBuilder;
|
||||
* @author Denis Dudnik - switched to internally integrated source of Jue library
|
||||
* @author Markus Rathgeb - migrated to plain Java test
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class HueDeviceDiscoveryServiceOSGiTest extends AbstractHueOSGiTestParent {
|
||||
|
||||
protected DiscoveryListener discoveryListener;
|
||||
protected ThingRegistry thingRegistry;
|
||||
protected Bridge hueBridge;
|
||||
protected HueBridgeHandler hueBridgeHandler;
|
||||
protected HueDeviceDiscoveryService discoveryService;
|
||||
protected @Nullable DiscoveryListener discoveryListener;
|
||||
protected @NonNullByDefault({}) ThingRegistry thingRegistry;
|
||||
protected @NonNullByDefault({}) Bridge hueBridge;
|
||||
protected @NonNullByDefault({}) HueBridgeHandler hueBridgeHandler;
|
||||
protected @NonNullByDefault({}) HueDeviceDiscoveryService discoveryService;
|
||||
|
||||
protected final ThingTypeUID BRIDGE_THING_TYPE_UID = new ThingTypeUID("hue", "bridge");
|
||||
protected final ThingUID BRIDGE_THING_UID = new ThingUID(BRIDGE_THING_TYPE_UID, "testBridge");
|
||||
protected static final ThingTypeUID BRIDGE_THING_TYPE_UID = new ThingTypeUID("hue", "bridge");
|
||||
protected static final ThingUID BRIDGE_THING_UID = new ThingUID(BRIDGE_THING_TYPE_UID, "testBridge");
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
@@ -139,8 +142,8 @@ public class HueDeviceDiscoveryServiceOSGiTest extends AbstractHueOSGiTestParent
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<ThingUID> removeOlderResults(DiscoveryService source, long timestamp,
|
||||
Collection<ThingTypeUID> thingTypeUIDs, ThingUID bridgeUID) {
|
||||
public @Nullable Collection<ThingUID> removeOlderResults(DiscoveryService source, long timestamp,
|
||||
@Nullable Collection<ThingTypeUID> thingTypeUIDs, @Nullable ThingUID bridgeUID) {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -26,7 +26,8 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNull;
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.openhab.core.config.discovery.DiscoveryListener;
|
||||
@@ -43,26 +44,31 @@ import org.openhab.core.thing.ThingUID;
|
||||
* @author Christoph Knauf - Initial contribution
|
||||
* @author Markus Rathgeb - migrated to plain Java test
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class HueBridgeNupnpDiscoveryOSGITest extends JavaOSGiTest {
|
||||
|
||||
HueBridgeNupnpDiscovery sut;
|
||||
VolatileStorageService volatileStorageService = new VolatileStorageService();
|
||||
DiscoveryListener discoveryListener;
|
||||
Inbox inbox;
|
||||
private @NonNullByDefault({}) HueBridgeNupnpDiscovery sut;
|
||||
private VolatileStorageService volatileStorageService = new VolatileStorageService();
|
||||
private @Nullable DiscoveryListener discoveryListener;
|
||||
private @NonNullByDefault({}) Inbox inbox;
|
||||
|
||||
final ThingTypeUID BRIDGE_THING_TYPE_UID = new ThingTypeUID("hue", "bridge");
|
||||
final String ip1 = "192.168.31.17";
|
||||
final String ip2 = "192.168.30.28";
|
||||
final String sn1 = "001788fffe20057f";
|
||||
final String sn2 = "001788fffe141b41";
|
||||
final ThingUID BRIDGE_THING_UID_1 = new ThingUID(BRIDGE_THING_TYPE_UID, sn1);
|
||||
final ThingUID BRIDGE_THING_UID_2 = new ThingUID(BRIDGE_THING_TYPE_UID, sn2);
|
||||
final String validBridgeDiscoveryResult = "[{\"id\":\"" + sn1 + "\",\"internalipaddress\":" + ip1 + "},{\"id\":\""
|
||||
+ sn2 + "\",\"internalipaddress\":" + ip2 + "}]";
|
||||
String discoveryResult;
|
||||
String expBridgeDescription = "{\"name\":\"Philips hue\",\"datastoreversion\":\"149\",\"swversion\":\"1957113050\",\"apiversion\":\"1.57.0\",\"mac\":\"00:11:22:33:44\",\"bridgeid\":\"$SN\",\"factorynew\":false,\"replacesbridgeid\":null,\"modelid\":\"BSB002\",\"starterkitid\":\"\"}";
|
||||
private static final ThingTypeUID BRIDGE_THING_TYPE_UID = new ThingTypeUID("hue", "bridge");
|
||||
private static final String IP1 = "192.168.31.17";
|
||||
private static final String IP2 = "192.168.30.28";
|
||||
private static final String SN1 = "001788fffe20057f";
|
||||
private static final String SN2 = "001788fffe141b41";
|
||||
private static final ThingUID BRIDGE_THING_UID_1 = new ThingUID(BRIDGE_THING_TYPE_UID, SN1);
|
||||
private static final ThingUID BRIDGE_THING_UID_2 = new ThingUID(BRIDGE_THING_TYPE_UID, SN2);
|
||||
|
||||
private void checkDiscoveryResult(DiscoveryResult result, String expIp, String expSn) {
|
||||
private final String validBridgeDiscoveryResult = "[{\"id\":\"" + SN1 + "\",\"internalipaddress\":" + IP1
|
||||
+ "},{\"id\":\"" + SN2 + "\",\"internalipaddress\":" + IP2 + "}]";
|
||||
private @Nullable String discoveryResult;
|
||||
private String expBridgeDescription = "{\"name\":\"Philips hue\",\"datastoreversion\":\"149\",\"swversion\":\"1957113050\",\"apiversion\":\"1.57.0\",\"mac\":\"00:11:22:33:44\",\"bridgeid\":\"$SN\",\"factorynew\":false,\"replacesbridgeid\":null,\"modelid\":\"BSB002\",\"starterkitid\":\"\"}";
|
||||
|
||||
private void checkDiscoveryResult(@Nullable DiscoveryResult result, String expIp, String expSn) {
|
||||
if (result == null) {
|
||||
return;
|
||||
}
|
||||
assertThat(result.getBridgeUID(), nullValue());
|
||||
assertThat(result.getLabel(), is(String.format(DISCOVERY_LABEL_PATTERN, expIp)));
|
||||
assertThat(result.getProperties().get("ipAddress"), is(expIp));
|
||||
@@ -88,19 +94,19 @@ public class HueBridgeNupnpDiscoveryOSGITest extends JavaOSGiTest {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String doGetRequest(String url) throws IOException {
|
||||
protected @Nullable String doGetRequest(String url) throws IOException {
|
||||
if (url.contains("meethue")) {
|
||||
return discoveryResult;
|
||||
} else if (url.contains(ip1)) {
|
||||
return expBridgeDescription.replaceAll("$SN", sn1);
|
||||
} else if (url.contains(ip2)) {
|
||||
return expBridgeDescription.replaceAll("$SN", sn2);
|
||||
} else if (url.contains(IP1)) {
|
||||
return expBridgeDescription.replaceAll("$SN", SN1);
|
||||
} else if (url.contains(IP2)) {
|
||||
return expBridgeDescription.replaceAll("$SN", SN2);
|
||||
}
|
||||
throw new IOException();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isClip2Supported(@NonNull String ipAddress) {
|
||||
protected boolean isClip2Supported(String ipAddress) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -147,8 +153,8 @@ public class HueBridgeNupnpDiscoveryOSGITest extends JavaOSGiTest {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<ThingUID> removeOlderResults(DiscoveryService source, long timestamp,
|
||||
Collection<ThingTypeUID> thingTypeUIDs, ThingUID bridgeUID) {
|
||||
public @Nullable Collection<ThingUID> removeOlderResults(DiscoveryService source, long timestamp,
|
||||
@Nullable Collection<ThingTypeUID> thingTypeUIDs, @Nullable ThingUID bridgeUID) {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
@@ -158,9 +164,9 @@ public class HueBridgeNupnpDiscoveryOSGITest extends JavaOSGiTest {
|
||||
waitForAssert(() -> {
|
||||
assertThat(results.size(), is(2));
|
||||
assertThat(results.get(BRIDGE_THING_UID_1), is(notNullValue()));
|
||||
checkDiscoveryResult(results.get(BRIDGE_THING_UID_1), ip1, sn1);
|
||||
checkDiscoveryResult(results.get(BRIDGE_THING_UID_1), IP1, SN1);
|
||||
assertThat(results.get(BRIDGE_THING_UID_2), is(notNullValue()));
|
||||
checkDiscoveryResult(results.get(BRIDGE_THING_UID_2), ip2, sn2);
|
||||
checkDiscoveryResult(results.get(BRIDGE_THING_UID_2), IP2, SN2);
|
||||
|
||||
final List<DiscoveryResult> inboxResults = inbox.stream().filter(forThingTypeUID(BRIDGE_THING_TYPE_UID))
|
||||
.collect(Collectors.toList());
|
||||
@@ -195,8 +201,8 @@ public class HueBridgeNupnpDiscoveryOSGITest extends JavaOSGiTest {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<ThingUID> removeOlderResults(DiscoveryService source, long timestamp,
|
||||
Collection<ThingTypeUID> thingTypeUIDs, ThingUID bridgeUID) {
|
||||
public @Nullable Collection<ThingUID> removeOlderResults(DiscoveryService source, long timestamp,
|
||||
@Nullable Collection<ThingTypeUID> thingTypeUIDs, @Nullable ThingUID bridgeUID) {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
@@ -254,7 +260,7 @@ public class HueBridgeNupnpDiscoveryOSGITest extends JavaOSGiTest {
|
||||
|
||||
// invalid bridge description
|
||||
expBridgeDescription = "";
|
||||
discoveryResult = "[{\"id\":\"001788fffe20057f\",\"internalipaddress\":" + ip1 + "}]";
|
||||
discoveryResult = "[{\"id\":\"001788fffe20057f\",\"internalipaddress\":" + IP1 + "}]";
|
||||
sut.startScan();
|
||||
waitForAssert(() -> {
|
||||
assertThat(results.size(), is(0));
|
||||
|
||||
@@ -23,6 +23,7 @@ import java.io.IOException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jetty.client.HttpClient;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -50,15 +51,15 @@ import org.openhab.core.thing.ThingUID;
|
||||
* @author Michael Grammling - Initial contribution
|
||||
* @author Denis Dudnik - switched to internally integrated source of Jue library
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class HueBridgeHandlerOSGiTest extends AbstractHueOSGiTestParent {
|
||||
|
||||
private static final ThingTypeUID BRIDGE_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "bridge");
|
||||
private static final String TEST_USER_NAME = "eshTestUser";
|
||||
private static final String DUMMY_HOST = "1.2.3.4";
|
||||
|
||||
private ThingRegistry thingRegistry;
|
||||
|
||||
private ScheduledExecutorService scheduler;
|
||||
private @NonNullByDefault({}) ThingRegistry thingRegistry;
|
||||
private @NonNullByDefault({}) ScheduledExecutorService scheduler;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
|
||||
Reference in New Issue
Block a user