зеркало из https://github.com/mozilla/smarthome.git
fix test for fixed discovery cfg handling (#1454)
Bug: https://github.com/eclipse/smarthome/issues/1414 Related to: https://github.com/eclipse/smarthome/pull/1451 Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
This commit is contained in:
Родитель
34fa968a99
Коммит
96bf6b7319
|
@ -12,6 +12,7 @@
|
|||
<booleanAttribute key="clearwslog" value="false"/>
|
||||
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
|
||||
<booleanAttribute key="default" value="false"/>
|
||||
<booleanAttribute key="default_auto_start" value="true"/>
|
||||
<booleanAttribute key="includeOptional" value="false"/>
|
||||
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
|
@ -33,8 +34,8 @@
|
|||
<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.3.1@default:default,com.google.guava@default:default,com.google.inject@default:default,com.ibm.icu.base@default:default,com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.transaction@default:false,javax.xml@default:default,org.antlr.runtime@default:default,org.apache.ant@default:default,org.apache.batik.css@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.commons.collections@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.codehaus.groovy@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.java7@default:default,org.eclipse.core.filesystem.win32.x86_64@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@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.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@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@-1:true,org.eclipse.swt.win32.win32.x86_64@default:default,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.xtend.lib@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.xtext.util@default:default,org.eclipse.xtext.xbase.lib@default:default,org.eclipse.xtext.xbase@default:default,org.eclipse.xtext@default:default,org.hamcrest.core@default:default,org.junit*4.11.0.v201303080030@default:default,org.objectweb.asm@default:default,org.slf4j.api@default:default,org.slf4j.jcl@default:default,org.slf4j.log4j@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
|
||||
<stringAttribute key="selected_workspace_plugins" value="org.eclipse.smarthome.config.core.test@default:default,org.eclipse.smarthome.config.core@default:default,org.eclipse.smarthome.config.discovery.test@default:false,org.eclipse.smarthome.config.discovery@default:true,org.eclipse.smarthome.config.xml.test@default:default,org.eclipse.smarthome.config.xml@default:default,org.eclipse.smarthome.core.autoupdate@default:default,org.eclipse.smarthome.core.persistence@default:default,org.eclipse.smarthome.core.scheduler@default:default,org.eclipse.smarthome.core.scriptengine@default:default,org.eclipse.smarthome.core.test@default:default,org.eclipse.smarthome.core.thing.test@default:default,org.eclipse.smarthome.core.thing@default:true,org.eclipse.smarthome.core@default:true,org.eclipse.smarthome.io.console@default:default,org.eclipse.smarthome.model.core@default:default,org.eclipse.smarthome.model.item.tests@default:default,org.eclipse.smarthome.model.item@default:default,org.eclipse.smarthome.model.persistence.tests@default:default,org.eclipse.smarthome.model.persistence@default:default,org.eclipse.smarthome.test@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@default:default,com.google.guava@default:default,com.google.inject@default:default,com.ibm.icu.base@default:default,com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.transaction@default:false,javax.xml@default:default,org.antlr.runtime@default:default,org.apache.ant@default:default,org.apache.batik.css@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.commons.collections@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.codehaus.groovy@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.java7@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@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.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@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@-1:true,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.xtend.lib.macro@default:default,org.eclipse.xtend.lib@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.xtext.smap@default:default,org.eclipse.xtext.util@default:default,org.eclipse.xtext.xbase.lib@default:default,org.eclipse.xtext.xbase@default:default,org.eclipse.xtext@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.objectweb.asm@default:default,org.slf4j.api@default:default,org.slf4j.jcl@default:default,org.slf4j.log4j@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
|
||||
<stringAttribute key="selected_workspace_plugins" value="org.eclipse.smarthome.config.core.test@default:false,org.eclipse.smarthome.config.core@default:default,org.eclipse.smarthome.config.discovery.test@default:false,org.eclipse.smarthome.config.discovery@default:true,org.eclipse.smarthome.config.xml.test@default:false,org.eclipse.smarthome.config.xml@default:default,org.eclipse.smarthome.core.autoupdate@default:default,org.eclipse.smarthome.core.persistence@default:default,org.eclipse.smarthome.core.scheduler@default:default,org.eclipse.smarthome.core.test@default:false,org.eclipse.smarthome.core.thing.test@default:false,org.eclipse.smarthome.core.thing@default:true,org.eclipse.smarthome.core@default:true,org.eclipse.smarthome.io.console@default:default,org.eclipse.smarthome.model.core@default:default,org.eclipse.smarthome.model.item.tests@default:false,org.eclipse.smarthome.model.item@default:default,org.eclipse.smarthome.model.persistence.tests@default:false,org.eclipse.smarthome.model.persistence@default:default,org.eclipse.smarthome.test@default:default"/>
|
||||
<booleanAttribute key="show_selected_only" value="false"/>
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
|
|
|
@ -20,7 +20,6 @@ import org.eclipse.smarthome.core.thing.ChannelUID
|
|||
import org.eclipse.smarthome.core.thing.ManagedThingProvider
|
||||
import org.eclipse.smarthome.core.thing.Thing
|
||||
import org.eclipse.smarthome.core.thing.ThingStatus
|
||||
import org.eclipse.smarthome.core.thing.ThingStatusDetail
|
||||
import org.eclipse.smarthome.core.thing.ThingTypeUID
|
||||
import org.eclipse.smarthome.core.thing.ThingUID
|
||||
import org.eclipse.smarthome.core.thing.binding.ThingHandler
|
||||
|
@ -45,7 +44,7 @@ import org.junit.Test
|
|||
* has to figure out if the configuration must be updated or not and triggers a further process
|
||||
* chain to update the {@link Thing} at the according {@link ThingHandler} if needed.
|
||||
* A dummy {@link ThingHandler} and {@link ThingHandlerFactory} is used to detect an updated event.
|
||||
*
|
||||
*
|
||||
* @author Michael Grammling - Initial Contribution
|
||||
* @author Thomas Höfer - Added representation
|
||||
*/
|
||||
|
@ -103,9 +102,7 @@ class DynamicThingUpdateOSGITest extends OSGiTest {
|
|||
this.thingUpdated = true
|
||||
this.updatedThing = updatedThing
|
||||
},
|
||||
setCallback: {callbackArg ->
|
||||
callback = callbackArg
|
||||
},
|
||||
setCallback: {callbackArg -> callback = callbackArg },
|
||||
] as ThingHandler )
|
||||
|
||||
return thingHandler
|
||||
|
@ -141,22 +138,27 @@ class DynamicThingUpdateOSGITest extends OSGiTest {
|
|||
void 'assert that an already existing Thing with another configuration is updated'() {
|
||||
assertThat inbox.getAll().size(), is(0)
|
||||
|
||||
final String CFG_IP_ADDRESS_KEY = "ipAddress";
|
||||
final String CFG_IP_ADDRESS_VALUE = "127.0.0.1";
|
||||
|
||||
ThingHandlerFactory thingHandlerFactory = createThingHandlerFactory()
|
||||
registerService(thingHandlerFactory, ThingHandlerFactory.class.name)
|
||||
|
||||
Thing thing = ThingBuilder.create(THING_TYPE_UID, THING_ID).build()
|
||||
thing.getConfiguration().put(CFG_IP_ADDRESS_KEY, null);
|
||||
managedThingProvider.add thing
|
||||
callback.statusUpdated(thing, ThingStatusInfoBuilder.create(ThingStatus.ONLINE).build())
|
||||
|
||||
Hashtable discoveryResultProps = [ "ipAddress" : "127.0.0.1" ]
|
||||
DiscoveryResult discoveryResult = new DiscoveryResultImpl(THING_UID, null, discoveryResultProps, "ipAddress", "DummyLabel1", DEFAULT_TTL)
|
||||
|
||||
final Map<String, Object> discoveryResultProps = new HashMap<>();
|
||||
discoveryResultProps.put(CFG_IP_ADDRESS_KEY, CFG_IP_ADDRESS_VALUE);
|
||||
DiscoveryResult discoveryResult = new DiscoveryResultImpl(THING_UID, null, discoveryResultProps, "DummyRepr", "DummyLabel1", DEFAULT_TTL)
|
||||
|
||||
inbox.add discoveryResult
|
||||
|
||||
assertThat inbox.getAll().size(), is(0)
|
||||
assertThat thingUpdated, is(true)
|
||||
assertThat updatedThing, not(null)
|
||||
assertThat updatedThing.configuration.get('ipAddress'), is('127.0.0.1')
|
||||
assertThat updatedThing.configuration.get(CFG_IP_ADDRESS_KEY), is(CFG_IP_ADDRESS_VALUE)
|
||||
|
||||
unregisterService(thingHandlerFactory)
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче