This is an automated email from the ASF dual-hosted git repository.

astefanutti pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit 79bdca84cc918966e3fd19957b1575863dca9df5
Author: Lukas Lowinger <llowi...@redhat.com>
AuthorDate: Wed Nov 25 22:20:54 2020 +0100

    [ENTESB-14357] Provide tests for basic Operator Alerts
---
 e2e/yaks/openshift/monitoring/alerting.feature | 16 ++++++++++++++++
 e2e/yaks/openshift/monitoring/obtainToken.sh   |  6 ++++--
 e2e/yaks/openshift/monitoring/yaks-config.yaml |  4 +++-
 3 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/e2e/yaks/openshift/monitoring/alerting.feature 
b/e2e/yaks/openshift/monitoring/alerting.feature
new file mode 100644
index 0000000..7b66a7f
--- /dev/null
+++ b/e2e/yaks/openshift/monitoring/alerting.feature
@@ -0,0 +1,16 @@
+Feature: Alerts from Camel-K are propagated to Openshift Prometheus
+
+  Background: Prepare Thanos-ruler URL
+    Given URL: https://thanos-ruler.openshift-user-workload-monitoring:9091
+
+  Scenario: Integration gets the message from the timer
+    Given Camel-K integration metrics is running
+    Then Camel-K integration metrics should print Successfully processed
+    Then sleep 120000 ms
+
+  Scenario: Thanos-ruler is able to serve alerts based on metrics from Operator
+    Given HTTP request header Authorization is "Bearer ${openshift.token}"
+    When send GET /api/v1/rules
+    Then verify HTTP response expressions
+      | $..rules[?(@.labels.namespace == '${YAKS_NAMESPACE}' && @.state == 
'pending')].name | CamelKBuildFailure |
+    And receive HTTP 200
\ No newline at end of file
diff --git a/e2e/yaks/openshift/monitoring/obtainToken.sh 
b/e2e/yaks/openshift/monitoring/obtainToken.sh
index c3616d3..a4bbe83 100755
--- a/e2e/yaks/openshift/monitoring/obtainToken.sh
+++ b/e2e/yaks/openshift/monitoring/obtainToken.sh
@@ -17,6 +17,8 @@
 
 TOKEN=`oc config view --minify --output 'jsonpath={..token}'`
 echo "openshift.token=${TOKEN}" > openshift-token.properties
-oc -n ${YAKS_NAMESPACE} create secret generic openshift-token-secret 
--from-file=openshift-token.properties
-oc -n ${YAKS_NAMESPACE} label secret openshift-token-secret 
yaks.citrusframework.org/test=metrics
+oc -n ${YAKS_NAMESPACE} create secret generic openshift-token-secret-metrics 
--from-file=openshift-token.properties
+oc -n ${YAKS_NAMESPACE} create secret generic openshift-token-secret-alerting 
--from-file=openshift-token.properties
+oc -n ${YAKS_NAMESPACE} label secret openshift-token-secret-metrics 
yaks.citrusframework.org/test=metrics
+oc -n ${YAKS_NAMESPACE} label secret openshift-token-secret-alerting 
yaks.citrusframework.org/test=alerting
 rm openshift-token.properties
\ No newline at end of file
diff --git a/e2e/yaks/openshift/monitoring/yaks-config.yaml 
b/e2e/yaks/openshift/monitoring/yaks-config.yaml
index ed57176..242ae05 100644
--- a/e2e/yaks/openshift/monitoring/yaks-config.yaml
+++ b/e2e/yaks/openshift/monitoring/yaks-config.yaml
@@ -28,4 +28,6 @@ pre:
     script: ./dependencyInstall.sh
   - name: Integration run
     run: |
-      kamel run --name metrics Metrics.java -w -n $YAKS_NAMESPACE --dependency 
mvn:com.github.openshift-integration:camel-k-example-metrics:1.0.0-SNAPSHOT
+      set +e
+      kamel run --name metrics Metrics.java -w -n $YAKS_NAMESPACE --dependency 
mvn:com.github.openshift-integration:camel-k-example-metrics-non-existing:1.0.0-SNAPSHOT
+      kamel run --name metrics Metrics.java -w -n $YAKS_NAMESPACE --dependency 
mvn:com.github.openshift-integration:camel-k-example-metrics:1.0.0-SNAPSHOT
\ No newline at end of file

Reply via email to