summaryrefslogtreecommitdiffstats
path: root/clustercontroller-apps
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-08-22 18:31:17 +0200
committerGitHub <noreply@github.com>2022-08-22 18:31:17 +0200
commit402d4e322fa636425a40a39a93543bd2d35c38da (patch)
treeea97762b5ed30cbf291601330d8e659bd64e8b09 /clustercontroller-apps
parent9fb7e02c6b27c9c33045af4baf2f4de24f29afbe (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.java70
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();
+ }
+
+}