mirror of
https://github.com/danieldemus/openhab-core.git
synced 2025-01-26 20:21:33 +01:00
Reenable org.openhab.core.automation.integration.tests (#1061)
- Reenable org.openhab.core.automation.integration.tests (#1061) Signed-off-by: Wouter Born <github@maindrain.net>
This commit is contained in:
parent
8e3a521083
commit
871517008e
@ -1,95 +1,48 @@
|
|||||||
-include: ../itest-common.bndrun
|
-include: ../itest-common.bndrun
|
||||||
|
|
||||||
Bundle-SymbolicName: ${project.artifactId}
|
Bundle-SymbolicName: ${project.artifactId}
|
||||||
Fragment-Host: org.openhab.core.automation.integration
|
|
||||||
|
|
||||||
-runrequires: bnd.identity;id='org.openhab.core.automation.integration.tests'
|
-runrequires: bnd.identity;id='org.openhab.core.automation.integration.tests'
|
||||||
|
|
||||||
|
# We would like to use the "volatile" storage only
|
||||||
|
-runblacklist: \
|
||||||
|
bnd.identity;id='org.openhab.core.storage.json',\
|
||||||
|
bnd.identity;id='org.openhab.core.storage.mapdb'
|
||||||
|
|
||||||
#
|
#
|
||||||
# done
|
# done
|
||||||
#
|
#
|
||||||
-runbundles: \
|
-runbundles: \
|
||||||
ch.qos.logback.classic;version='[1.2.0,1.2.1)',\
|
ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
|
||||||
ch.qos.logback.core;version='[1.2.0,1.2.1)',\
|
ch.qos.logback.core;version='[1.2.3,1.2.4)',\
|
||||||
com.google.gson;version='[2.7.0,2.7.1)',\
|
com.google.gson;version='[2.8.2,2.8.3)',\
|
||||||
com.google.guava;version='[15.0.0,15.0.1)',\
|
|
||||||
com.google.inject;version='[3.0.0,3.0.1)',\
|
|
||||||
javax.measure.unit-api;version='[1.0.0,1.0.1)',\
|
javax.measure.unit-api;version='[1.0.0,1.0.1)',\
|
||||||
joda-time;version='[2.9.2,2.9.3)',\
|
|
||||||
log4j;version='[1.2.17,1.2.18)',\
|
|
||||||
org.antlr.runtime;version='[3.2.0,3.2.1)',\
|
|
||||||
org.apache.commons.collections;version='[3.2.1,3.2.2)',\
|
org.apache.commons.collections;version='[3.2.1,3.2.2)',\
|
||||||
org.apache.commons.exec;version='[1.1.0,1.1.1)',\
|
|
||||||
org.apache.commons.io;version='[2.2.0,2.2.1)',\
|
org.apache.commons.io;version='[2.2.0,2.2.1)',\
|
||||||
org.apache.commons.lang;version='[2.6.0,2.6.1)',\
|
org.apache.commons.lang;version='[2.6.0,2.6.1)',\
|
||||||
org.apache.felix.configadmin;version='[1.9.8,1.9.9)',\
|
|
||||||
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
|
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
|
||||||
org.apache.felix.scr;version='[2.1.10,2.1.11)',\
|
org.apache.felix.scr;version='[2.1.10,2.1.11)',\
|
||||||
org.apache.servicemix.bundles.commons-codec;version='[1.3.0,1.3.1)',\
|
org.apache.servicemix.specs.activation-api-1.1;version='[2.9.0,2.9.1)',\
|
||||||
org.apache.servicemix.bundles.commons-httpclient;version='[3.1.0,3.1.1)',\
|
org.apache.servicemix.specs.annotation-api-1.3;version='[1.3.0,1.3.1)',\
|
||||||
org.apache.xbean.bundleutils;version='[4.6.0,4.6.1)',\
|
org.apache.servicemix.specs.jaxb-api-2.2;version='[2.9.0,2.9.1)',\
|
||||||
org.apache.xbean.finder;version='[4.6.0,4.6.1)',\
|
org.apache.servicemix.specs.stax-api-1.2;version='[2.9.0,2.9.1)',\
|
||||||
org.eclipse.emf.common;version='[2.12.0,2.12.1)',\
|
|
||||||
org.eclipse.emf.ecore;version='[2.12.0,2.12.1)',\
|
|
||||||
org.eclipse.emf.ecore.xmi;version='[2.12.0,2.12.1)',\
|
|
||||||
org.eclipse.equinox.common;version='[3.8.0,3.8.1)',\
|
|
||||||
org.eclipse.equinox.event;version='[1.4.300,1.4.301)',\
|
org.eclipse.equinox.event;version='[1.4.300,1.4.301)',\
|
||||||
org.eclipse.jetty.client;version='[9.4.11,9.4.12)',\
|
|
||||||
org.eclipse.jetty.http;version='[9.4.11,9.4.12)',\
|
org.eclipse.jetty.http;version='[9.4.11,9.4.12)',\
|
||||||
org.eclipse.jetty.io;version='[9.4.11,9.4.12)',\
|
org.eclipse.jetty.io;version='[9.4.11,9.4.12)',\
|
||||||
org.eclipse.jetty.proxy;version='[9.4.11,9.4.12)',\
|
|
||||||
org.eclipse.jetty.security;version='[9.4.11,9.4.12)',\
|
org.eclipse.jetty.security;version='[9.4.11,9.4.12)',\
|
||||||
org.eclipse.jetty.server;version='[9.4.11,9.4.12)',\
|
org.eclipse.jetty.server;version='[9.4.11,9.4.12)',\
|
||||||
org.eclipse.jetty.servlet;version='[9.4.11,9.4.12)',\
|
org.eclipse.jetty.servlet;version='[9.4.11,9.4.12)',\
|
||||||
org.eclipse.jetty.util;version='[9.4.11,9.4.12)',\
|
org.eclipse.jetty.util;version='[9.4.11,9.4.12)',\
|
||||||
org.eclipse.jetty.websocket.api;version='[9.4.11,9.4.12)',\
|
org.openhab.core.automation.integration.tests;version='[2.5.0,2.5.1)',\
|
||||||
org.eclipse.jetty.websocket.client;version='[9.4.11,9.4.12)',\
|
org.openhab.core.automation;version='[2.5.0,2.5.1)',\
|
||||||
org.eclipse.jetty.websocket.common;version='[9.4.11,9.4.12)',\
|
|
||||||
org.eclipse.jetty.xml;version='[9.4.11,9.4.12)',\
|
|
||||||
org.eclipse.xtend.lib;version='[2.14.0,2.14.1)',\
|
|
||||||
org.eclipse.xtend.lib.macro;version='[2.14.0,2.14.1)',\
|
|
||||||
org.eclipse.xtext;version='[2.14.0,2.14.1)',\
|
|
||||||
org.eclipse.xtext.common.types;version='[2.14.0,2.14.1)',\
|
|
||||||
org.eclipse.xtext.util;version='[2.14.0,2.14.1)',\
|
|
||||||
org.eclipse.xtext.xbase;version='[2.14.0,2.14.1)',\
|
|
||||||
org.eclipse.xtext.xbase.lib;version='[2.14.0,2.14.1)',\
|
|
||||||
org.glassfish.hk2.external.aopalliance-repackaged;version='[2.4.0,2.4.1)',\
|
|
||||||
org.glassfish.hk2.external.javax.inject;version='[2.4.0,2.4.1)',\
|
|
||||||
org.objectweb.asm;version='[6.1.1,6.1.2)',\
|
|
||||||
org.objectweb.asm.commons;version='[6.1.1,6.1.2)',\
|
|
||||||
org.objectweb.asm.tree;version='[6.1.1,6.1.2)',\
|
|
||||||
org.openhab.core.compat1x;version='[2.5.0,2.5.1)',\
|
|
||||||
org.ops4j.pax.swissbox.optional.jcl;version='[1.8.2,1.8.3)',\
|
|
||||||
org.ops4j.pax.web.pax-web-api;version='[7.2.3,7.2.4)',\
|
|
||||||
org.ops4j.pax.web.pax-web-jetty;version='[7.2.3,7.2.4)',\
|
|
||||||
org.ops4j.pax.web.pax-web-runtime;version='[7.2.3,7.2.4)',\
|
|
||||||
org.ops4j.pax.web.pax-web-spi;version='[7.2.3,7.2.4)',\
|
|
||||||
org.osgi.service.event;version='[1.4.0,1.4.1)',\
|
|
||||||
slf4j.api;version='[1.7.21,1.7.22)',\
|
|
||||||
tec.uom.lib.uom-lib-common;version='[1.0.2,1.0.3)',\
|
|
||||||
tec.uom.se;version='[1.0.8,1.0.9)',\
|
|
||||||
osgi.enroute.hamcrest.wrapper;version='[1.3.0,1.3.1)',\
|
|
||||||
osgi.enroute.junit.wrapper;version='[4.12.0,4.12.1)',\
|
|
||||||
org.openhab.core;version='[2.5.0,2.5.1)',\
|
|
||||||
org.openhab.core.audio;version='[2.5.0,2.5.1)',\
|
|
||||||
org.openhab.core.compat1x.tests;version='[2.5.0,2.5.1)',\
|
|
||||||
org.openhab.core.config.core;version='[2.5.0,2.5.1)',\
|
org.openhab.core.config.core;version='[2.5.0,2.5.1)',\
|
||||||
org.openhab.core.io.console;version='[2.5.0,2.5.1)',\
|
org.openhab.core.io.console;version='[2.5.0,2.5.1)',\
|
||||||
org.openhab.core.io.http;version='[2.5.0,2.5.1)',\
|
org.openhab.core.test;version='[2.5.0,2.5.1)',\
|
||||||
org.openhab.core.io.net;version='[2.5.0,2.5.1)',\
|
|
||||||
org.openhab.core.model.core;version='[2.5.0,2.5.1)',\
|
|
||||||
org.openhab.core.model.item;version='[2.5.0,2.5.1)',\
|
|
||||||
org.openhab.core.model.persistence;version='[2.5.0,2.5.1)',\
|
|
||||||
org.openhab.core.model.script;version='[2.5.0,2.5.1)',\
|
|
||||||
org.openhab.core.model.script.runtime;version='[2.5.0,2.5.1)',\
|
|
||||||
org.openhab.core.model.sitemap;version='[2.5.0,2.5.1)',\
|
|
||||||
org.openhab.core.persistence;version='[2.5.0,2.5.1)',\
|
|
||||||
org.openhab.core.scheduler;version='[2.5.0,2.5.1)',\
|
|
||||||
org.openhab.core.thing;version='[2.5.0,2.5.1)',\
|
org.openhab.core.thing;version='[2.5.0,2.5.1)',\
|
||||||
org.openhab.core.transform;version='[2.5.0,2.5.1)',\
|
org.openhab.core;version='[2.5.0,2.5.1)',\
|
||||||
org.openhab.core.ui;version='[2.5.0,2.5.1)',\
|
org.osgi.service.event;version='[1.4.0,1.4.1)',\
|
||||||
org.openhab.core.voice;version='[2.5.0,2.5.1)',\
|
osgi.enroute.hamcrest.wrapper;version='[1.3.0,1.3.1)',\
|
||||||
org.openhab.core.model.persistence.runtime;version='[2.5.0,2.5.1)',\
|
osgi.enroute.junit.wrapper;version='[4.12.0,4.12.1)',\
|
||||||
org.openhab.core.model.rule;version='[2.5.0,2.5.1)',\
|
slf4j.api;version='[1.7.25,1.7.26)',\
|
||||||
org.openhab.core.model.thing;version='[2.5.0,2.5.1)',\
|
tec.uom.lib.uom-lib-common;version='[1.0.3,1.0.4)',\
|
||||||
org.openhab.core.storage.json;version='[2.5.0,2.5.1)'
|
tec.uom.se;version='[1.0.10,1.0.11)'
|
||||||
|
@ -21,7 +21,7 @@ import java.util.HashSet;
|
|||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.eclipse.jdt.annotation.NonNull;
|
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||||
import org.eclipse.jdt.annotation.Nullable;
|
import org.eclipse.jdt.annotation.Nullable;
|
||||||
import org.eclipse.smarthome.core.common.registry.ProviderChangeListener;
|
import org.eclipse.smarthome.core.common.registry.ProviderChangeListener;
|
||||||
import org.eclipse.smarthome.core.events.Event;
|
import org.eclipse.smarthome.core.events.Event;
|
||||||
@ -72,7 +72,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
*/
|
*/
|
||||||
public class AutomationIntegrationJsonTest extends JavaOSGiTest {
|
public class AutomationIntegrationJsonTest extends JavaOSGiTest {
|
||||||
|
|
||||||
final Logger logger = LoggerFactory.getLogger(AutomationIntegrationJsonTest.class);
|
private final Logger logger = LoggerFactory.getLogger(AutomationIntegrationJsonTest.class);
|
||||||
private EventPublisher eventPublisher;
|
private EventPublisher eventPublisher;
|
||||||
private ItemRegistry itemRegistry;
|
private ItemRegistry itemRegistry;
|
||||||
private RuleRegistry ruleRegistry;
|
private RuleRegistry ruleRegistry;
|
||||||
@ -92,14 +92,15 @@ public class AutomationIntegrationJsonTest extends JavaOSGiTest {
|
|||||||
|
|
||||||
getService(ItemRegistry.class);
|
getService(ItemRegistry.class);
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
ItemProvider itemProvider = new ItemProvider() {
|
ItemProvider itemProvider = new ItemProvider() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addProviderChangeListener(@NonNull ProviderChangeListener<@NonNull Item> listener) {
|
public void addProviderChangeListener(ProviderChangeListener<Item> listener) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Collection<@NonNull Item> getAll() {
|
public Collection<Item> getAll() {
|
||||||
HashSet<Item> items = new HashSet<>();
|
HashSet<Item> items = new HashSet<>();
|
||||||
items.add(new SwitchItem("myMotionItem"));
|
items.add(new SwitchItem("myMotionItem"));
|
||||||
items.add(new SwitchItem("myPresenceItem"));
|
items.add(new SwitchItem("myPresenceItem"));
|
||||||
@ -117,17 +118,18 @@ public class AutomationIntegrationJsonTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeProviderChangeListener(@NonNull ProviderChangeListener<@NonNull Item> listener) {
|
public void removeProviderChangeListener(ProviderChangeListener<Item> listener) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
registerService(itemProvider);
|
registerService(itemProvider);
|
||||||
registerVolatileStorageService();
|
registerVolatileStorageService();
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
EventSubscriber ruleEventHandler = new EventSubscriber() {
|
EventSubscriber ruleEventHandler = new EventSubscriber() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Set<@NonNull String> getSubscribedEventTypes() {
|
public Set<String> getSubscribedEventTypes() {
|
||||||
return Collections.singleton(RuleStatusInfoEvent.TYPE);
|
return Collections.singleton(RuleStatusInfoEvent.TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -137,9 +139,8 @@ public class AutomationIntegrationJsonTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receive(@NonNull Event e) {
|
public void receive(Event e) {
|
||||||
logger.info("RuleEvent: " + e.getTopic() + " --> " + e.getPayload());
|
logger.info("RuleEvent: {} --> {}", e.getTopic(), e.getPayload());
|
||||||
System.out.println("RuleEvent: " + e.getTopic() + " --> " + e.getPayload());
|
|
||||||
if (e.getPayload().contains("RUNNING")) {
|
if (e.getPayload().contains("RUNNING")) {
|
||||||
ruleEvent = e;
|
ruleEvent = e;
|
||||||
}
|
}
|
||||||
@ -251,11 +252,6 @@ public class AutomationIntegrationJsonTest extends JavaOSGiTest {
|
|||||||
assertThat(trigger.get().getConfiguration().get("eventSource"), is("myMotionItem"));
|
assertThat(trigger.get().getConfiguration().get("eventSource"), is("myMotionItem"));
|
||||||
assertThat(trigger.get().getConfiguration().get("eventTopic"), is("smarthome/items/*"));
|
assertThat(trigger.get().getConfiguration().get("eventTopic"), is("smarthome/items/*"));
|
||||||
assertThat(trigger.get().getConfiguration().get("eventTypes"), is("ItemStateEvent"));
|
assertThat(trigger.get().getConfiguration().get("eventTypes"), is("ItemStateEvent"));
|
||||||
// def condition1 = rule.conditions.find{it.id.equals("ItemStateConditionID")} as Condition
|
|
||||||
// assertThat(condition1, is(notNullValue())
|
|
||||||
// assertThat(condition1.typeUID, is("core.GenericEventCondition")
|
|
||||||
// assertThat(condition1.configuration.get("topic"), is("smarthome/items/myMotionItem/state")
|
|
||||||
// assertThat(condition1.configuration.get("payload"), is(".*ON.*")
|
|
||||||
Optional<? extends Action> action = rule.getActions().stream()
|
Optional<? extends Action> action = rule.getActions().stream()
|
||||||
.filter(a -> a.getId().equals("ItemPostCommandActionID")).findFirst();
|
.filter(a -> a.getId().equals("ItemPostCommandActionID")).findFirst();
|
||||||
assertThat(action.isPresent(), is(true));
|
assertThat(action.isPresent(), is(true));
|
||||||
@ -310,10 +306,11 @@ public class AutomationIntegrationJsonTest extends JavaOSGiTest {
|
|||||||
// run the rule to check if the runtime rule has resolved module references and is executed successfully
|
// run the rule to check if the runtime rule has resolved module references and is executed successfully
|
||||||
EventPublisher eventPublisher = getService(EventPublisher.class);
|
EventPublisher eventPublisher = getService(EventPublisher.class);
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
EventSubscriber itemEventHandler = new EventSubscriber() {
|
EventSubscriber itemEventHandler = new EventSubscriber() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Set<@NonNull String> getSubscribedEventTypes() {
|
public Set<String> getSubscribedEventTypes() {
|
||||||
return Collections.singleton(ItemCommandEvent.TYPE);
|
return Collections.singleton(ItemCommandEvent.TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -323,7 +320,7 @@ public class AutomationIntegrationJsonTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receive(@NonNull Event e) {
|
public void receive(Event e) {
|
||||||
logger.info("Event: {}", e.getTopic());
|
logger.info("Event: {}", e.getTopic());
|
||||||
if (e.getTopic().contains("myLampItem")) {
|
if (e.getTopic().contains("myLampItem")) {
|
||||||
itemEvent = e;
|
itemEvent = e;
|
||||||
@ -357,10 +354,12 @@ public class AutomationIntegrationJsonTest extends JavaOSGiTest {
|
|||||||
|
|
||||||
assertThat(myLampItem.getState(), is(UnDefType.NULL));
|
assertThat(myLampItem.getState(), is(UnDefType.NULL));
|
||||||
SwitchItem myMotionItem = (SwitchItem) itemRegistry.getItem("myMotionItem");
|
SwitchItem myMotionItem = (SwitchItem) itemRegistry.getItem("myMotionItem");
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
EventSubscriber eventHandler = new EventSubscriber() {
|
EventSubscriber eventHandler = new EventSubscriber() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Set<@NonNull String> getSubscribedEventTypes() {
|
public Set<String> getSubscribedEventTypes() {
|
||||||
return Collections.singleton(ItemCommandEvent.TYPE);
|
return Collections.singleton(ItemCommandEvent.TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -370,7 +369,7 @@ public class AutomationIntegrationJsonTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receive(@NonNull Event e) {
|
public void receive(Event e) {
|
||||||
logger.info("Event: {}", e.getTopic());
|
logger.info("Event: {}", e.getTopic());
|
||||||
if (e.getTopic().equals("smarthome/items/myLampItem/command")) {
|
if (e.getTopic().equals("smarthome/items/myLampItem/command")) {
|
||||||
itemEvent = e;
|
itemEvent = e;
|
||||||
|
@ -29,7 +29,7 @@ import java.util.Random;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import org.eclipse.jdt.annotation.NonNull;
|
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||||
import org.eclipse.jdt.annotation.Nullable;
|
import org.eclipse.jdt.annotation.Nullable;
|
||||||
import org.eclipse.smarthome.config.core.ConfigDescriptionParameter;
|
import org.eclipse.smarthome.config.core.ConfigDescriptionParameter;
|
||||||
import org.eclipse.smarthome.config.core.Configuration;
|
import org.eclipse.smarthome.config.core.Configuration;
|
||||||
@ -50,7 +50,6 @@ import org.eclipse.smarthome.core.storage.StorageService;
|
|||||||
import org.eclipse.smarthome.test.java.JavaOSGiTest;
|
import org.eclipse.smarthome.test.java.JavaOSGiTest;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.openhab.core.automation.Action;
|
import org.openhab.core.automation.Action;
|
||||||
import org.openhab.core.automation.Condition;
|
import org.openhab.core.automation.Condition;
|
||||||
@ -66,7 +65,6 @@ import org.openhab.core.automation.events.RuleAddedEvent;
|
|||||||
import org.openhab.core.automation.events.RuleRemovedEvent;
|
import org.openhab.core.automation.events.RuleRemovedEvent;
|
||||||
import org.openhab.core.automation.events.RuleStatusInfoEvent;
|
import org.openhab.core.automation.events.RuleStatusInfoEvent;
|
||||||
import org.openhab.core.automation.events.RuleUpdatedEvent;
|
import org.openhab.core.automation.events.RuleUpdatedEvent;
|
||||||
import org.openhab.core.automation.internal.module.handler.GenericEventTriggerHandler;
|
|
||||||
import org.openhab.core.automation.template.RuleTemplate;
|
import org.openhab.core.automation.template.RuleTemplate;
|
||||||
import org.openhab.core.automation.template.RuleTemplateProvider;
|
import org.openhab.core.automation.template.RuleTemplateProvider;
|
||||||
import org.openhab.core.automation.template.Template;
|
import org.openhab.core.automation.template.Template;
|
||||||
@ -78,9 +76,6 @@ import org.openhab.core.automation.type.ModuleTypeRegistry;
|
|||||||
import org.openhab.core.automation.type.TriggerType;
|
import org.openhab.core.automation.type.TriggerType;
|
||||||
import org.openhab.core.automation.util.ModuleBuilder;
|
import org.openhab.core.automation.util.ModuleBuilder;
|
||||||
import org.openhab.core.automation.util.RuleBuilder;
|
import org.openhab.core.automation.util.RuleBuilder;
|
||||||
import org.osgi.framework.Bundle;
|
|
||||||
import org.osgi.framework.BundleException;
|
|
||||||
import org.osgi.framework.FrameworkUtil;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
@ -93,7 +88,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
*/
|
*/
|
||||||
public class AutomationIntegrationTest extends JavaOSGiTest {
|
public class AutomationIntegrationTest extends JavaOSGiTest {
|
||||||
|
|
||||||
final Logger logger = LoggerFactory.getLogger(AutomationIntegrationTest.class);
|
private final Logger logger = LoggerFactory.getLogger(AutomationIntegrationTest.class);
|
||||||
private EventPublisher eventPublisher;
|
private EventPublisher eventPublisher;
|
||||||
private ItemRegistry itemRegistry;
|
private ItemRegistry itemRegistry;
|
||||||
private RuleRegistry ruleRegistry;
|
private RuleRegistry ruleRegistry;
|
||||||
@ -113,11 +108,11 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
ItemProvider itemProvider = new ItemProvider() {
|
ItemProvider itemProvider = new ItemProvider() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addProviderChangeListener(@NonNull ProviderChangeListener<@NonNull Item> listener) {
|
public void addProviderChangeListener(ProviderChangeListener<Item> listener) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Collection<@NonNull Item> getAll() {
|
public Collection<Item> getAll() {
|
||||||
Set<Item> items = new HashSet<>();
|
Set<Item> items = new HashSet<>();
|
||||||
items.add(new SwitchItem("myMotionItem"));
|
items.add(new SwitchItem("myMotionItem"));
|
||||||
items.add(new SwitchItem("myPresenceItem"));
|
items.add(new SwitchItem("myPresenceItem"));
|
||||||
@ -143,7 +138,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeProviderChangeListener(@NonNull ProviderChangeListener<@NonNull Item> listener) {
|
public void removeProviderChangeListener(ProviderChangeListener<Item> listener) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -185,10 +180,11 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
public void assertThatARuleCanBeAddedUpdatedAndRemovedByTheApi() {
|
public void assertThatARuleCanBeAddedUpdatedAndRemovedByTheApi() {
|
||||||
logger.info("assert that a rule can be added, updated and removed by the api");
|
logger.info("assert that a rule can be added, updated and removed by the api");
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
EventSubscriber ruleEventHandler = new EventSubscriber() {
|
EventSubscriber ruleEventHandler = new EventSubscriber() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Set<@NonNull String> getSubscribedEventTypes() {
|
public Set<String> getSubscribedEventTypes() {
|
||||||
return Stream.of(RuleAddedEvent.TYPE, RuleRemovedEvent.TYPE, RuleUpdatedEvent.TYPE).collect(toSet());
|
return Stream.of(RuleAddedEvent.TYPE, RuleRemovedEvent.TYPE, RuleUpdatedEvent.TYPE).collect(toSet());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -198,7 +194,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receive(@NonNull Event e) {
|
public void receive(Event e) {
|
||||||
logger.info("RuleEvent: {}", e.getTopic());
|
logger.info("RuleEvent: {}", e.getTopic());
|
||||||
ruleEvent = e;
|
ruleEvent = e;
|
||||||
}
|
}
|
||||||
@ -221,7 +217,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
// UPDATE
|
// UPDATE
|
||||||
ruleEvent = null;
|
ruleEvent = null;
|
||||||
if (ruleAdded == null) {
|
if (ruleAdded == null) {
|
||||||
throw new NullPointerException();
|
throw new AssertionError("ruleAdded is null");
|
||||||
}
|
}
|
||||||
Rule updatedRule = RuleBuilder.create(ruleAdded).withDescription("TestDescription").build();
|
Rule updatedRule = RuleBuilder.create(ruleAdded).withDescription("TestDescription").build();
|
||||||
Rule oldRule = ruleRegistry.update(updatedRule);
|
Rule oldRule = ruleRegistry.update(updatedRule);
|
||||||
@ -289,10 +285,11 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
|
|
||||||
List<RuleStatusInfoEvent> ruleEvents = new ArrayList<>();
|
List<RuleStatusInfoEvent> ruleEvents = new ArrayList<>();
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
EventSubscriber ruleEventHandler = new EventSubscriber() {
|
EventSubscriber ruleEventHandler = new EventSubscriber() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Set<@NonNull String> getSubscribedEventTypes() {
|
public Set<String> getSubscribedEventTypes() {
|
||||||
return Collections.singleton(RuleStatusInfoEvent.TYPE);
|
return Collections.singleton(RuleStatusInfoEvent.TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -302,7 +299,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receive(@NonNull Event e) {
|
public void receive(Event e) {
|
||||||
logger.info("RuleEvent: {}", e.getTopic());
|
logger.info("RuleEvent: {}", e.getTopic());
|
||||||
ruleEvents.add((RuleStatusInfoEvent) e);
|
ruleEvents.add((RuleStatusInfoEvent) e);
|
||||||
}
|
}
|
||||||
@ -356,60 +353,6 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
assertThat(ruleEngine.getStatusInfo(rule.getUID()).getStatus(), is(RuleStatus.UNINITIALIZED));
|
assertThat(ruleEngine.getStatusInfo(rule.getUID()).getStatus(), is(RuleStatus.UNINITIALIZED));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void assertThatARuleSwitchesFromIDLEtoUNINITIALIZEDifAModuleHandlerDisappearsAndBackToIDLEifItAppearsAgain()
|
|
||||||
throws BundleException {
|
|
||||||
logger.info(
|
|
||||||
"assert that a rule switches from IDLE to UNINITIALIZED if a moduleHanlder disappears and back to IDLE if it appears again");
|
|
||||||
Rule rule = createSimpleRule();
|
|
||||||
ruleRegistry.add(rule);
|
|
||||||
assertThat(ruleEngine.getStatusInfo(rule.getUID()).getStatus(), is(RuleStatus.IDLE));
|
|
||||||
|
|
||||||
Bundle moduleBundle = FrameworkUtil.getBundle(GenericEventTriggerHandler.class);
|
|
||||||
moduleBundle.stop();
|
|
||||||
waitForAssert(() -> {
|
|
||||||
logger.info("RuleStatus: {}", ruleEngine.getStatusInfo(rule.getUID()).getStatus());
|
|
||||||
assertThat(ruleEngine.getStatusInfo(rule.getUID()).getStatus(), is(RuleStatus.UNINITIALIZED));
|
|
||||||
}, 3000, 100);
|
|
||||||
|
|
||||||
moduleBundle.start();
|
|
||||||
ruleEngine.setEnabled(rule.getUID(), true);
|
|
||||||
waitForAssert(() -> {
|
|
||||||
logger.info("RuleStatus: {}", ruleEngine.getStatusInfo(rule.getUID()));
|
|
||||||
assertThat(ruleEngine.getStatusInfo(rule.getUID()).getStatus(), is(RuleStatus.IDLE));
|
|
||||||
}, 3000, 100);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@Ignore // this assumes that the sample.json bundle is started as part of the test, which is usually not the case
|
|
||||||
// (and we should not have a fixed dependency on it
|
|
||||||
public void assertThatAModuleTypesAndTemplatesAreDisappearedWhenTheProviderWasUninstalled() throws BundleException {
|
|
||||||
logger.info("assert that a module types and templates are disappeared when the provider was uninstalled");
|
|
||||||
|
|
||||||
waitForAssert(() -> {
|
|
||||||
logger.info("RuleStatus: {}", moduleTypeRegistry.get("SampleTrigger"));
|
|
||||||
assertThat(moduleTypeRegistry.get("SampleTrigger"), is(notNullValue()));
|
|
||||||
assertThat(moduleTypeRegistry.get("SampleCondition"), is(notNullValue()));
|
|
||||||
assertThat(moduleTypeRegistry.get("SampleAction"), is(notNullValue()));
|
|
||||||
assertThat(templateRegistry.get("SampleRuleTemplate"), is(notNullValue()));
|
|
||||||
}, 3000, 100);
|
|
||||||
|
|
||||||
for (Bundle bundle : bundleContext.getBundles()) {
|
|
||||||
if (bundle.getSymbolicName().equals("org.openhab.core.automation.sample.extension.json")) {
|
|
||||||
bundle.uninstall();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
waitForAssert(() -> {
|
|
||||||
logger.info("RuleStatus: {}", moduleTypeRegistry.get("SampleTrigger"));
|
|
||||||
assertThat(moduleTypeRegistry.get("SampleTrigger"), is(nullValue()));
|
|
||||||
assertThat(moduleTypeRegistry.get("SampleCondition"), is(nullValue()));
|
|
||||||
assertThat(moduleTypeRegistry.get("SampleAction"), is(nullValue()));
|
|
||||||
assertThat(templateRegistry.get("SampleRuleTemplate"), is(nullValue()));
|
|
||||||
}, 3000, 100);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void assertThatARuleBasedOnACompositeModuleIsInitializedAndExecutedCorrectly() {
|
public void assertThatARuleBasedOnACompositeModuleIsInitializedAndExecutedCorrectly() {
|
||||||
Map<String, Object> params = new HashMap<>();
|
Map<String, Object> params = new HashMap<>();
|
||||||
@ -451,10 +394,11 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
EventPublisher eventPublisher = getService(EventPublisher.class);
|
EventPublisher eventPublisher = getService(EventPublisher.class);
|
||||||
eventPublisher.post(ItemEventFactory.createStateEvent("myPresenceItem3", OnOffType.ON));
|
eventPublisher.post(ItemEventFactory.createStateEvent("myPresenceItem3", OnOffType.ON));
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
EventSubscriber itemEventHandler = new EventSubscriber() {
|
EventSubscriber itemEventHandler = new EventSubscriber() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Set<@NonNull String> getSubscribedEventTypes() {
|
public Set<String> getSubscribedEventTypes() {
|
||||||
return Collections.singleton(ItemCommandEvent.TYPE);
|
return Collections.singleton(ItemCommandEvent.TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -464,7 +408,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receive(@NonNull Event e) {
|
public void receive(Event e) {
|
||||||
logger.info("Event: {}", e.getTopic());
|
logger.info("Event: {}", e.getTopic());
|
||||||
if (e.getTopic().contains("myLampItem3")) {
|
if (e.getTopic().contains("myLampItem3")) {
|
||||||
itemEvent = e;
|
itemEvent = e;
|
||||||
@ -519,10 +463,11 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
|
|
||||||
Item myLampItem3 = itemRegistry.getItem("myLampItem3");
|
Item myLampItem3 = itemRegistry.getItem("myLampItem3");
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
EventSubscriber itemEventHandler = new EventSubscriber() {
|
EventSubscriber itemEventHandler = new EventSubscriber() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Set<@NonNull String> getSubscribedEventTypes() {
|
public Set<String> getSubscribedEventTypes() {
|
||||||
return Collections.singleton(ItemCommandEvent.TYPE);
|
return Collections.singleton(ItemCommandEvent.TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -532,7 +477,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receive(@NonNull Event e) {
|
public void receive(Event e) {
|
||||||
logger.info("Event: {}", e.getTopic());
|
logger.info("Event: {}", e.getTopic());
|
||||||
if (e.getTopic().contains("myLampItem3")) {
|
if (e.getTopic().contains("myLampItem3")) {
|
||||||
itemEvent = e;
|
itemEvent = e;
|
||||||
@ -576,10 +521,11 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
assertThat(ruleEngine.getStatusInfo(rule.getUID()).getStatus(), is(RuleStatus.IDLE));
|
assertThat(ruleEngine.getStatusInfo(rule.getUID()).getStatus(), is(RuleStatus.IDLE));
|
||||||
}, 3000, 100);
|
}, 3000, 100);
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
EventSubscriber itemEventHandler = new EventSubscriber() {
|
EventSubscriber itemEventHandler = new EventSubscriber() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Set<@NonNull String> getSubscribedEventTypes() {
|
public Set<String> getSubscribedEventTypes() {
|
||||||
return Collections.singleton(ItemCommandEvent.TYPE);
|
return Collections.singleton(ItemCommandEvent.TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -589,7 +535,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receive(@NonNull Event e) {
|
public void receive(Event e) {
|
||||||
logger.info("Event: {}", e.getTopic());
|
logger.info("Event: {}", e.getTopic());
|
||||||
if (e.getTopic().contains("myLampItem3")) {
|
if (e.getTopic().contains("myLampItem3")) {
|
||||||
itemEvent = e;
|
itemEvent = e;
|
||||||
@ -647,7 +593,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
|
|
||||||
Rule rule = RuleBuilder.create("myRule21" + new Random().nextInt() + "_COMPOSITE").withTriggers(triggers)
|
Rule rule = RuleBuilder.create("myRule21" + new Random().nextInt() + "_COMPOSITE").withTriggers(triggers)
|
||||||
.withActions(actions).withName("RuleByJAVA_API_ChainedComposite").build();
|
.withActions(actions).withName("RuleByJAVA_API_ChainedComposite").build();
|
||||||
logger.info("Rule created: " + rule.getUID());
|
logger.info("Rule created: {}", rule.getUID());
|
||||||
|
|
||||||
RuleRegistry ruleRegistry = getService(RuleRegistry.class);
|
RuleRegistry ruleRegistry = getService(RuleRegistry.class);
|
||||||
ruleRegistry.add(rule);
|
ruleRegistry.add(rule);
|
||||||
@ -663,9 +609,10 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
// prepare the presenceItems state to be on to match the second condition of the rule
|
// prepare the presenceItems state to be on to match the second condition of the rule
|
||||||
eventPublisher.post(ItemEventFactory.createStateEvent("myPresenceItem4", OnOffType.ON));
|
eventPublisher.post(ItemEventFactory.createStateEvent("myPresenceItem4", OnOffType.ON));
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
EventSubscriber itemEventHandler = new EventSubscriber() {
|
EventSubscriber itemEventHandler = new EventSubscriber() {
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Set<@NonNull String> getSubscribedEventTypes() {
|
public Set<String> getSubscribedEventTypes() {
|
||||||
return Collections.singleton(ItemCommandEvent.TYPE);
|
return Collections.singleton(ItemCommandEvent.TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -675,7 +622,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receive(@NonNull Event e) {
|
public void receive(Event e) {
|
||||||
logger.info("Event: {}", e.getTopic());
|
logger.info("Event: {}", e.getTopic());
|
||||||
if (e.getTopic().contains("myLampItem4")) {
|
if (e.getTopic().contains("myLampItem4")) {
|
||||||
itemEvent = e;
|
itemEvent = e;
|
||||||
@ -714,7 +661,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
|
|
||||||
Rule rule = RuleBuilder.create("myRule21").withTriggers(triggers).withActions(actions)
|
Rule rule = RuleBuilder.create("myRule21").withTriggers(triggers).withActions(actions)
|
||||||
.withName("RuleByJAVA_API").withTags("myRule21").build();
|
.withName("RuleByJAVA_API").withTags("myRule21").build();
|
||||||
logger.info("Rule created: " + rule.getUID());
|
logger.info("Rule created: {}", rule.getUID());
|
||||||
|
|
||||||
ruleRegistry.add(rule);
|
ruleRegistry.add(rule);
|
||||||
ruleEngine.setEnabled(rule.getUID(), true);
|
ruleEngine.setEnabled(rule.getUID(), true);
|
||||||
@ -725,18 +672,20 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
public void assertThatARuleCanBeAddedByARuleProvider() {
|
public void assertThatARuleCanBeAddedByARuleProvider() {
|
||||||
logger.info("assert that a rule can be added by a ruleProvider");
|
logger.info("assert that a rule can be added by a ruleProvider");
|
||||||
Rule rule = createSimpleRule();
|
Rule rule = createSimpleRule();
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
RuleProvider ruleProvider = new RuleProvider() {
|
RuleProvider ruleProvider = new RuleProvider() {
|
||||||
@Override
|
@Override
|
||||||
public void addProviderChangeListener(@NonNull ProviderChangeListener<Rule> listener) {
|
public void addProviderChangeListener(ProviderChangeListener<Rule> listener) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Collection<Rule> getAll() {
|
public Collection<Rule> getAll() {
|
||||||
return Collections.singleton(rule);
|
return Collections.singleton(rule);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeProviderChangeListener(@NonNull ProviderChangeListener<Rule> listener) {
|
public void removeProviderChangeListener(ProviderChangeListener<Rule> listener) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -776,10 +725,11 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
ruleRegistry.add(templateRule);
|
ruleRegistry.add(templateRule);
|
||||||
assertThat(ruleRegistry.get(templateRule.getUID()), is(notNullValue()));
|
assertThat(ruleRegistry.get(templateRule.getUID()), is(notNullValue()));
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
EventSubscriber itemEventHandler = new EventSubscriber() {
|
EventSubscriber itemEventHandler = new EventSubscriber() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Set<@NonNull String> getSubscribedEventTypes() {
|
public Set<String> getSubscribedEventTypes() {
|
||||||
return Collections.singleton(ItemCommandEvent.TYPE);
|
return Collections.singleton(ItemCommandEvent.TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -789,7 +739,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receive(@NonNull Event e) {
|
public void receive(Event e) {
|
||||||
logger.info("Event: {}", e.getTopic());
|
logger.info("Event: {}", e.getTopic());
|
||||||
if (e.getTopic().contains("templ_LampItem")) {
|
if (e.getTopic().contains("templ_LampItem")) {
|
||||||
itemEvent = e;
|
itemEvent = e;
|
||||||
@ -836,10 +786,11 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
assertThat(ruleEngine.getStatus(templateRule.getUID()), is(RuleStatus.IDLE));
|
assertThat(ruleEngine.getStatus(templateRule.getUID()), is(RuleStatus.IDLE));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
EventSubscriber itemEventHandler = new EventSubscriber() {
|
EventSubscriber itemEventHandler = new EventSubscriber() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Set<@NonNull String> getSubscribedEventTypes() {
|
public Set<String> getSubscribedEventTypes() {
|
||||||
return Collections.singleton(ItemCommandEvent.TYPE);
|
return Collections.singleton(ItemCommandEvent.TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -849,7 +800,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receive(@NonNull Event e) {
|
public void receive(Event e) {
|
||||||
logger.info("Event: {}", e.getTopic());
|
logger.info("Event: {}", e.getTopic());
|
||||||
if (e.getTopic().contains("xtempl_LampItem")) {
|
if (e.getTopic().contains("xtempl_LampItem")) {
|
||||||
itemEvent = e;
|
itemEvent = e;
|
||||||
@ -906,32 +857,32 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addProviderChangeListener(@NonNull ProviderChangeListener<RuleTemplate> listener) {
|
public void addProviderChangeListener(ProviderChangeListener<RuleTemplate> listener) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Collection<RuleTemplate> getAll() {
|
public Collection<RuleTemplate> getAll() {
|
||||||
return Collections.singleton(template);
|
return Collections.singleton(template);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeProviderChangeListener(@NonNull ProviderChangeListener<RuleTemplate> listener) {
|
public void removeProviderChangeListener(ProviderChangeListener<RuleTemplate> listener) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
ModuleTypeProvider moduleTypeProvider = new ModuleTypeProvider() {
|
ModuleTypeProvider moduleTypeProvider = new ModuleTypeProvider() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addProviderChangeListener(@NonNull ProviderChangeListener<ModuleType> listener) {
|
public void addProviderChangeListener(ProviderChangeListener<ModuleType> listener) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Collection<ModuleType> getAll() {
|
public Collection<ModuleType> getAll() {
|
||||||
return Stream.of(triggerType, actionType).collect(toSet());
|
return Stream.of(triggerType, actionType).collect(toSet());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeProviderChangeListener(@NonNull ProviderChangeListener<ModuleType> listener) {
|
public void removeProviderChangeListener(ProviderChangeListener<ModuleType> listener) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1035,7 +986,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
|
|
||||||
Rule rule = RuleBuilder.create("myRule_" + random).withTriggers(triggers).withConditions(conditions)
|
Rule rule = RuleBuilder.create("myRule_" + random).withTriggers(triggers).withConditions(conditions)
|
||||||
.withActions(actions).withName("RuleByJAVA_API" + random).withTags("myRule_" + random).build();
|
.withActions(actions).withName("RuleByJAVA_API" + random).withTags("myRule_" + random).build();
|
||||||
logger.info("Rule created: " + rule.getUID());
|
logger.info("Rule created: {}", rule.getUID());
|
||||||
|
|
||||||
ruleRegistry.add(rule);
|
ruleRegistry.add(rule);
|
||||||
ruleEngine.setEnabled(rule.getUID(), true);
|
ruleEngine.setEnabled(rule.getUID(), true);
|
||||||
@ -1056,10 +1007,11 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
SwitchItem myMotionItem = (SwitchItem) itemRegistry.getItem("myPresenceItem5");
|
SwitchItem myMotionItem = (SwitchItem) itemRegistry.getItem("myPresenceItem5");
|
||||||
myMotionItem.setState(OnOffType.ON);
|
myMotionItem.setState(OnOffType.ON);
|
||||||
|
|
||||||
|
@NonNullByDefault
|
||||||
EventSubscriber itemEventHandler = new EventSubscriber() {
|
EventSubscriber itemEventHandler = new EventSubscriber() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Set<@NonNull String> getSubscribedEventTypes() {
|
public Set<String> getSubscribedEventTypes() {
|
||||||
return Collections.singleton(ItemCommandEvent.TYPE);
|
return Collections.singleton(ItemCommandEvent.TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1069,7 +1021,7 @@ public class AutomationIntegrationTest extends JavaOSGiTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receive(@NonNull Event e) {
|
public void receive(Event e) {
|
||||||
logger.info("Event: {}", e.getTopic());
|
logger.info("Event: {}", e.getTopic());
|
||||||
if (e.getTopic().contains("myLampItem5")) {
|
if (e.getTopic().contains("myLampItem5")) {
|
||||||
itemEvent = e;
|
itemEvent = e;
|
||||||
|
@ -40,12 +40,12 @@ import org.slf4j.LoggerFactory;
|
|||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public class HostFragmentSupportTest extends JavaOSGiTest {
|
public class HostFragmentSupportTest extends JavaOSGiTest {
|
||||||
|
|
||||||
final Logger logger = LoggerFactory.getLogger(HostFragmentSupportTest.class);
|
private final Logger logger = LoggerFactory.getLogger(HostFragmentSupportTest.class);
|
||||||
private ModuleTypeRegistry moduleTypeRegistry;
|
private ModuleTypeRegistry moduleTypeRegistry;
|
||||||
private PackageAdmin pkgAdmin;
|
private PackageAdmin pkgAdmin;
|
||||||
|
|
||||||
private final String EXT = ".jar";
|
private final String EXT = ".jar";
|
||||||
private final String PATH = "src/test/resources/";
|
private final String PATH = "/";
|
||||||
private final String RESOURCES_TEST_BUNDLE_1 = "host-tb1";
|
private final String RESOURCES_TEST_BUNDLE_1 = "host-tb1";
|
||||||
private final String RESOURCES_TEST_BUNDLE_2 = "host-tb2";
|
private final String RESOURCES_TEST_BUNDLE_2 = "host-tb2";
|
||||||
private final String RESOURCES_TEST_BUNDLE_3 = "fragment-tb1";
|
private final String RESOURCES_TEST_BUNDLE_3 = "fragment-tb1";
|
||||||
@ -113,6 +113,7 @@ public class HostFragmentSupportTest extends JavaOSGiTest {
|
|||||||
registerService(AutomationIntegrationJsonTest.VOLATILE_STORAGE_SERVICE);
|
registerService(AutomationIntegrationJsonTest.VOLATILE_STORAGE_SERVICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("null")
|
||||||
@Test
|
@Test
|
||||||
public void assertThatTheInstallationOfTheFragmentHostProvidesTheResourcesCorrectly() throws BundleException {
|
public void assertThatTheInstallationOfTheFragmentHostProvidesTheResourcesCorrectly() throws BundleException {
|
||||||
logger.info("asserting that the installation of the fragment-host provides the resources correctly");
|
logger.info("asserting that the installation of the fragment-host provides the resources correctly");
|
||||||
@ -219,6 +220,7 @@ public class HostFragmentSupportTest extends JavaOSGiTest {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("null")
|
||||||
@Test
|
@Test
|
||||||
public void assertThatTheUpdateOfTheFragmentHostProvidesTheResourcesCorrectly() throws BundleException {
|
public void assertThatTheUpdateOfTheFragmentHostProvidesTheResourcesCorrectly() throws BundleException {
|
||||||
logger.info("asserting that the update of the fragment-host provides the resources correctly");
|
logger.info("asserting that the update of the fragment-host provides the resources correctly");
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
<module>org.openhab.core.automation.module.timer.tests</module>
|
<module>org.openhab.core.automation.module.timer.tests</module>
|
||||||
<module>org.openhab.core.automation.module.script.defaultscope.tests</module>
|
<module>org.openhab.core.automation.module.script.defaultscope.tests</module>
|
||||||
<module>org.openhab.core.automation.module.script.tests</module>
|
<module>org.openhab.core.automation.module.script.tests</module>
|
||||||
<!-- <module>org.openhab.core.automation.integration.tests</module> -->
|
<module>org.openhab.core.automation.integration.tests</module>
|
||||||
<module>org.openhab.core.binding.xml.tests</module>
|
<module>org.openhab.core.binding.xml.tests</module>
|
||||||
<module>org.openhab.core.compat1x.tests</module>
|
<module>org.openhab.core.compat1x.tests</module>
|
||||||
<module>org.openhab.core.config.core.tests</module>
|
<module>org.openhab.core.config.core.tests</module>
|
||||||
|
Loading…
Reference in New Issue
Block a user