You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ts...@apache.org on 2022/08/30 08:13:19 UTC

[camel-k] branch main updated: test: Add an E2E test for deploying an it using secret key filtering

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

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


The following commit(s) were added to refs/heads/main by this push:
     new 59f5bc7ce test: Add an E2E test for deploying an it using secret key filtering
59f5bc7ce is described below

commit 59f5bc7ce5a41ab930f1409a8bc827e14896341b
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Mon Aug 29 17:14:37 2022 +0200

    test: Add an E2E test for deploying an it using secret key filtering
---
 e2e/global/common/config/config_test.go            | 15 +++++++++++++++
 .../config/files/config-secret-key-route.groovy    | 22 ++++++++++++++++++++++
 2 files changed, 37 insertions(+)

diff --git a/e2e/global/common/config/config_test.go b/e2e/global/common/config/config_test.go
index cda0c2990..9363fb391 100644
--- a/e2e/global/common/config/config_test.go
+++ b/e2e/global/common/config/config_test.go
@@ -140,6 +140,12 @@ func TestRunConfigExamples(t *testing.T) {
 		secData["my-secret-key"] = "very top secret"
 		CreatePlainTextSecret(ns, "my-sec", secData)
 
+		// Store a secret with multi values
+		var secDataMulti = make(map[string]string)
+		secDataMulti["my-secret-key"] = "very top secret"
+		secDataMulti["my-secret-key-2"] = "even more secret"
+		CreatePlainTextSecret(ns, "my-sec-multi", secDataMulti)
+
 		t.Run("Config secret", func(t *testing.T) {
 			Expect(KamelRunWithID(operatorID, ns, "./files/config-secret-route.groovy", "--config", "secret:my-sec").Execute()).To(Succeed())
 			Eventually(IntegrationPodPhase(ns, "config-secret-route"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
@@ -167,6 +173,15 @@ func TestRunConfigExamples(t *testing.T) {
 			Eventually(AutogeneratedConfigmapsCount(ns), TestTimeoutShort).Should(Equal(0))
 		})
 
+		t.Run("Secret with filtered key", func(t *testing.T) {
+			Expect(KamelRunWithID(operatorID, ns, "./files/config-secret-key-route.groovy", "--config", "secret:my-sec-multi/my-secret-key-2").Execute()).To(Succeed())
+			Eventually(IntegrationPodPhase(ns, "config-secret-key-route"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+			Eventually(IntegrationConditionStatus(ns, "config-secret-key-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
+			Eventually(IntegrationLogs(ns, "config-secret-key-route"), TestTimeoutShort).ShouldNot(ContainSubstring(secDataMulti["my-secret-key"]))
+			Eventually(IntegrationLogs(ns, "config-secret-key-route"), TestTimeoutShort).Should(ContainSubstring(secDataMulti["my-secret-key-2"]))
+			Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
+		})
+
 		// Resource File
 
 		t.Run("Plain text resource file", func(t *testing.T) {
diff --git a/e2e/global/common/config/files/config-secret-key-route.groovy b/e2e/global/common/config/files/config-secret-key-route.groovy
new file mode 100644
index 000000000..21919af65
--- /dev/null
+++ b/e2e/global/common/config/files/config-secret-key-route.groovy
@@ -0,0 +1,22 @@
+// camel-k: language=groovy
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ from('timer:secret')
+    .setBody()
+        .simple("resource:classpath:my-secret-key-2")
+    .log('secret content is: ${body}')