diff options
author | Håkon Hallingstad <hakon@oath.com> | 2017-10-27 15:43:33 +0200 |
---|---|---|
committer | Håkon Hallingstad <hakon@oath.com> | 2017-10-27 15:43:33 +0200 |
commit | 9f9d1fe8d282040acbdfe81520c01b836f932543 (patch) | |
tree | 00534cfe9c51b015e7d325559a4c53e2fbe90f73 /orchestrator/src/test/java | |
parent | 5fcbb66f52d44b286f0898ab318f7e6269330f4e (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.java | 62 |
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); |