//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.core.web.servlets; import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.doReturn; import java.util.Collections; import java.util.Optional; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import uk.gov.dstl.baleen.core.jobs.BaleenJob; import uk.gov.dstl.baleen.core.jobs.BaleenJobManager; import uk.gov.dstl.baleen.testing.servlets.ServletCaller; /** * Tests for {@link BaleenManagerConfigServlet}. * * * */ @RunWith(MockitoJUnitRunner.Silent.class) public class JobConfigServletTest { @Mock BaleenJobManager manager; @Test public void testNoName() throws Exception { ServletCaller caller = new ServletCaller(); caller.doGet(new JobConfigServlet(manager)); assertEquals(400, (int) caller.getSentError()); } @Test public void testMissing() throws Exception { doReturn(Optional.empty()).when(manager).get(anyString()); ServletCaller caller = new ServletCaller(); caller.addParameter("name", "missing"); caller.doGet(new JobConfigServlet(manager)); assertEquals(404, (int) caller.getSentError()); } @Test public void testEmpty() throws Exception { BaleenJob job = new BaleenJob("name", null, null, Collections.emptyList()); doReturn(Optional.of(job)).when(manager).get(anyString()); ServletCaller caller = new ServletCaller(); caller.addParameter("name", "name"); caller.doGet(new JobConfigServlet(manager)); assertEquals("", caller.getResponseBody()); } @Test public void testWithConfig() throws Exception { BaleenJob job = new BaleenJob("name", "Config", null, Collections.emptyList()); doReturn(Optional.of(job)).when(manager).get(anyString()); ServletCaller caller = new ServletCaller(); caller.addParameter("name", "name"); caller.doGet(new JobConfigServlet(manager)); assertEquals("Config", caller.getResponseBody()); } }