package app.event.metrics.com.aol.micro.server; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; import java.util.Map; import java.util.concurrent.ExecutionException; import org.junit.After; import org.junit.Before; import org.junit.Test; import com.aol.micro.server.MicroserverApp; import com.aol.micro.server.config.Microserver; import com.aol.micro.server.rest.jackson.JacksonUtil; import com.aol.micro.server.testing.RestAgent; @Microserver public class EventRunnerTest { RestAgent rest = new RestAgent(); MicroserverApp server; @Before public void startServer() { server = new MicroserverApp( () -> "event-app"); server.start(); } @After public void stopServer() { server.stop(); } @Test public void runAppAndBasicTest() throws InterruptedException, ExecutionException { assertThat(rest.get("http://localhost:8080/event-app/status/ping"), is("ok")); assertThat(rest.getJson("http://localhost:8080/event-app/active/jobs"), containsString("startedAt")); assertThat(rest.getJson("http://localhost:8080/event-app/active/requests"), containsString("startedAt")); assertThat(rest.getJson("http://localhost:8080/event-app/manifest"), containsString("Manifest")); String json = rest.getJson("http://localhost:8080/event-app/status/counters"); Map<String, Integer> map = JacksonUtil.convertFromJson(json, Map.class); assertThat(json, map.get("com.aol.micro.server.event.metrics.MetricsCatcher.jobs-completed-count"), greaterThan(1)); String json2 = rest.getJson("http://localhost:8080/event-app/status/meters"); Map<String, Integer> map2 = JacksonUtil.convertFromJson(json2, Map.class); assertThat(json2, map2.get("com.aol.micro.server.event.metrics.MetricsCatcher.request-start-default-meter"), greaterThan(0)); } }