You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by GitBox <gi...@apache.org> on 2022/12/16 12:41:45 UTC

[GitHub] [camel-quarkus] aldettinger commented on a diff in pull request #4345: Expand AWS CW test coverage #4196

aldettinger commented on code in PR #4345:
URL: https://github.com/apache/camel-quarkus/pull/4345#discussion_r1050724047


##########
integration-test-groups/aws2/aws2-cw/src/test/java/org/apache/camel/quarkus/component/aws2/cw/it/Aws2CwTest.java:
##########
@@ -90,4 +97,148 @@ public void metric() {
 
     }
 
+    @Test
+    public void headers() {
+
+        final Instant startTime = Instant.ofEpochMilli(System.currentTimeMillis() - 10000);
+
+        final String namespace = "cq-metrics-" + java.util.UUID.randomUUID().toString().replace("-", "");
+        final String metricName = "metricName" + java.util.UUID.randomUUID().toString().replace("-", "");
+        final int value = (int) (Math.random() * 10000);
+
+        List<Map<String, Object>> data = new LinkedList<>();
+
+        data.add(CollectionHelper.mapOf(
+                Cw2Constants.METRIC_NAMESPACE, namespace,
+                Cw2Constants.METRIC_NAME, metricName,
+                Cw2Constants.METRIC_VALUE, 2 * value,
+                Cw2Constants.METRIC_UNIT, "Count",
+                Cw2Constants.METRIC_DIMENSION_NAME, "type",
+                Cw2Constants.METRIC_DIMENSION_VALUE, "even"));
+        data.add(CollectionHelper.mapOf(
+                Cw2Constants.METRIC_NAMESPACE, namespace,
+                Cw2Constants.METRIC_NAME, metricName,
+                Cw2Constants.METRIC_VALUE, 2 * value + 2,
+                Cw2Constants.METRIC_UNIT, "Count",
+                Cw2Constants.METRIC_DIMENSIONS, CollectionHelper.mapOf("type", "even")));
+        data.add(CollectionHelper.mapOf(
+                Cw2Constants.METRIC_NAMESPACE, namespace,
+                Cw2Constants.METRIC_NAME, metricName,
+                Cw2Constants.METRIC_VALUE, 2 * value + 4,
+                Cw2Constants.METRIC_UNIT, "Count",
+                Cw2Constants.METRIC_DIMENSION_NAME, "type",
+                Cw2Constants.METRIC_DIMENSION_VALUE, "even"));
+
+        data.add(CollectionHelper.mapOf(
+                Cw2Constants.METRIC_NAMESPACE, namespace,
+                Cw2Constants.METRIC_NAME, metricName,
+                Cw2Constants.METRIC_VALUE, 2 * value + 1,
+                Cw2Constants.METRIC_UNIT, "Count",
+                Cw2Constants.METRIC_DIMENSION_NAME, "type",
+                Cw2Constants.METRIC_DIMENSION_VALUE, "odd"));
+        data.add(CollectionHelper.mapOf(
+                Cw2Constants.METRIC_NAMESPACE, namespace, Cw2Constants.METRIC_NAME, metricName,
+                Cw2Constants.METRIC_VALUE, 2 * value + 3,
+                Cw2Constants.METRIC_UNIT, "Count",
+                Cw2Constants.METRIC_DIMENSION_NAME, "type",
+                Cw2Constants.METRIC_DIMENSION_VALUE, "odd"));
+        //ignored because of timestamp
+        data.add(CollectionHelper.mapOf(
+                Cw2Constants.METRIC_NAMESPACE, namespace, Cw2Constants.METRIC_NAME, metricName,
+                Cw2Constants.METRIC_VALUE, 2 * value + 5,
+                Cw2Constants.METRIC_TIMESTAMP, System.currentTimeMillis() - 24 * 60 * 60 * 10000,
+                Cw2Constants.METRIC_UNIT, "Count",
+                Cw2Constants.METRIC_DIMENSION_NAME, "type",
+                Cw2Constants.METRIC_DIMENSION_VALUE, "odd"));
+
+        RestAssured.given()
+                .contentType(ContentType.JSON)
+                .body(data)
+                .post("/aws2-cw/send-metric-maps/" + namespace)
+                .then()
+                .statusCode(201);
+
+        Awaitility.await().pollInterval(1, TimeUnit.SECONDS).atMost(120, TimeUnit.SECONDS).until(
+                () -> {
+
+                    List<Datapoint> oddDatapoints = client.getMetricStatistics(
+                            GetMetricStatisticsRequest.builder()
+                                    .namespace(namespace)
+                                    .metricName(metricName)
+                                    .statistics(Statistic.SAMPLE_COUNT, Statistic.MINIMUM, Statistic.MAXIMUM)
+                                    .startTime(startTime)
+                                    .dimensions(Dimension.builder().name("type").value("odd").build())
+                                    .endTime(Instant.ofEpochMilli(System.currentTimeMillis() + 10000))
+                                    .period(30)
+                                    .build())
+                            .datapoints();
+
+                    List<Datapoint> evenDatapoints = client.getMetricStatistics(
+                            GetMetricStatisticsRequest.builder()
+                                    .namespace(namespace)
+                                    .metricName(metricName)
+                                    .statistics(Statistic.SAMPLE_COUNT, Statistic.AVERAGE)
+                                    .startTime(startTime)
+                                    .dimensions(Dimension.builder().name("type").value("even").build())
+                                    .endTime(Instant.ofEpochMilli(System.currentTimeMillis() + 10000))
+                                    .period(30)
+                                    .build())
+                            .datapoints();
+                    LOG.debug("Expecting some datapoints for metric " + namespace + "/" + metricName + " (type='odd'), got "
+                            + oddDatapoints);
+                    if (oddDatapoints.isEmpty()) {
+                        return false;
+                    }
+                    LOG.debug("Expecting some datapoints for metric " + namespace + "/" + metricName + " (type='even'), got "
+                            + evenDatapoints);
+                    if (evenDatapoints.isEmpty()) {
+                        return false;
+                    }
+
+                    Datapoint oddDp = oddDatapoints.get(0);
+                    Datapoint evenDp = evenDatapoints.get(0);
+
+                    if (!(oddDp.sampleCount().intValue() == 2
+                            && oddDp.minimum().intValue() == 2 * value + 1
+                            && oddDp.maximum().intValue() == 2 * value + 3)) {
+                        throw new RuntimeException("Unexpected odd datapoint " + oddDp

Review Comment:
   Is there any specific reason to throw RuntimeException instead of using assert* methods ?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org