@GET @Produces(APPLICATION_JSON) public ServerInfo getInfo() { boolean starting = !catalogStore.areCatalogsLoaded(); return new ServerInfo(version, environment, coordinator, starting, Optional.of(nanosSince(startTime))); }
@Test public void testGetServerInfo() throws Exception { ServerInfo expected = new ServerInfo(UNKNOWN, "test", true, false, Optional.of(Duration.valueOf("2m"))); server.enqueue(new MockResponse() .addHeader(CONTENT_TYPE, "application/json") .setBody(SERVER_INFO_CODEC.toJson(expected))); QueryExecutor executor = new QueryExecutor(new OkHttpClient()); ServerInfo actual = executor.getServerInfo(server.url("/v1/info").uri()); assertEquals(actual.getEnvironment(), "test"); assertEquals(actual.getUptime(), Optional.of(Duration.valueOf("2m"))); assertEquals(server.getRequestCount(), 1); assertEquals(server.takeRequest().getPath(), "/v1/info"); } }
@Test public void testGetServerInfo() throws Exception { ServerInfo expected = new ServerInfo(UNKNOWN, "test", true, false, Optional.of(Duration.valueOf("2m"))); server.enqueue(new MockResponse() .addHeader(CONTENT_TYPE, "application/json") .setBody(SERVER_INFO_CODEC.toJson(expected))); QueryExecutor executor = new QueryExecutor(new OkHttpClient()); ServerInfo actual = executor.getServerInfo(server.url("/v1/info").uri()); assertEquals(actual.getEnvironment(), "test"); assertEquals(actual.getUptime(), Optional.of(Duration.valueOf("2m"))); assertEquals(server.getRequestCount(), 1); assertEquals(server.takeRequest().getPath(), "/v1/info"); } }
@Test public void testBackwardsCompatible() { ServerInfo newServerInfo = new ServerInfo(UNKNOWN, "test", true, false, Optional.empty()); ServerInfo legacyServerInfo = SERVER_INFO_CODEC.fromJson("{\"nodeVersion\":{\"version\":\"<unknown>\"},\"environment\":\"test\",\"coordinator\":true}"); assertEquals(newServerInfo, legacyServerInfo); }
@Test public void testJsonRoundTrip() { assertJsonRoundTrip(new ServerInfo(UNKNOWN, "test", true, false, Optional.of(Duration.valueOf("2m")))); assertJsonRoundTrip(new ServerInfo(UNKNOWN, "test", true, false, Optional.empty())); }
@Provides @Singleton public ServerInfo createServerInfo(NodeVersion nodeVersion, NodeInfo nodeInfo) { return new ServerInfo(nodeVersion, nodeInfo.getEnvironment()); }
@Test public void testBackwardsCompatible() { ServerInfo newServerInfo = new ServerInfo(UNKNOWN, "test", true, false, Optional.empty()); ServerInfo legacyServerInfo = SERVER_INFO_CODEC.fromJson("{\"nodeVersion\":{\"version\":\"<unknown>\"},\"environment\":\"test\",\"coordinator\":true}"); assertEquals(newServerInfo, legacyServerInfo); }
@Test public void testJsonRoundTrip() { assertJsonRoundTrip(new ServerInfo(UNKNOWN, "test", true, false, Optional.of(Duration.valueOf("2m")))); assertJsonRoundTrip(new ServerInfo(UNKNOWN, "test", true, false, Optional.empty())); }