summaryrefslogtreecommitdiffstats
path: root/orchestrator/src/test/java
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2017-10-27 15:43:33 +0200
committerHåkon Hallingstad <hakon@oath.com>2017-10-27 15:43:33 +0200
commit9f9d1fe8d282040acbdfe81520c01b836f932543 (patch)
tree00534cfe9c51b015e7d325559a4c53e2fbe90f73 /orchestrator/src/test/java
parent5fcbb66f52d44b286f0898ab318f7e6269330f4e (diff)
REST API for service status
Diffstat (limited to 'orchestrator/src/test/java')
-rw-r--r--orchestrator/src/test/java/com/yahoo/vespa/orchestrator/resources/InstanceResourceTest.java62
1 files changed, 49 insertions, 13 deletions
diff --git a/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/resources/InstanceResourceTest.java b/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/resources/InstanceResourceTest.java
index 1d9ec2bccd1..42b5b70ab55 100644
--- a/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/resources/InstanceResourceTest.java
+++ b/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/resources/InstanceResourceTest.java
@@ -4,9 +4,14 @@ package com.yahoo.vespa.orchestrator.resources;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.jrt.slobrok.api.Mirror;
+import com.yahoo.vespa.applicationmodel.ConfigId;
+import com.yahoo.vespa.applicationmodel.ServiceStatus;
+import com.yahoo.vespa.applicationmodel.ServiceType;
+import com.yahoo.vespa.orchestrator.restapi.wire.SlobrokEntryResponse;
import com.yahoo.vespa.service.monitor.SlobrokMonitorManager;
import org.junit.Test;
+import javax.ws.rs.WebApplicationException;
import java.util.Arrays;
import java.util.List;
@@ -16,28 +21,59 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
public class InstanceResourceTest {
+ private static final String APPLICATION_INSTANCE_REFERENCE = "tenant:app:prod:us-west-1:instance";
+ private static final ApplicationId APPLICATION_ID = ApplicationId.from(
+ "tenant", "app", "instance");
+ private static final List<Mirror.Entry> ENTRIES = Arrays.asList(
+ new Mirror.Entry("name1", "spec1"),
+ new Mirror.Entry("name2", "spec2"));
+
+ private final SlobrokMonitorManager slobrokMonitorManager = mock(SlobrokMonitorManager.class);
+ private final InstanceResource resource = new InstanceResource(
+ null,
+ null,
+ slobrokMonitorManager);
+
@Test
public void testGetSlobrokEntries() throws Exception {
- SlobrokMonitorManager slobrokMonitorManager = mock(SlobrokMonitorManager.class);
- InstanceResource resource = new InstanceResource(
- null,
- null,
- slobrokMonitorManager);
+ testGetSlobrokEntriesWith("foo", "foo");
+ }
- ApplicationId applicationId = ApplicationId.from("tenant", "app", "instance");
- String pattern = "foo";
+ @Test
+ public void testGetSlobrokEntriesWithoutPattern() throws Exception {
+ testGetSlobrokEntriesWith(null, InstanceResource.DEFAULT_SLOBROK_PATTERN);
+ }
- List<Mirror.Entry> entries = Arrays.asList(
- new Mirror.Entry("name1", "spec1"),
- new Mirror.Entry("name2", "spec2"));
+ @Test
+ public void testGetServiceStatus() {
+ ServiceType serviceType = new ServiceType("serviceType");
+ ConfigId configId = new ConfigId("configId");
+ ServiceStatus serviceStatus = ServiceStatus.UP;
+ when(slobrokMonitorManager.getStatus(APPLICATION_ID, serviceType, configId))
+ .thenReturn(serviceStatus);
+ ServiceStatus actualServiceStatus = resource.getServiceStatus(
+ APPLICATION_INSTANCE_REFERENCE,
+ serviceType.s(),
+ configId.s());
+ verify(slobrokMonitorManager).getStatus(APPLICATION_ID, serviceType, configId);
+ assertEquals(serviceStatus, actualServiceStatus);
+ }
+
+ @Test(expected = WebApplicationException.class)
+ public void testBadRequest() {
+ resource.getServiceStatus(APPLICATION_INSTANCE_REFERENCE, null, null);
+ }
- when(slobrokMonitorManager.lookup(applicationId, pattern)).thenReturn(entries);
+ private void testGetSlobrokEntriesWith(String pattern, String expectedLookupPattern)
+ throws Exception{
+ when(slobrokMonitorManager.lookup(APPLICATION_ID, expectedLookupPattern))
+ .thenReturn(ENTRIES);
List<SlobrokEntryResponse> response = resource.getSlobrokEntries(
- "tenant:app:prod:us-west-1:instance",
+ APPLICATION_INSTANCE_REFERENCE,
pattern);
- verify(slobrokMonitorManager).lookup(applicationId, pattern);
+ verify(slobrokMonitorManager).lookup(APPLICATION_ID, expectedLookupPattern);
ObjectMapper mapper = new ObjectMapper();
String actualJson = mapper.writeValueAsString(response);