aboutsummaryrefslogtreecommitdiffstats
path: root/metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtilTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtilTest.java')
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtilTest.java76
1 files changed, 43 insertions, 33 deletions
diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtilTest.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtilTest.java
index 1a0d5c3e149..ebd80b38a42 100644
--- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtilTest.java
+++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtilTest.java
@@ -2,8 +2,12 @@
package ai.vespa.metricsproxy.metric.model.json;
import ai.vespa.metricsproxy.metric.model.MetricsPacket;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ArrayNode;
import org.junit.Test;
+import java.io.IOException;
import java.util.List;
import java.util.Set;
@@ -12,69 +16,75 @@ import static ai.vespa.metricsproxy.http.ValuesFetcher.defaultMetricsConsumerId;
import static ai.vespa.metricsproxy.metric.model.ServiceId.toServiceId;
import static ai.vespa.metricsproxy.metric.model.json.YamasJsonUtil.YAMAS_ROUTING;
import static ai.vespa.metricsproxy.metric.model.json.YamasJsonUtil.toMetricsPackets;
-import static java.util.Collections.singleton;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
/**
* @author gjoranv
*/
public class YamasJsonUtilTest {
+ private static final ObjectMapper jsonMapper = new ObjectMapper();
+ private static JsonNode metrics(MetricsPacket packet, boolean addStatus) throws IOException {
+ return metrics(List.of(packet), addStatus).get(0);
+ }
+ private static ArrayNode metrics(List<MetricsPacket> packets, boolean addStatus) throws IOException {
+ return (ArrayNode) jsonMapper.readTree(YamasJsonUtil.toJson(packets, addStatus)).get("metrics");
+ }
@Test
- public void json_model_gets_null_status_by_default() {
- MetricsPacket packet = new MetricsPacket.Builder(toServiceId("foo"))
- .build();
- YamasJsonModel jsonModel = YamasJsonUtil.toYamasArray(singleton(packet)).metrics.get(0);
- assertNull(jsonModel.status_code);
- assertNull(jsonModel.status_msg);
+ public void json_model_gets_null_status_by_default() throws IOException {
+ ArrayNode json = metrics(List.of(new MetricsPacket.Builder(toServiceId("foo")).build(),
+ new MetricsPacket.Builder(toServiceId("bar")).build()), false);
+ assertFalse(json.get(0).has("status_code"));
+ assertFalse(json.get(0).has("status_msg"));
+ assertTrue(json.get(1).has("status_code"));
+ assertTrue(json.get(1).has("status_msg"));
}
@Test
- public void status_is_included_in_json_model_when_explicitly_asked_for() {
- MetricsPacket packet = new MetricsPacket.Builder(toServiceId("foo"))
- .build();
- YamasJsonModel jsonModel = YamasJsonUtil.toYamasArray(singleton(packet), true).metrics.get(0);
- assertNotNull(jsonModel.status_code);
- assertNotNull(jsonModel.status_msg);
+ public void status_is_included_in_json_model_when_explicitly_asked_for() throws IOException {
+ ArrayNode json = metrics(List.of(new MetricsPacket.Builder(toServiceId("foo")).build(),
+ new MetricsPacket.Builder(toServiceId("bar")).build()), true);
+ assertTrue(json.get(0).has("status_code"));
+ assertTrue(json.get(0).has("status_msg"));
+ assertTrue(json.get(1).has("status_code"));
+ assertTrue(json.get(1).has("status_msg"));
}
@Test
- public void timestamp_0_in_packet_is_translated_to_null_in_json_model() {
- MetricsPacket packet = new MetricsPacket.Builder(toServiceId("foo"))
- .timestamp(0L)
- .build();
- YamasJsonModel jsonModel = YamasJsonUtil.toYamasArray(singleton(packet)).metrics.get(0);
- assertNull(jsonModel.timestamp);
+ public void timestamp_0_in_packet_is_translated_to_null_in_json_model() throws IOException {
+ MetricsPacket packet = new MetricsPacket.Builder(toServiceId("foo")).timestamp(0L).build();
+ JsonNode json = metrics(packet, true);
+ assertFalse(json.has("timestamp"));
}
@Test
- public void empty_consumers_is_translated_to_null_routing_in_json_model() {
- MetricsPacket packet = new MetricsPacket.Builder(toServiceId("foo"))
- .build();
- YamasJsonModel jsonModel = YamasJsonUtil.toYamasArray(singleton(packet)).metrics.get(0);
- assertNull(jsonModel.routing);
+ public void empty_consumers_is_translated_to_null_routing_in_json_model() throws IOException {
+ MetricsPacket packet = new MetricsPacket.Builder(toServiceId("foo")).build();
+ JsonNode json = metrics(packet, true);
+ assertFalse(json.has("routing"));
}
@Test
- public void default_public_consumer_is_filtered_from_yamas_routing() {
+ public void default_public_consumer_is_filtered_from_yamas_routing() throws IOException {
MetricsPacket packet = new MetricsPacket.Builder(toServiceId("foo"))
.addConsumers(Set.of(vespaMetricsConsumerId, defaultMetricsConsumerId))
.build();
- YamasJsonModel jsonModel = YamasJsonUtil.toYamasArray(singleton(packet)).metrics.get(0);
- List<String> namespaces = jsonModel.routing.get(YAMAS_ROUTING).namespaces;
+ JsonNode json = metrics(packet, false);
+ JsonNode routing = json.get("routing");
+ JsonNode yamas = routing.get(YAMAS_ROUTING);
+ ArrayNode namespaces = (ArrayNode) yamas.get("namespaces");
assertEquals(1, namespaces.size());
- assertEquals(vespaMetricsConsumerId.id, namespaces.get(0));
+ assertEquals(vespaMetricsConsumerId.id, namespaces.get(0).asText());
}
@Test
- public void only_default_public_consumer_yields_null_routing_in_json_model() {
+ public void only_default_public_consumer_yields_null_routing_in_json_model() throws IOException {
MetricsPacket packet = new MetricsPacket.Builder(toServiceId("foo"))
.addConsumers(Set.of(defaultMetricsConsumerId))
.build();
- YamasJsonModel jsonModel = YamasJsonUtil.toYamasArray(singleton(packet)).metrics.get(0);
- assertNull(jsonModel.routing);
+ JsonNode json = metrics(packet, false);
+ assertFalse(json.has(YAMAS_ROUTING));
}
@Test