You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cd...@apache.org on 2024/03/20 07:39:44 UTC
(camel-k) branch main updated: chore: Use camel case for Pipe error handler ref
This is an automated email from the ASF dual-hosted git repository.
cdeppisch 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 0b64ac126 chore: Use camel case for Pipe error handler ref
0b64ac126 is described below
commit 0b64ac1264a8e7032d7618edd9ccfca8ac933fd0
Author: Christoph Deppisch <cd...@redhat.com>
AuthorDate: Tue Mar 12 20:45:40 2024 +0100
chore: Use camel case for Pipe error handler ref
---
pkg/apis/camel/v1/integration_types_support.go | 5 +++
pkg/controller/pipe/integration.go | 5 +--
pkg/controller/pipe/integration_test.go | 50 ++++++++++++++++++++++++++
pkg/trait/error_handler.go | 5 ++-
pkg/trait/error_handler_test.go | 17 +++++----
5 files changed, 68 insertions(+), 14 deletions(-)
diff --git a/pkg/apis/camel/v1/integration_types_support.go b/pkg/apis/camel/v1/integration_types_support.go
index e124cb71e..3705c5a05 100644
--- a/pkg/apis/camel/v1/integration_types_support.go
+++ b/pkg/apis/camel/v1/integration_types_support.go
@@ -116,6 +116,11 @@ func (in *IntegrationSpec) AddDependency(dependency string) {
in.Dependencies = append(in.Dependencies, dependency)
}
+// AddConfigurationProperty adds a new configuration property.
+func (in *IntegrationSpec) AddConfigurationProperty(confValue string) {
+ in.AddConfiguration("property", confValue)
+}
+
// GetConfigurationProperty returns a configuration property.
func (in *IntegrationSpec) GetConfigurationProperty(property string) string {
for _, confSpec := range in.Configuration {
diff --git a/pkg/controller/pipe/integration.go b/pkg/controller/pipe/integration.go
index d78928f65..80b06d662 100644
--- a/pkg/controller/pipe/integration.go
+++ b/pkg/controller/pipe/integration.go
@@ -224,10 +224,7 @@ func configureBinding(integration *v1.Integration, bindings ...*bindings.Binding
return err
}
- integration.Spec.Configuration = append(integration.Spec.Configuration, v1.ConfigurationSpec{
- Type: "property",
- Value: entry,
- })
+ integration.Spec.AddConfigurationProperty(entry)
}
}
diff --git a/pkg/controller/pipe/integration_test.go b/pkg/controller/pipe/integration_test.go
index 13e16591b..30af04706 100644
--- a/pkg/controller/pipe/integration_test.go
+++ b/pkg/controller/pipe/integration_test.go
@@ -54,6 +54,56 @@ func TestCreateIntegrationForPipe(t *testing.T) {
assert.Equal(t, expectedNominalRoute(), string(dsl))
}
+func TestCreateIntegrationForPipeWithSinkErrorHandler(t *testing.T) {
+ client, err := test.NewFakeClient()
+ require.NoError(t, err)
+
+ pipe := nominalPipe("my-error-handler-pipe")
+ pipe.Spec.ErrorHandler = &v1.ErrorHandlerSpec{
+ RawMessage: []byte(`{"sink": {"endpoint": {"uri": "someUri"}}}`),
+ }
+
+ it, err := CreateIntegrationFor(context.TODO(), client, &pipe)
+ require.NoError(t, err)
+ assert.Equal(t, "my-error-handler-pipe", it.Name)
+ assert.Equal(t, "default", it.Namespace)
+ assert.Equal(t, "camel.apache.org/v1", it.OwnerReferences[0].APIVersion)
+ assert.Equal(t, "Pipe", it.OwnerReferences[0].Kind)
+ assert.Equal(t, "my-error-handler-pipe", it.OwnerReferences[0].Name)
+ assert.Len(t, it.Spec.Configuration, 3)
+ assert.Equal(t, "#class:org.apache.camel.builder.DeadLetterChannelBuilder", it.Spec.GetConfigurationProperty("camel.beans.defaultErrorHandler"))
+ assert.Equal(t, "someUri", it.Spec.GetConfigurationProperty("camel.beans.defaultErrorHandler.deadLetterUri"))
+ assert.Equal(t, "defaultErrorHandler", it.Spec.GetConfigurationProperty(v1.ErrorHandlerRefName))
+ dsl, err := dsl.ToYamlDSL(it.Spec.Flows)
+ require.NoError(t, err)
+ assert.Equal(t, expectedNominalRoute(), string(dsl))
+}
+
+func TestCreateIntegrationForPipeWithLogErrorHandler(t *testing.T) {
+ client, err := test.NewFakeClient()
+ require.NoError(t, err)
+
+ pipe := nominalPipe("my-error-handler-pipe")
+ pipe.Spec.ErrorHandler = &v1.ErrorHandlerSpec{
+ RawMessage: []byte(`{"log": {"parameters": {"showHeaders": "true"}}}`),
+ }
+
+ it, err := CreateIntegrationFor(context.TODO(), client, &pipe)
+ require.NoError(t, err)
+ assert.Equal(t, "my-error-handler-pipe", it.Name)
+ assert.Equal(t, "default", it.Namespace)
+ assert.Equal(t, "camel.apache.org/v1", it.OwnerReferences[0].APIVersion)
+ assert.Equal(t, "Pipe", it.OwnerReferences[0].Kind)
+ assert.Equal(t, "my-error-handler-pipe", it.OwnerReferences[0].Name)
+ assert.Len(t, it.Spec.Configuration, 3)
+ assert.Equal(t, "#class:org.apache.camel.builder.DefaultErrorHandlerBuilder", it.Spec.GetConfigurationProperty("camel.beans.defaultErrorHandler"))
+ assert.Equal(t, "true", it.Spec.GetConfigurationProperty("camel.beans.defaultErrorHandler.showHeaders"))
+ assert.Equal(t, "defaultErrorHandler", it.Spec.GetConfigurationProperty(v1.ErrorHandlerRefName))
+ dsl, err := dsl.ToYamlDSL(it.Spec.Flows)
+ require.NoError(t, err)
+ assert.Equal(t, expectedNominalRoute(), string(dsl))
+}
+
func TestCreateIntegrationForPipeDataType(t *testing.T) {
client, err := test.NewFakeClient()
require.NoError(t, err)
diff --git a/pkg/trait/error_handler.go b/pkg/trait/error_handler.go
index 98fecde4e..c37388e69 100644
--- a/pkg/trait/error_handler.go
+++ b/pkg/trait/error_handler.go
@@ -25,7 +25,6 @@ import (
v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
traitv1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1/trait"
-
"github.com/apache/camel-k/v2/pkg/util"
)
@@ -86,8 +85,8 @@ func (t *errorHandlerTrait) addErrorHandlerDependencies(e *Environment, uri stri
func (t *errorHandlerTrait) addGlobalErrorHandlerAsSource(e *Environment) error {
flowErrorHandler := map[string]interface{}{
- "error-handler": map[string]string{
- "ref-error-handler": t.ErrorHandlerRef,
+ "errorHandler": map[string]string{
+ "refErrorHandler": t.ErrorHandlerRef,
},
}
encodedFlowErrorHandler, err := yaml.Marshal([]map[string]interface{}{flowErrorHandler})
diff --git a/pkg/trait/error_handler_test.go b/pkg/trait/error_handler_test.go
index 114222844..d5579aa95 100644
--- a/pkg/trait/error_handler_test.go
+++ b/pkg/trait/error_handler_test.go
@@ -25,7 +25,6 @@ import (
"github.com/stretchr/testify/require"
v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
-
"github.com/apache/camel-k/v2/pkg/util/camel"
)
@@ -34,7 +33,7 @@ func TestErrorHandlerConfigureFromIntegrationProperty(t *testing.T) {
Catalog: NewEnvironmentTestCatalog(),
Integration: &v1.Integration{},
}
- e.Integration.Spec.AddConfiguration("property", fmt.Sprintf("%v = %s", v1.ErrorHandlerRefName, "defaultErrorHandler"))
+ e.Integration.Spec.AddConfigurationProperty(fmt.Sprintf("%v = %s", v1.ErrorHandlerRefName, "defaultErrorHandler"))
trait := newErrorHandlerTrait()
enabled, condition, err := trait.Configure(e)
@@ -72,8 +71,8 @@ func TestErrorHandlerApplySource(t *testing.T) {
err = trait.Apply(e)
require.NoError(t, err)
- assert.Equal(t, `- error-handler:
- ref-error-handler: defaultErrorHandler
+ assert.Equal(t, `- errorHandler:
+ refErrorHandler: defaultErrorHandler
`, e.Integration.Status.GeneratedSources[0].Content)
}
@@ -85,9 +84,9 @@ func TestErrorHandlerApplyDependency(t *testing.T) {
CamelCatalog: c,
Integration: &v1.Integration{},
}
- e.Integration.Spec.AddConfiguration("property", "camel.beans.defaultErrorHandler = #class:org.apache.camel.builder.DeadLetterChannelBuilder")
- e.Integration.Spec.AddConfiguration("property", "camel.beans.defaultErrorHandler.deadLetterUri = log:info")
- e.Integration.Spec.AddConfiguration("property", fmt.Sprintf("%v = %s", v1.ErrorHandlerRefName, "defaultErrorHandler"))
+ e.Integration.Spec.AddConfigurationProperty("camel.beans.defaultErrorHandler = #class:org.apache.camel.builder.DeadLetterChannelBuilder")
+ e.Integration.Spec.AddConfigurationProperty("camel.beans.defaultErrorHandler.deadLetterUri = log:info")
+ e.Integration.Spec.AddConfigurationProperty(fmt.Sprintf("%v = %s", v1.ErrorHandlerRefName, "defaultErrorHandler"))
e.Integration.Status.Phase = v1.IntegrationPhaseInitialization
trait := newErrorHandlerTrait()
@@ -98,5 +97,9 @@ func TestErrorHandlerApplyDependency(t *testing.T) {
err = trait.Apply(e)
require.NoError(t, err)
+ assert.Len(t, e.Integration.Spec.Configuration, 3)
+ assert.Equal(t, "#class:org.apache.camel.builder.DeadLetterChannelBuilder", e.Integration.Spec.GetConfigurationProperty("camel.beans.defaultErrorHandler"))
+ assert.Equal(t, "log:info", e.Integration.Spec.GetConfigurationProperty("camel.beans.defaultErrorHandler.deadLetterUri"))
+ assert.Equal(t, "defaultErrorHandler", e.Integration.Spec.GetConfigurationProperty(v1.ErrorHandlerRefName))
assert.Equal(t, "camel:log", e.Integration.Status.Dependencies[0])
}