You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2020/09/17 09:10:06 UTC
[camel-k] 11/21: kamelet: fix tests and lint
This is an automated email from the ASF dual-hosted git repository.
nferraro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit b9c2cbe0d20e507e87ab0df2df4ae72e009309ab
Author: Nicola Ferraro <ni...@gmail.com>
AuthorDate: Fri Jul 10 13:12:31 2020 +0200
kamelet: fix tests and lint
---
pkg/controller/kamelet/initialize.go | 1 +
pkg/controller/kamelet/kamelet_controller.go | 6 ++----
pkg/event/manager.go | 2 +-
pkg/trait/dependencies.go | 8 +++-----
pkg/trait/kamelets.go | 15 +++++++++------
pkg/trait/kamelets_test.go | 10 +++++++++-
pkg/trait/knative_service_test.go | 16 +++++++++-------
pkg/trait/service_test.go | 24 ++++++++++++++++--------
pkg/trait/trait_types.go | 2 +-
pkg/util/kubernetes/resolver.go | 3 ++-
pkg/util/log/log.go | 2 +-
11 files changed, 54 insertions(+), 35 deletions(-)
diff --git a/pkg/controller/kamelet/initialize.go b/pkg/controller/kamelet/initialize.go
index e1f4360..0b3f0aa 100644
--- a/pkg/controller/kamelet/initialize.go
+++ b/pkg/controller/kamelet/initialize.go
@@ -19,6 +19,7 @@ package kamelet
import (
"context"
+
"github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
)
diff --git a/pkg/controller/kamelet/kamelet_controller.go b/pkg/controller/kamelet/kamelet_controller.go
index baad186..0522a59 100644
--- a/pkg/controller/kamelet/kamelet_controller.go
+++ b/pkg/controller/kamelet/kamelet_controller.go
@@ -19,14 +19,14 @@ package kamelet
import (
"context"
- "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
"time"
+ "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+ "github.com/apache/camel-k/pkg/client"
camelevent "github.com/apache/camel-k/pkg/event"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/tools/record"
-
k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller"
"sigs.k8s.io/controller-runtime/pkg/event"
@@ -35,8 +35,6 @@ import (
"sigs.k8s.io/controller-runtime/pkg/predicate"
"sigs.k8s.io/controller-runtime/pkg/reconcile"
"sigs.k8s.io/controller-runtime/pkg/source"
-
- "github.com/apache/camel-k/pkg/client"
)
// Add creates a new Kamelet Controller and adds it to the Manager. The Manager will set fields on the Controller
diff --git a/pkg/event/manager.go b/pkg/event/manager.go
index 93e27f9..a2b2eb8 100644
--- a/pkg/event/manager.go
+++ b/pkg/event/manager.go
@@ -20,9 +20,9 @@ package event
import (
"context"
"fmt"
- "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+ "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
"github.com/apache/camel-k/pkg/client"
"github.com/apache/camel-k/pkg/util/kubernetes"
"github.com/apache/camel-k/pkg/util/log"
diff --git a/pkg/trait/dependencies.go b/pkg/trait/dependencies.go
index 4a704b6..5fc0264 100644
--- a/pkg/trait/dependencies.go
+++ b/pkg/trait/dependencies.go
@@ -19,14 +19,12 @@ package trait
import (
"fmt"
- "github.com/apache/camel-k/pkg/util/kubernetes"
-
- "github.com/apache/camel-k/pkg/metadata"
-
- "github.com/scylladb/go-set/strset"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+ "github.com/apache/camel-k/pkg/metadata"
"github.com/apache/camel-k/pkg/util"
+ "github.com/apache/camel-k/pkg/util/kubernetes"
+ "github.com/scylladb/go-set/strset"
)
// The Dependencies trait is internally used to automatically add runtime dependencies based on the
diff --git a/pkg/trait/kamelets.go b/pkg/trait/kamelets.go
index 994ddcb..d1b3bef 100644
--- a/pkg/trait/kamelets.go
+++ b/pkg/trait/kamelets.go
@@ -20,8 +20,6 @@ package trait
import (
"encoding/json"
"fmt"
- "github.com/apache/camel-k/pkg/util/flow"
- "github.com/apache/camel-k/pkg/util/kubernetes"
"regexp"
"sort"
"strconv"
@@ -32,6 +30,8 @@ import (
"github.com/apache/camel-k/pkg/metadata"
"github.com/apache/camel-k/pkg/util"
"github.com/apache/camel-k/pkg/util/digest"
+ "github.com/apache/camel-k/pkg/util/flow"
+ "github.com/apache/camel-k/pkg/util/kubernetes"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -61,6 +61,9 @@ func newConfigurationKey(kamelet, configurationID string) configurationKey {
}
const (
+ contentKey = "content"
+ schemaKey = "schema"
+
kameletLabel = "camel.apache.org/kamelet"
kameletConfigurationLabel = "camel.apache.org/kamelet.configuration"
)
@@ -148,7 +151,7 @@ func (t *kameletsTrait) addKamelets(e *Environment) error {
}
func (t *kameletsTrait) addKameletAsSource(e *Environment, kamelet v1alpha1.Kamelet) error {
- var sources []v1.SourceSpec
+ sources := make([]v1.SourceSpec, 0)
if kamelet.Spec.Flow != nil {
@@ -321,8 +324,8 @@ func integrationSourceFromKameletSource(e *Environment, kamelet v1alpha1.Kamelet
},
},
Data: map[string]string{
- "content": source.Content,
- "schema": string(schema),
+ contentKey: source.Content,
+ schemaKey: string(schema),
},
}
@@ -331,7 +334,7 @@ func integrationSourceFromKameletSource(e *Environment, kamelet v1alpha1.Kamelet
target := source.DeepCopy()
target.Content = ""
target.ContentRef = name
- target.ContentKey = "content"
+ target.ContentKey = contentKey
return *target, nil
}
diff --git a/pkg/trait/kamelets_test.go b/pkg/trait/kamelets_test.go
index d2a1321..4f37b1d 100644
--- a/pkg/trait/kamelets_test.go
+++ b/pkg/trait/kamelets_test.go
@@ -98,6 +98,7 @@ func TestKameletLookup(t *testing.T) {
"camel:log",
},
},
+ Status: v1alpha1.KameletStatus{Phase: v1alpha1.KameletPhaseReady},
})
enabled, err := trait.Configure(environment)
assert.NoError(t, err)
@@ -146,6 +147,7 @@ func TestKameletSecondarySourcesLookup(t *testing.T) {
},
},
},
+ Status: v1alpha1.KameletStatus{Phase: v1alpha1.KameletPhaseReady},
})
enabled, err := trait.Configure(environment)
assert.NoError(t, err)
@@ -196,6 +198,7 @@ func TestNonYAMLKameletLookup(t *testing.T) {
},
},
},
+ Status: v1alpha1.KameletStatus{Phase: v1alpha1.KameletPhaseReady},
})
enabled, err := trait.Configure(environment)
assert.NoError(t, err)
@@ -242,6 +245,7 @@ func TestErrorMultipleKameletSources(t *testing.T) {
},
}),
},
+ Status: v1alpha1.KameletStatus{Phase: v1alpha1.KameletPhaseReady},
})
enabled, err := trait.Configure(environment)
assert.NoError(t, err)
@@ -284,6 +288,7 @@ func TestMultipleKamelets(t *testing.T) {
"camel:xxx",
},
},
+ Status: v1alpha1.KameletStatus{Phase: v1alpha1.KameletPhaseReady},
}, &v1alpha1.Kamelet{
ObjectMeta: metav1.ObjectMeta{
Namespace: "test",
@@ -307,6 +312,7 @@ func TestMultipleKamelets(t *testing.T) {
"camel:tbd",
},
},
+ Status: v1alpha1.KameletStatus{Phase: v1alpha1.KameletPhaseReady},
})
enabled, err := trait.Configure(environment)
assert.NoError(t, err)
@@ -368,6 +374,7 @@ func TestKameletConfigLookup(t *testing.T) {
"camel:log",
},
},
+ Status: v1alpha1.KameletStatus{Phase: v1alpha1.KameletPhaseReady},
}, &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Namespace: "test",
@@ -430,6 +437,7 @@ func TestKameletNamedConfigLookup(t *testing.T) {
"camel:log",
},
},
+ Status: v1alpha1.KameletStatus{Phase: v1alpha1.KameletPhaseReady},
}, &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Namespace: "test",
@@ -516,6 +524,6 @@ func marshalOrFail(flow map[string]interface{}) *v1.Flow {
if err != nil {
panic(err)
}
- f := v1.Flow{data}
+ f := v1.Flow{RawMessage: data}
return &f
}
diff --git a/pkg/trait/knative_service_test.go b/pkg/trait/knative_service_test.go
index dcf0f65..9406d32 100644
--- a/pkg/trait/knative_service_test.go
+++ b/pkg/trait/knative_service_test.go
@@ -21,17 +21,16 @@ import (
"context"
"testing"
- "github.com/stretchr/testify/assert"
-
- corev1 "k8s.io/api/core/v1"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- serving "knative.dev/serving/pkg/apis/serving/v1"
-
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util/camel"
"github.com/apache/camel-k/pkg/util/envvar"
+ "github.com/apache/camel-k/pkg/util/gzip"
"github.com/apache/camel-k/pkg/util/kubernetes"
"github.com/apache/camel-k/pkg/util/test"
+ "github.com/stretchr/testify/assert"
+ corev1 "k8s.io/api/core/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ serving "knative.dev/serving/pkg/apis/serving/v1"
)
const (
@@ -45,6 +44,9 @@ func TestKnativeService(t *testing.T) {
traitCatalog := NewCatalog(context.TODO(), nil)
+ compressedRoute, err := gzip.CompressBase64([]byte(`from("undertow:test").log("hello")`))
+ assert.NoError(t, err)
+
environment := Environment{
CamelCatalog: catalog,
Catalog: traitCatalog,
@@ -62,7 +64,7 @@ func TestKnativeService(t *testing.T) {
{
DataSpec: v1.DataSpec{
Name: "routes.js",
- Content: `from("undertow:test").log("hello")`,
+ Content: string(compressedRoute),
Compression: true,
},
Language: v1.LanguageJavaScript,
diff --git a/pkg/trait/service_test.go b/pkg/trait/service_test.go
index 61e5597..372dc2f 100644
--- a/pkg/trait/service_test.go
+++ b/pkg/trait/service_test.go
@@ -21,15 +21,14 @@ import (
"context"
"testing"
+ v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+ "github.com/apache/camel-k/pkg/util/camel"
+ "github.com/apache/camel-k/pkg/util/gzip"
+ "github.com/apache/camel-k/pkg/util/kubernetes"
"github.com/stretchr/testify/assert"
-
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-
- v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
- "github.com/apache/camel-k/pkg/util/camel"
- "github.com/apache/camel-k/pkg/util/kubernetes"
"github.com/apache/camel-k/pkg/util/test"
)
@@ -44,6 +43,9 @@ func TestServiceWithDefaults(t *testing.T) {
traitCatalog := NewCatalog(context.TODO(), nil)
+ compressedRoute, err := gzip.CompressBase64([]byte(`from("undertow:test").log("hello")`))
+ assert.NoError(t, err)
+
environment := Environment{
CamelCatalog: catalog,
Catalog: traitCatalog,
@@ -61,7 +63,7 @@ func TestServiceWithDefaults(t *testing.T) {
{
DataSpec: v1.DataSpec{
Name: "routes.js",
- Content: `from("undertow:test").log("hello")`,
+ Content: string(compressedRoute),
Compression: true,
},
Language: v1.LanguageJavaScript,
@@ -130,6 +132,9 @@ func TestService(t *testing.T) {
traitCatalog := NewCatalog(context.TODO(), nil)
+ compressedRoute, err := gzip.CompressBase64([]byte(`from("undertow:test").log("hello")`))
+ assert.NoError(t, err)
+
environment := Environment{
CamelCatalog: catalog,
Catalog: traitCatalog,
@@ -147,7 +152,7 @@ func TestService(t *testing.T) {
{
DataSpec: v1.DataSpec{
Name: "routes.js",
- Content: `from("undertow:test").log("hello")`,
+ Content: string(compressedRoute),
Compression: true,
},
Language: v1.LanguageJavaScript,
@@ -295,6 +300,9 @@ func TestServiceWithNodePort(t *testing.T) {
traitCatalog := NewCatalog(context.TODO(), nil)
+ compressedRoute, err := gzip.CompressBase64([]byte(`from("undertow:test").log("hello")`))
+ assert.NoError(t, err)
+
environment := Environment{
CamelCatalog: catalog,
Catalog: traitCatalog,
@@ -312,7 +320,7 @@ func TestServiceWithNodePort(t *testing.T) {
{
DataSpec: v1.DataSpec{
Name: "routes.js",
- Content: `from("undertow:test").log("hello")`,
+ Content: string(compressedRoute),
Compression: true,
},
Language: v1.LanguageJavaScript,
diff --git a/pkg/trait/trait_types.go b/pkg/trait/trait_types.go
index f1666f7..c397c2f 100644
--- a/pkg/trait/trait_types.go
+++ b/pkg/trait/trait_types.go
@@ -557,7 +557,7 @@ func (e *Environment) AddSourcesProperties() {
properties[fmt.Sprintf("camel.k.kamelets[%s].loader", kameletName)] = s.Loader
}
if s.Compression {
- properties[fmt.Sprintf("camel.k.kamelets[%s].compression", kameletName)] = "true"
+ properties[fmt.Sprintf("camel.k.kamelets[%s].compression", kameletName)] = True
}
interceptors := make([]string, 0, len(s.Interceptors))
diff --git a/pkg/util/kubernetes/resolver.go b/pkg/util/kubernetes/resolver.go
index ae7621a..185c11b 100644
--- a/pkg/util/kubernetes/resolver.go
+++ b/pkg/util/kubernetes/resolver.go
@@ -23,6 +23,7 @@ import (
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util/gzip"
+ "github.com/pkg/errors"
corev1 "k8s.io/api/core/v1"
controller "sigs.k8s.io/controller-runtime/pkg/client"
)
@@ -84,7 +85,7 @@ func Resolve(data *v1.DataSpec, mapLookup func(string) (*corev1.ConfigMap, error
var uncompressed []byte
var err error
if uncompressed, err = gzip.UncompressBase64(cnt); err != nil {
- return err
+ return errors.Wrap(err, "error while uncompressing data")
}
data.Compression = false
data.Content = string(uncompressed)
diff --git a/pkg/util/log/log.go b/pkg/util/log/log.go
index 7ac3573..7d290f0 100644
--- a/pkg/util/log/log.go
+++ b/pkg/util/log/log.go
@@ -19,9 +19,9 @@ package log
import (
"fmt"
- "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+ "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
"github.com/go-logr/logr"
logf "sigs.k8s.io/controller-runtime/pkg/log"
)