Fix rule startlevel trigger executes during initialization (#3717)

* Fix rule startlevel trigger executes during initialization

Signed-off-by: Jan N. Klug <github@klug.nrw>
This commit is contained in:
J-N-K
2023-07-21 14:18:28 +02:00
committed by GitHub
parent 72ec0f3517
commit b8ae55c3f5
13 changed files with 74 additions and 56 deletions
@@ -16,6 +16,7 @@ import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.util.ArrayList;
import java.util.Collection;
@@ -78,6 +79,7 @@ public abstract class BasicConditionHandlerTest extends JavaOSGiTest {
private @NonNullByDefault({}) RuleRegistry ruleRegistry;
private @NonNullByDefault({}) RuleManager ruleEngine;
private @Nullable Event itemEvent;
private @NonNullByDefault({}) StartLevelService startLevelService;
/**
* This executes before every test and before the
@@ -86,6 +88,9 @@ public abstract class BasicConditionHandlerTest extends JavaOSGiTest {
*/
@BeforeEach
public void beforeBase() {
startLevelService = mock(StartLevelService.class);
when(startLevelService.getStartLevel()).thenReturn(100);
registerService(startLevelService, StartLevelService.class.getName());
EventPublisher eventPublisher = getService(EventPublisher.class);
ItemRegistry itemRegistry = getService(ItemRegistry.class);
CoreModuleHandlerFactory coreModuleHandlerFactory = new CoreModuleHandlerFactory(getBundleContext(),
@@ -16,6 +16,7 @@ import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.util.Collection;
import java.util.HashMap;
@@ -75,9 +76,13 @@ public class RuntimeRuleTest extends JavaOSGiTest {
private VolatileStorageService volatileStorageService = new VolatileStorageService();
private @NonNullByDefault({}) RuleRegistry ruleRegistry;
private @NonNullByDefault({}) RuleManager ruleEngine;
private @NonNullByDefault({}) StartLevelService startLevelService;
@BeforeEach
public void before() {
startLevelService = mock(StartLevelService.class);
when(startLevelService.getStartLevel()).thenReturn(100);
registerService(startLevelService, StartLevelService.class.getName());
EventPublisher eventPublisher = getService(EventPublisher.class);
ItemRegistry itemRegistry = getService(ItemRegistry.class);
CoreModuleHandlerFactory coreModuleHandlerFactory = new CoreModuleHandlerFactory(getBundleContext(),