Skip to content
This repository has been archived by the owner on May 7, 2020. It is now read-only.

Commit

Permalink
Converted Hue tests from Groovy to Java (#5528)
Browse files Browse the repository at this point in the history
* converted hue tests from groovy to java
* exposing HueClient instead of HueBridgeHandler
* converted light handler test to unit-test
* fixed launch config
* added some javadoc
* removed AsyncResultWrapper from java tests
* long live copy-and-paste!

May the call hierarchy in alyways be with you - except in groovy, of course... :-/

Signed-off-by: Simon Kaufmann <simon.kfm@googlemail.com>
  • Loading branch information
sjsf authored and htreu committed May 3, 2018
1 parent 379069a commit 612f107
Show file tree
Hide file tree
Showing 16 changed files with 721 additions and 902 deletions.
Expand Up @@ -21,6 +21,7 @@
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicReference;

import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
Expand All @@ -45,7 +46,6 @@
import org.eclipse.smarthome.core.thing.events.ThingRemovedEvent;
import org.eclipse.smarthome.core.thing.events.ThingUpdatedEvent;
import org.eclipse.smarthome.core.types.Command;
import org.eclipse.smarthome.test.AsyncResultWrapper;
import org.eclipse.smarthome.test.java.JavaOSGiTest;
import org.junit.After;
import org.junit.Before;
Expand Down Expand Up @@ -200,7 +200,7 @@ public void assertThatCreateThingDelegatesToRegisteredThingHandlerFactory() {
ThingUID expectedBridgeUID = new ThingUID(THING_TYPE_UID, THING2_ID);
String expectedLabel = "Test Thing";

AsyncResultWrapper<Thing> thingResultWrapper = new AsyncResultWrapper<Thing>();
AtomicReference<Thing> thingResultWrapper = new AtomicReference<Thing>();

ThingRegistry thingRegistry = getService(ThingRegistry.class);

Expand Down Expand Up @@ -234,9 +234,9 @@ public boolean supportsThingType(@NonNull ThingTypeUID thingTypeUID) {
Thing thing = thingRegistry.createThingOfType(expectedThingTypeUID, expectedThingUID, expectedBridgeUID,
expectedLabel, expectedConfiguration);
waitForAssert(() -> {
assertTrue(thingResultWrapper.isSet());
assertTrue(thingResultWrapper.get() != null);
});
assertThat(thing, is(thingResultWrapper.getWrappedObject()));
assertThat(thing, is(thingResultWrapper.get()));
}

private void registerThingHandlerFactory(ThingHandlerFactory thingHandlerFactory) {
Expand Down
Expand Up @@ -2,8 +2,6 @@
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src/test/groovy"/>
<classpathentry kind="src" path="src/test/java"/>
<classpathentry exported="true" kind="con" path="GROOVY_DSL_SUPPORT"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Expand Up @@ -22,7 +22,6 @@
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.groovy.core.groovyNature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
Expand Down
Expand Up @@ -10,12 +10,6 @@ Fragment-Host: org.eclipse.smarthome.binding.hue
Import-Package:
com.google.gson,
com.google.gson.reflect,
groovy.json,
groovy.lang,
org.codehaus.groovy.reflection,
org.codehaus.groovy.runtime,
org.codehaus.groovy.runtime.callsite,
org.codehaus.groovy.runtime.typehandling,
org.eclipse.jdt.annotation;resolution:=optional,
org.eclipse.jetty.client,
org.eclipse.smarthome.config.discovery.inbox,
Expand All @@ -33,4 +27,6 @@ Import-Package:
org.junit;version="4.0.0",
org.jupnp.model,
org.jupnp.model.types,
org.mockito,
org.mockito.stubbing,
org.osgi.service.device
Expand Up @@ -34,7 +34,7 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.equinox.p2.director.app.product"/>
<booleanAttribute key="run_in_ui_thread" value="false"/>
<stringAttribute key="selected_target_plugins" value="ch.qos.logback.classic@default:default,ch.qos.logback.core@default:default,ch.qos.logback.slf4j@default:false,com.eclipsesource.jaxrs.jersey-min@default:default,com.google.gson*2.2.4.v201311231704@default:default,com.google.gson*2.7.0.v20170129-0911@default:default,com.google.guava@default:default,com.ibm.icu.base@default:default,com.ibm.icu@default:default,javax.activation@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet*3.1.0.v201410161800@default:default,javax.transaction@default:false,javax.xml.bind@default:default,javax.xml.stream@default:default,javax.xml@default:default,net.bytebuddy.byte-buddy-agent@default:default,net.bytebuddy.byte-buddy@default:default,org.apache.ant@default:default,org.apache.batik.css@default:default,org.apache.batik.util@default:default,org.apache.commons.codec*1.6.0.v201305230611@default:default,org.apache.commons.codec*1.9.0.v20170208-1614@default:default,org.apache.commons.collections@default:default,org.apache.commons.exec@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.felix.scr@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.codehaus.groovy@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.supplement@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.continuation*9.3.15.v20161220@default:default,org.eclipse.jetty.http*9.3.15.v20161220@default:default,org.eclipse.jetty.io*9.3.15.v20161220@default:default,org.eclipse.jetty.util*9.3.15.v20161220@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.hamcrest.core@default:default,org.hamcrest.integration@default:default,org.hamcrest.library@default:default,org.hamcrest.text@default:default,org.hamcrest@default:default,org.junit@default:default,org.jupnp@default:true,org.mockito.mockito-core@default:default,org.objenesis@default:default,org.slf4j.api@default:default,org.slf4j.jcl@default:default,org.w3c.css.sac@default:default"/>
<stringAttribute key="selected_target_plugins" value="ch.qos.logback.classic@default:default,ch.qos.logback.core@default:default,ch.qos.logback.slf4j@default:false,com.eclipsesource.jaxrs.jersey-min@default:default,com.google.gson*2.2.4.v201311231704@default:default,com.google.gson*2.7.0.v20170129-0911@default:default,com.google.guava@default:default,com.ibm.icu.base@default:default,com.ibm.icu@default:default,javax.activation@default:default,javax.annotation@default:default,javax.inject@default:default,javax.measure.unit-api@default:default,javax.servlet*3.1.0.v201410161800@default:default,javax.transaction@default:false,javax.xml.bind@default:default,javax.xml.stream@default:default,javax.xml@default:default,net.bytebuddy.byte-buddy-agent@default:default,net.bytebuddy.byte-buddy@default:default,org.apache.ant@default:default,org.apache.batik.css@default:default,org.apache.batik.util@default:default,org.apache.commons.codec*1.6.0.v201305230611@default:default,org.apache.commons.codec*1.9.0.v20170208-1614@default:default,org.apache.commons.collections@default:default,org.apache.commons.exec@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.felix.scr@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.codehaus.groovy@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.supplement@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.continuation*9.3.15.v20161220@default:default,org.eclipse.jetty.http*9.3.15.v20161220@default:default,org.eclipse.jetty.io*9.3.15.v20161220@default:default,org.eclipse.jetty.util*9.3.15.v20161220@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.hamcrest.core@default:default,org.hamcrest.integration@default:default,org.hamcrest.library@default:default,org.hamcrest.text@default:default,org.hamcrest@default:default,org.junit@default:default,org.jupnp@default:true,org.mockito.mockito-core@default:default,org.objenesis@default:default,org.slf4j.api@default:default,org.slf4j.jcl@default:default,org.w3c.css.sac@default:default,tec.uom.lib.uom-lib-common@default:default,tec.uom.se@default:default"/>
<stringAttribute key="selected_workspace_plugins" value="org.eclipse.smarthome.binding.hue.test@default:false,org.eclipse.smarthome.binding.hue@default:true,org.eclipse.smarthome.config.core@default:default,org.eclipse.smarthome.config.discovery.upnp@default:default,org.eclipse.smarthome.config.discovery@default:true,org.eclipse.smarthome.config.xml@default:true,org.eclipse.smarthome.core.autoupdate@default:default,org.eclipse.smarthome.core.binding.xml@default:true,org.eclipse.smarthome.core.thing.xml@default:true,org.eclipse.smarthome.core.thing@default:true,org.eclipse.smarthome.core@default:true,org.eclipse.smarthome.io.console@default:true,org.eclipse.smarthome.io.net@default:default,org.eclipse.smarthome.test@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
Expand Down

0 comments on commit 612f107

Please sign in to comment.