16 package org.openkilda.atdd;
20 import static org.junit.Assert.assertFalse;
21 import static org.junit.Assert.assertNotEquals;
25 import com.fasterxml.jackson.core.type.TypeReference;
26 import com.fasterxml.jackson.databind.ObjectMapper;
27 import cucumber.api.java.en.Then;
28 import org.glassfish.jersey.client.ClientConfig;
30 import java.util.List;
31 import java.util.concurrent.TimeUnit;
32 import javax.ws.rs.client.Client;
33 import javax.ws.rs.client.ClientBuilder;
34 import javax.ws.rs.core.Response;
37 public boolean test =
false;
42 private List<Metric> getNumberOfDatapoints() throws Throwable {
43 System.out.println(
"\n==> OpenTSDB Metrics request");
45 long current = System.currentTimeMillis();
46 Client client = ClientBuilder.newClient(
new ClientConfig());
48 Response response = client
49 .target(opentsdbEndpoint)
51 .queryParam(
"start",
"24h-ago")
52 .queryParam(
"m",
"sum:pen.switch.tx-bytes")
53 .queryParam(
"timezone",
"Australia/Melbourne")
56 System.out.println(String.format(
"===> Response = %s", response));
57 System.out.println(String.format(
"===> OpenTSDB Metrics Time: %,.3f", getTimeDuration(current)));
59 List<Metric> metrics =
new ObjectMapper().readValue(
60 response.readEntity(String.class),
new TypeReference<List<Metric>>() {});
62 System.out.println(String.format(
"====> Metrics = %s", metrics));
67 @Then(
"^data go to database$")
69 TimeUnit.SECONDS.sleep(15);
70 List<Metric>
result = getNumberOfDatapoints();
72 assertFalse(
result.isEmpty());
75 @Then(
"^database keeps growing$")
77 List<Metric> firstResult = getNumberOfDatapoints();
78 TimeUnit.SECONDS.sleep(15);
79 List<Metric> secondResult = getNumberOfDatapoints();
81 assertNotEquals(firstResult, secondResult);
void database_keeps_growing()
static final String opentsdbEndpoint
static double getTimeDuration(final long current)