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 {