summaryrefslogtreecommitdiffstats
path: root/service-monitor/src/test/java/com/yahoo/vespa/service/model/ApplicationInstanceGeneratorTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'service-monitor/src/test/java/com/yahoo/vespa/service/model/ApplicationInstanceGeneratorTest.java')
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/model/ApplicationInstanceGeneratorTest.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/model/ApplicationInstanceGeneratorTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/model/ApplicationInstanceGeneratorTest.java
new file mode 100644
index 00000000000..a59206d14e2
--- /dev/null
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/model/ApplicationInstanceGeneratorTest.java
@@ -0,0 +1,81 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.service.model;
+
+import com.yahoo.cloud.config.ConfigserverConfig;
+import com.yahoo.config.model.api.ApplicationInfo;
+import com.yahoo.config.provision.Zone;
+import com.yahoo.vespa.applicationmodel.ApplicationInstance;
+import com.yahoo.vespa.applicationmodel.ServiceStatus;
+import com.yahoo.vespa.service.monitor.ServiceStatusProvider;
+import com.yahoo.vespa.service.monitor.ConfigserverUtil;
+import com.yahoo.vespa.service.duper.ConfigServerApplication;
+import org.junit.Test;
+
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static com.yahoo.vespa.service.duper.ConfigServerApplication.CONFIG_SERVER_APPLICATION;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public class ApplicationInstanceGeneratorTest {
+ private static final String configServer1 = "cfg1.yahoo.com";
+ private static final String configServer2 = "cfg2.yahoo.com";
+ private static final String configServer3 = "cfg3.yahoo.com";
+ private static final List<String> configServerList = Stream.of(
+ configServer1,
+ configServer2,
+ configServer3).collect(Collectors.toList());
+
+ private final ServiceStatusProvider statusProvider = mock(ServiceStatusProvider.class);
+
+ @Test
+ public void toApplicationInstance() {
+ when(statusProvider.getStatus(any(), any(), any(), any())).thenReturn(ServiceStatus.NOT_CHECKED);
+ ConfigserverConfig config = ConfigserverUtil.create(
+ true,
+ true,
+ configServer1,
+ configServer2,
+ configServer3);
+ Zone zone = mock(Zone.class);
+ ApplicationInfo configServer = CONFIG_SERVER_APPLICATION.makeApplicationInfoFromConfig(config);
+ ApplicationInstance applicationInstance = new ApplicationInstanceGenerator(configServer, zone)
+ .makeApplicationInstance(statusProvider);
+
+ assertEquals(
+ ConfigServerApplication.APPLICATION_INSTANCE_ID,
+ applicationInstance.applicationInstanceId());
+ assertEquals(
+ ConfigServerApplication.TENANT_ID,
+ applicationInstance.tenantId());
+
+ assertEquals(
+ ConfigServerApplication.TENANT_ID.toString() +
+ ":" + ConfigServerApplication.APPLICATION_INSTANCE_ID,
+ applicationInstance.reference().toString());
+
+ assertEquals(
+ ConfigServerApplication.CLUSTER_ID,
+ applicationInstance.serviceClusters().iterator().next().clusterId());
+
+ assertEquals(
+ ServiceStatus.NOT_CHECKED,
+ applicationInstance
+ .serviceClusters().iterator().next()
+ .serviceInstances().iterator().next()
+ .serviceStatus());
+
+ assertTrue(configServerList.contains(
+ applicationInstance
+ .serviceClusters().iterator().next()
+ .serviceInstances().iterator().next()
+ .hostName()
+ .toString()));
+ }
+
+} \ No newline at end of file