This is an automated email from the ASF dual-hosted git repository.
ricardozanini pushed a commit to branch main
in repository
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-serverless-operator.git
The following commit(s) were added to refs/heads/main by this push:
new 731b2d46 KIE Tools #2160 - Fix resources generation prefix order (#398)
731b2d46 is described below
commit 731b2d464deade64c18a1e08ed8ca86d85a77b9c
Author: Ricardo Zanini <[email protected]>
AuthorDate: Fri Feb 16 10:17:20 2024 -0300
KIE Tools #2160 - Fix resources generation prefix order (#398)
---
workflowproj/io.go | 4 ++--
workflowproj/workflowproj.go | 17 +++++++++-------
workflowproj/workflowproj_test.go | 42 +++++++++++++++++++++++++++++----------
3 files changed, 44 insertions(+), 19 deletions(-)
diff --git a/workflowproj/io.go b/workflowproj/io.go
index 39b63707..152d37be 100644
--- a/workflowproj/io.go
+++ b/workflowproj/io.go
@@ -42,11 +42,11 @@ func ensurePath(path string) error {
return nil
}
-func saveAsKubernetesManifest(object client.Object, savePath, prefix string)
error {
+func saveAsKubernetesManifest(object client.Object, savePath string, prefix
int) error {
if reflect.ValueOf(object).IsNil() {
return nil
}
- filename := strings.ToLower(fmt.Sprintf("%s%s_%s%s",
+ filename := strings.ToLower(fmt.Sprintf("%02d-%s_%s%s",
prefix,
object.GetObjectKind().GroupVersionKind().Kind,
object.GetName(),
diff --git a/workflowproj/workflowproj.go b/workflowproj/workflowproj.go
index afabd7e5..30d9db74 100644
--- a/workflowproj/workflowproj.go
+++ b/workflowproj/workflowproj.go
@@ -153,18 +153,21 @@ func (w *workflowProjectHandler)
SaveAsKubernetesManifests(path string) error {
if err := w.parseRawProject(); err != nil {
return err
}
- fileCount := 1
- if err := saveAsKubernetesManifest(w.project.Workflow, path,
fmt.Sprintf("%02d-", 1)); err != nil {
- return err
+ fileCount := 0
+ if w.project.Properties != nil {
+ fileCount++
+ if err := saveAsKubernetesManifest(w.project.Properties, path,
fileCount); err != nil {
+ return err
+ }
}
- for i, r := range w.project.Resources {
- fileCount = i + 1
- if err := saveAsKubernetesManifest(r, path,
fmt.Sprintf("%02d-", fileCount)); err != nil {
+ for _, r := range w.project.Resources {
+ fileCount++
+ if err := saveAsKubernetesManifest(r, path, fileCount); err !=
nil {
return err
}
}
fileCount++
- if err := saveAsKubernetesManifest(w.project.Properties, path,
fmt.Sprintf("%02d-", fileCount)); err != nil {
+ if err := saveAsKubernetesManifest(w.project.Workflow, path,
fileCount); err != nil {
return err
}
return nil
diff --git a/workflowproj/workflowproj_test.go
b/workflowproj/workflowproj_test.go
index c1207527..9135e488 100644
--- a/workflowproj/workflowproj_test.go
+++ b/workflowproj/workflowproj_test.go
@@ -28,6 +28,8 @@ import (
"strings"
"testing"
+ "k8s.io/apimachinery/pkg/runtime/schema"
+
"github.com/apache/incubator-kie-kogito-serverless-operator/api/metadata"
"github.com/stretchr/testify/assert"
"k8s.io/client-go/kubernetes/scheme"
@@ -140,19 +142,36 @@ func
Test_Handler_WorklflowServiceAndPropsAndSpec_SaveAs(t *testing.T) {
assert.NoError(t, err)
assert.Len(t, files, 4)
- for _, f := range files {
- if strings.HasSuffix(f.Name(), yamlFileExt) {
- contents, err := os.ReadFile(path.Join(tmpPath,
f.Name()))
- assert.NoError(t, err)
- decode := scheme.Codecs.UniversalDeserializer().Decode
- k8sObj, _, err := decode(contents, nil, nil)
- assert.NoError(t, err)
- assert.NotNil(t, k8sObj)
- assert.NotEmpty(t,
k8sObj.GetObjectKind().GroupVersionKind().String())
- }
+ expectedFiles := []string{
+ "01-configmap_service-props.yaml",
+ "02-configmap_01-service-resources.yaml",
+ "03-configmap_02-service-resources.yaml",
+ "04-sonataflow_service.yaml",
+ }
+ expectedKinds := []schema.GroupVersionKind{
+ {Group: "", Version: "v1", Kind: "ConfigMap"},
+ {Group: "", Version: "v1", Kind: "ConfigMap"},
+ {Group: "", Version: "v1", Kind: "ConfigMap"},
+ {Group: "sonataflow.org", Version: "v1alpha08", Kind:
"SonataFlow"},
+ }
+
+ for i := 0; i < len(files); i++ {
+ assert.Equal(t, files[i].Name(), expectedFiles[i])
+ assertIsK8sObject(t, tmpPath, files[i].Name(), expectedKinds[i])
}
}
+func assertIsK8sObject(t *testing.T, basePath string, fileName string, gvk
schema.GroupVersionKind) {
+ contents, err := os.ReadFile(path.Join(basePath, fileName))
+ assert.NoError(t, err)
+ decode := scheme.Codecs.UniversalDeserializer().Decode
+ k8sObj, _, err := decode(contents, nil, nil)
+ assert.NoError(t, err)
+ assert.NotNil(t, k8sObj)
+ assert.NotEmpty(t, k8sObj.GetObjectKind().GroupVersionKind().String())
+ assert.Equal(t, gvk, k8sObj.GetObjectKind().GroupVersionKind())
+}
+
func Test_Handler_WorkflowService_SaveAs(t *testing.T) {
testRun := func(t *testing.T, handler WorkflowProjectHandler) {
proj, err := handler.AsObjects()
@@ -170,6 +189,9 @@ func Test_Handler_WorkflowService_SaveAs(t *testing.T) {
for _, f := range files {
if strings.HasSuffix(f.Name(), yamlFileExt) {
+ // we have only one file produced in these test
cases
+ prefix := fmt.Sprintf("%02d-", 1)
+ assert.True(t, strings.HasPrefix(f.Name(),
prefix))
contents, err := os.ReadFile(path.Join(tmpPath,
f.Name()))
assert.NoError(t, err)
decode :=
scheme.Codecs.UniversalDeserializer().Decode
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]