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 2018/09/07 16:18:55 UTC
[camel-k] 02/02: Fix integration with new runtime classes
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 fef713026fe268df9d8fdff3afd7f410c9f41635
Author: nferraro <ni...@gmail.com>
AuthorDate: Fri Sep 7 18:18:36 2018 +0200
Fix integration with new runtime classes
---
pkg/build/build_manager_integration_test.go | 15 ++++++------
pkg/build/local/local_builder.go | 4 ++--
pkg/build/local/local_builder_integration_test.go | 27 ++++++++++++++++++----
pkg/util/digest/digest.go | 6 +++++
.../java/org/apache/camel/k/jvm/Application.java | 6 ++---
5 files changed, 41 insertions(+), 17 deletions(-)
diff --git a/pkg/build/build_manager_integration_test.go b/pkg/build/build_manager_integration_test.go
index dcf7c9e..5d19201 100644
--- a/pkg/build/build_manager_integration_test.go
+++ b/pkg/build/build_manager_integration_test.go
@@ -26,18 +26,19 @@ import (
build "github.com/apache/camel-k/pkg/build/api"
"time"
"github.com/apache/camel-k/pkg/util/test"
+ "github.com/apache/camel-k/pkg/util/digest"
)
func TestBuild(t *testing.T) {
ctx := context.TODO()
buildManager := NewBuildManager(ctx, test.GetTargetNamespace())
identifier := build.BuildIdentifier{
- Name: "example",
- Digest: "sadsadasdsadasdafwefwef",
+ Name: "man-test",
+ Digest: digest.Random(),
}
buildManager.Start(build.BuildSource{
Identifier: identifier,
- Code: code(),
+ Code: code(),
})
deadline := time.Now().Add(5 * time.Minute)
@@ -60,12 +61,12 @@ func TestFailedBuild(t *testing.T) {
ctx := context.TODO()
buildManager := NewBuildManager(ctx, test.GetTargetNamespace())
identifier := build.BuildIdentifier{
- Name: "example",
- Digest: "545454",
+ Name: "man-test-2",
+ Digest: digest.Random(),
}
buildManager.Start(build.BuildSource{
Identifier: identifier,
- Code: code() + "XX",
+ Code: code() + "XX",
})
deadline := time.Now().Add(5 * time.Minute)
@@ -98,4 +99,4 @@ public class Routes extends RouteBuilder {
}
`
-}
\ No newline at end of file
+}
diff --git a/pkg/build/local/local_builder.go b/pkg/build/local/local_builder.go
index e5f85ba..98830d6 100644
--- a/pkg/build/local/local_builder.go
+++ b/pkg/build/local/local_builder.go
@@ -115,8 +115,8 @@ func (b *localBuilder) execute(source build.BuildSource) (string, error) {
"kamel/Routes.java": source.Code,
},
Env: map[string]string{
- "JAVA_MAIN_CLASS": "org.apache.camel.k.jvm.Application",
- "KAMEL_CLASS": "kamel.Routes",
+ "JAVA_MAIN_CLASS": "org.apache.camel.k.jvm.Application",
+ "CAMEL_K_ROUTES_URI": "classpath:kamel.Routes",
},
Dependencies: []maven.Dependency{
{
diff --git a/pkg/build/local/local_builder_integration_test.go b/pkg/build/local/local_builder_integration_test.go
index 8403c6c..fcb9eb6 100644
--- a/pkg/build/local/local_builder_integration_test.go
+++ b/pkg/build/local/local_builder_integration_test.go
@@ -25,6 +25,7 @@ import (
"github.com/stretchr/testify/assert"
build "github.com/apache/camel-k/pkg/build/api"
"github.com/apache/camel-k/pkg/util/test"
+ "github.com/apache/camel-k/pkg/util/digest"
)
func TestBuild(t *testing.T) {
@@ -33,10 +34,14 @@ func TestBuild(t *testing.T) {
builder := NewLocalBuilder(ctx, test.GetTargetNamespace())
execution := builder.Build(build.BuildSource{
+ Identifier: build.BuildIdentifier{
+ Name: "test0",
+ Digest: digest.Random(),
+ },
Code: code(),
})
- res := <- execution
+ res := <-execution
assert.Nil(t, res.Error, "Build failed")
}
@@ -47,15 +52,23 @@ func TestDoubleBuild(t *testing.T) {
builder := NewLocalBuilder(ctx, test.GetTargetNamespace())
execution1 := builder.Build(build.BuildSource{
+ Identifier: build.BuildIdentifier{
+ Name: "test1",
+ Digest: digest.Random(),
+ },
Code: code(),
})
execution2 := builder.Build(build.BuildSource{
+ Identifier: build.BuildIdentifier{
+ Name: "test2",
+ Digest: digest.Random(),
+ },
Code: code(),
})
- res1 := <- execution1
- res2 := <- execution2
+ res1 := <-execution1
+ res2 := <-execution2
assert.Nil(t, res1.Error, "Build failed")
assert.Nil(t, res2.Error, "Build failed")
@@ -67,10 +80,14 @@ func TestFailedBuild(t *testing.T) {
builder := NewLocalBuilder(ctx, test.GetTargetNamespace())
execution := builder.Build(build.BuildSource{
+ Identifier: build.BuildIdentifier{
+ Name: "test3",
+ Digest: digest.Random(),
+ },
Code: code() + "-",
})
- res := <- execution
+ res := <-execution
assert.NotNil(t, res.Error, "Build should fail")
}
@@ -90,4 +107,4 @@ public class Routes extends RouteBuilder {
}
`
-}
\ No newline at end of file
+}
diff --git a/pkg/util/digest/digest.go b/pkg/util/digest/digest.go
index c29c018..5354718 100644
--- a/pkg/util/digest/digest.go
+++ b/pkg/util/digest/digest.go
@@ -22,6 +22,8 @@ import (
"crypto/sha256"
"github.com/apache/camel-k/version"
"encoding/base64"
+ "strconv"
+ "math/rand"
)
// Compute a digest of the fields that are relevant for the deployment
@@ -37,3 +39,7 @@ func Compute(integration *v1alpha1.Integration) string {
// Add a letter at the beginning and use URL safe encoding
return "v" + base64.RawURLEncoding.EncodeToString(hash.Sum(nil))
}
+
+func Random() string {
+ return "v" + strconv.FormatInt(rand.Int63(), 10)
+}
diff --git a/runtime/jvm/src/main/java/org/apache/camel/k/jvm/Application.java b/runtime/jvm/src/main/java/org/apache/camel/k/jvm/Application.java
index 90d3f4d..dbca9f1 100644
--- a/runtime/jvm/src/main/java/org/apache/camel/k/jvm/Application.java
+++ b/runtime/jvm/src/main/java/org/apache/camel/k/jvm/Application.java
@@ -20,15 +20,15 @@ import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.main.Main;
public class Application {
- public static final String ENV_KAMEL_ROUTES_URI = "KAMEL_ROUTES_PATH";
+ public static final String ENV_CAMEL_K_ROUTES_URI = "CAMEL_K_ROUTES_URI";
public static final String SCHEME_CLASSPATH = "classpath:";
public static final String SCHEME_FILE = "file:";
public static void main(String[] args) throws Exception {
- final String resource = System.getenv(ENV_KAMEL_ROUTES_URI);
+ final String resource = System.getenv(ENV_CAMEL_K_ROUTES_URI);
if (resource == null || resource.trim().length() == 0) {
- throw new IllegalStateException("No valid resource found in " + ENV_KAMEL_ROUTES_URI + " environment variable");
+ throw new IllegalStateException("No valid resource found in " + ENV_CAMEL_K_ROUTES_URI + " environment variable");
}
if (!resource.startsWith(SCHEME_CLASSPATH) && !resource.startsWith(SCHEME_FILE)) {
throw new IllegalStateException("No valid resource format, expected scheme:path, found " + resource);