You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pc...@apache.org on 2022/06/02 08:04:07 UTC

[camel-k] 01/08: Detect wire tap EIP endpoints

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

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

commit 3986fd18660c4a70c2b4dabc7d5d30b9985fbf75
Author: Adriano Machado <unknown>
AuthorDate: Fri May 27 18:20:25 2022 -0400

    Detect wire tap EIP endpoints
---
 pkg/util/source/inspector.go                  |  2 ++
 pkg/util/source/inspector_groovy.go           |  2 ++
 pkg/util/source/inspector_groovy_test.go      |  9 +++++++++
 pkg/util/source/inspector_java_script.go      |  2 ++
 pkg/util/source/inspector_java_script_test.go | 13 +++++++++++++
 pkg/util/source/inspector_java_source.go      |  1 +
 pkg/util/source/inspector_java_source_test.go |  9 +++++++++
 7 files changed, 38 insertions(+)

diff --git a/pkg/util/source/inspector.go b/pkg/util/source/inspector.go
index 651af7344..be2b86ddc 100644
--- a/pkg/util/source/inspector.go
+++ b/pkg/util/source/inspector.go
@@ -40,9 +40,11 @@ var (
 	singleQuotedTo          = regexp.MustCompile(`\.to\s*\(\s*'([a-zA-Z0-9-]+:[^']+)'`)
 	singleQuotedToD         = regexp.MustCompile(`\.toD\s*\(\s*'([a-zA-Z0-9-]+:[^']+)'`)
 	singleQuotedToF         = regexp.MustCompile(`\.toF\s*\(\s*'([a-zA-Z0-9-]+:[^']+)'`)
+	singleQuotedWireTap     = regexp.MustCompile(`\.wireTap\s*\(\s*'([a-zA-Z0-9-]+:[^']+)'`)
 	doubleQuotedTo          = regexp.MustCompile(`\.to\s*\(\s*"([a-zA-Z0-9-]+:[^"]+)"`)
 	doubleQuotedToD         = regexp.MustCompile(`\.toD\s*\(\s*"([a-zA-Z0-9-]+:[^"]+)"`)
 	doubleQuotedToF         = regexp.MustCompile(`\.toF\s*\(\s*"([a-zA-Z0-9-]+:[^"]+)"`)
+	doubleQuotedWireTap     = regexp.MustCompile(`\.wireTap\s*\(\s*"([a-zA-Z0-9-]+:[^"]+)"`)
 	languageRegexp          = regexp.MustCompile(`language\s*\(\s*["|']([a-zA-Z0-9-]+[^"|']+)["|']\s*,.*\)`)
 	camelTypeRegexp         = regexp.MustCompile(`.*(org.apache.camel.*Component|DataFormat|Language)`)
 	jsonLibraryRegexp       = regexp.MustCompile(`.*JsonLibrary\.Jackson.*`)
diff --git a/pkg/util/source/inspector_groovy.go b/pkg/util/source/inspector_groovy.go
index 318107862..686814084 100644
--- a/pkg/util/source/inspector_groovy.go
+++ b/pkg/util/source/inspector_groovy.go
@@ -42,6 +42,8 @@ func (i GroovyInspector) Extract(source v1.SourceSpec, meta *Metadata) error {
 		doubleQuotedToD,
 		singleQuotedToF,
 		doubleQuotedToF,
+		singleQuotedWireTap,
+		doubleQuotedWireTap,
 	)
 
 	meta.FromURIs = append(meta.FromURIs, from...)
diff --git a/pkg/util/source/inspector_groovy_test.go b/pkg/util/source/inspector_groovy_test.go
index 7f091f3b8..d0d2a5e80 100644
--- a/pkg/util/source/inspector_groovy_test.go
+++ b/pkg/util/source/inspector_groovy_test.go
@@ -48,6 +48,11 @@ from("direct:start")
     .to('kamelet:foo/bar?baz=test')
 `
 
+const GroovyWireTapEipSingleQuote = `
+from("direct:start")
+    .wireTap('kamelet:foo/bar?baz=test')
+`
+
 func TestGroovyKamelet(t *testing.T) {
 	tc := []struct {
 		source   string
@@ -69,6 +74,10 @@ func TestGroovyKamelet(t *testing.T) {
 			source:   GroovyKameletEndpointSingleQuote,
 			kamelets: []string{"foo/bar"},
 		},
+		{
+			source:   GroovyWireTapEipSingleQuote,
+			kamelets: []string{"foo/bar"},
+		},
 	}
 
 	for i := range tc {
diff --git a/pkg/util/source/inspector_java_script.go b/pkg/util/source/inspector_java_script.go
index d8679e0c9..ebcbe37bb 100644
--- a/pkg/util/source/inspector_java_script.go
+++ b/pkg/util/source/inspector_java_script.go
@@ -42,6 +42,8 @@ func (i JavaScriptInspector) Extract(source v1.SourceSpec, meta *Metadata) error
 		doubleQuotedToD,
 		singleQuotedToF,
 		doubleQuotedToF,
+		singleQuotedWireTap,
+		doubleQuotedWireTap,
 	)
 
 	meta.FromURIs = append(meta.FromURIs, from...)
diff --git a/pkg/util/source/inspector_java_script_test.go b/pkg/util/source/inspector_java_script_test.go
index f9e1634a6..ff8d82daa 100644
--- a/pkg/util/source/inspector_java_script_test.go
+++ b/pkg/util/source/inspector_java_script_test.go
@@ -37,6 +37,11 @@ from("direct:start")
     .to("kamelet:foo/bar?baz=test")
 `
 
+const JavaScriptWireTapEipSingleQuote = `
+from("direct:start")
+    .wireTap('kamelet:foo/bar?baz=test')
+`
+
 func TestJavaScriptKamelet(t *testing.T) {
 	tc := []struct {
 		source   string
@@ -50,6 +55,14 @@ func TestJavaScriptKamelet(t *testing.T) {
 			source:   JavaScriptKameletEndpoint,
 			kamelets: []string{"foo/bar"},
 		},
+		{
+			source:   JavaScriptKameletEndpoint,
+			kamelets: []string{"foo/bar"},
+		},
+		{
+			source:   JavaScriptWireTapEipSingleQuote,
+			kamelets: []string{"foo/bar"},
+		},
 	}
 
 	for i := range tc {
diff --git a/pkg/util/source/inspector_java_source.go b/pkg/util/source/inspector_java_source.go
index 80981e74b..00a9f391f 100644
--- a/pkg/util/source/inspector_java_source.go
+++ b/pkg/util/source/inspector_java_source.go
@@ -37,6 +37,7 @@ func (i JavaSourceInspector) Extract(source v1.SourceSpec, meta *Metadata) error
 		doubleQuotedTo,
 		doubleQuotedToD,
 		doubleQuotedToF,
+		doubleQuotedWireTap,
 	)
 
 	meta.FromURIs = append(meta.FromURIs, from...)
diff --git a/pkg/util/source/inspector_java_source_test.go b/pkg/util/source/inspector_java_source_test.go
index 353643130..af1a8e3af 100644
--- a/pkg/util/source/inspector_java_source_test.go
+++ b/pkg/util/source/inspector_java_source_test.go
@@ -37,6 +37,11 @@ from("direct:start")
     .to("kamelet:foo/bar?baz=test")
 `
 
+const JavaSourceWireTapEip = `
+from("direct:start")
+    .wireTap("kamelet:foo/bar?baz=test")
+`
+
 func TestJavaSourceKamelet(t *testing.T) {
 	tc := []struct {
 		source   string
@@ -50,6 +55,10 @@ func TestJavaSourceKamelet(t *testing.T) {
 			source:   JavaSourceKameletEndpoint,
 			kamelets: []string{"foo/bar"},
 		},
+		{
+			source:   JavaSourceWireTapEip,
+			kamelets: []string{"foo/bar"},
+		},
 	}
 
 	for i := range tc {