diff options
author | Harald Musum <musum@verizonmedia.com> | 2022-08-22 18:31:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-22 18:31:17 +0200 |
commit | 402d4e322fa636425a40a39a93543bd2d35c38da (patch) | |
tree | ea97762b5ed30cbf291601330d8e659bd64e8b09 /clustercontroller-apps | |
parent | 9fb7e02c6b27c9c33045af4baf2f4de24f29afbe (diff) |
Revert "Cluster controller unit test cleanup, part 4 [run-systemtest]"
Diffstat (limited to 'clustercontroller-apps')
-rw-r--r-- | clustercontroller-apps/src/test/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterControllerTest.java | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/clustercontroller-apps/src/test/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterControllerTest.java b/clustercontroller-apps/src/test/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterControllerTest.java new file mode 100644 index 00000000000..cfda92b472d --- /dev/null +++ b/clustercontroller-apps/src/test/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterControllerTest.java @@ -0,0 +1,70 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.clustercontroller.apps.clustercontroller; + +import com.yahoo.jdisc.Metric; +import com.yahoo.vdslib.distribution.ConfiguredNode; +import com.yahoo.vespa.clustercontroller.core.FleetController; +import com.yahoo.vespa.clustercontroller.core.FleetControllerOptions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.util.Map; +import java.util.Set; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Doesn't really test cluster controller, but runs some lines of code. + * System tests verifies that container can load it.. + */ +public class ClusterControllerTest { + + private FleetControllerOptions options = new FleetControllerOptions("storage", Set.of(new ConfiguredNode(0, false))); + + private final Metric metric = new Metric() { + @Override + public void set(String s, Number number, Context context) {} + @Override + public void add(String s, Number number, Context context) {} + @Override + public Context createContext(Map<String, ?> stringMap) { return null; } + }; + + @BeforeEach + public void setUp() { + options = new FleetControllerOptions("storage", Set.of(new ConfiguredNode(0, false))); + options.zooKeeperServerAddress = null; + options.slobrokConfigId = "raw:"; + options.slobrokConnectionSpecs = null; + } + + @Test + void testSimple() throws Exception { + ClusterController cc = new ClusterController(); + cc.setOptions(options, metric); + cc.setOptions(options, metric); + assertEquals(1, cc.getFleetControllers().size()); + assertNotNull(cc.get("storage")); + assertNull(cc.get("music")); + cc.countdown(); + assertTrue(cc.getController("storage").isRunning()); + cc.countdown(); + assertFalse(cc.getController("storage").isRunning()); + } + + @Test + void testShutdownException() throws Exception { + ClusterController cc = new ClusterController() { + void shutdownController(FleetController controller) throws Exception { + throw new Exception("Foo"); + } + }; + cc.setOptions(options, metric); + cc.countdown(); + } + +} |