Skip to content

Commit

Permalink
[KOGITO-8961][KSW-Operator] Split use case and test examples
Browse files Browse the repository at this point in the history
Signed-off-by: desmax74 <mdessi@redhat.com>
  • Loading branch information
desmax74 committed May 30, 2023
1 parent 67aa342 commit 11916c6
Show file tree
Hide file tree
Showing 26 changed files with 96 additions and 44 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ Generic | sw.kogito.kie.org/resource-generic | src/main/resources/generic

You could see an example of configmap and a workflow with one of this annotation in the file
```
https://github.com/kiegroup/kogito-serverless-operator/tree/main/config/samples/sw.kogito_v1alpha08_kogitoserverlessworkflow_devmodeWithConfigMapAndExternalResource.yaml:
https://github.com/kiegroup/kogito-serverless-operator/tree/main/test/samples/sw.kogito_v1alpha08_kogitoserverlessworkflow_devmodeWithConfigMapAndExternalResource.yaml:
```

## Use Workflow Development Mode
Expand Down
8 changes: 4 additions & 4 deletions controllers/builder/openshiftbuilder_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ import (
func Test_openshiftBuilderManager_Reconcile(t *testing.T) {
// Setup
ns := t.Name()
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, ns)
platform := test.GetKogitoServerlessPlatformInReadyPhase("../../config/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, ns)
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, ns)
platform := test.GetKogitoServerlessPlatformInReadyPhase("../../test/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, ns)
config := test.GetKogitoServerlessOperatorBuilderConfig("../../", ns)
namespacedName := types.NamespacedName{Namespace: workflow.Namespace, Name: workflow.Name}
client := test.NewKogitoClientBuilderWithOpenShift().WithRuntimeObjects(workflow, platform, config).Build()
Expand Down Expand Up @@ -89,8 +89,8 @@ func Test_openshiftBuilderManager_Reconcile(t *testing.T) {

func Test_openshiftbuilder_externalCMs(t *testing.T) {
ns := t.Name()
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, ns)
platform := test.GetKogitoServerlessPlatformInReadyPhase("../../config/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, ns)
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, ns)
platform := test.GetKogitoServerlessPlatformInReadyPhase("../../test/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, ns)
config := test.GetKogitoServerlessOperatorBuilderConfig("../../", ns)
externalCm := &v1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Expand Down
4 changes: 2 additions & 2 deletions controllers/kogitoserverlessbuild_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ import (

func TestKogitoServerlessBuildController(t *testing.T) {
namespace := t.Name()
ksw := test.GetKogitoServerlessWorkflow("../config/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, namespace)
ksw := test.GetKogitoServerlessWorkflow("../test/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, namespace)
ksb := test.GetNewEmptyKogitoServerlessBuild(ksw.Name, namespace)
cl := test.NewKogitoClientBuilder().
WithRuntimeObjects(ksb, ksw).
WithRuntimeObjects(test.GetKogitoServerlessPlatformInReadyPhase("../config/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, namespace)).
WithRuntimeObjects(test.GetKogitoServerlessPlatformInReadyPhase("../test/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, namespace)).
WithRuntimeObjects(test.GetKogitoServerlessOperatorBuilderConfig("../", namespace)).
Build()

Expand Down
2 changes: 1 addition & 1 deletion controllers/kogitoserverlessplatform_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ import (
func TestKogitoServerlessPlatformController(t *testing.T) {
t.Run("verify that a basic reconcile is performed without error", func(t *testing.T) {
// Create a KogitoServerlessPlatform object with metadata and spec.
ksp := test.GetKogitoServerlessPlatform("../config/samples/sw.kogito_v1alpha08_kogitoserverlessplatform.yaml")
ksp := test.GetKogitoServerlessPlatform("../test/samples/sw.kogito_v1alpha08_kogitoserverlessplatform.yaml")

// Create a fake client to mock API calls.
cl := test.NewKogitoClientBuilder().WithRuntimeObjects(ksp).Build()
Expand Down
4 changes: 2 additions & 2 deletions controllers/kogitoserverlessworkflow_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ func TestKogitoServerlessWorkflowController(t *testing.T) {
t.Run("verify that a basic reconcile is performed without error", func(t *testing.T) {
namespace := t.Name()
// Create a KogitoServerlessWorkflow object with metadata and spec.
ksw := test.GetKogitoServerlessWorkflow("../config/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, namespace)
ksw := test.GetKogitoServerlessWorkflow("../test/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, namespace)
// The Workflow controller needs at least to perform a call for Platforms, so we need to add this kind to the known
// ones by the fake client
ksp := test.GetKogitoServerlessPlatformInReadyPhase("../config/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, namespace)
ksp := test.GetKogitoServerlessPlatformInReadyPhase("../test/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, namespace)
// Objects to track in the fake Client.
objs := []runtime.Object{ksw, ksp}

Expand Down
2 changes: 1 addition & 1 deletion controllers/profiles/object_creators_dev_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import (
)

func Test_ensureWorkflowDevServiceIsExposed(t *testing.T) {
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())

//On Kubernetes we want the service exposed in Dev with NodePort
service, _ := devServiceCreator(workflow)
Expand Down
2 changes: 1 addition & 1 deletion controllers/profiles/object_creators_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import (
)

func Test_ensureWorkflowPropertiesConfigMapMutator(t *testing.T) {
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())
// can't be new
cm, _ := workflowPropsConfigMapCreator(workflow)
cm.SetUID("1")
Expand Down
6 changes: 3 additions & 3 deletions controllers/profiles/profile_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ import (
)

func Test_workflowIsDevProfile(t *testing.T) {
workflowWithDevProfile := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())
workflowWithDevProfile := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())
assert.True(t, IsDevProfile(workflowWithDevProfile))

workflowWithNoProfile := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, t.Name())
workflowWithNoProfile := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, t.Name())
assert.False(t, IsDevProfile(workflowWithNoProfile))

workflowWithProdProfile := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowProdProfileSampleYamlCR, t.Name())
workflowWithProdProfile := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowProdProfileSampleYamlCR, t.Name())
assert.False(t, IsDevProfile(workflowWithProdProfile))
}
20 changes: 10 additions & 10 deletions controllers/profiles/reconciler_dev_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ import (

func Test_recoverFromFailureNoDeployment(t *testing.T) {
logger := ctrllog.FromContext(context.TODO())
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, t.Name())
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, t.Name())
workflowID := clientruntime.ObjectKeyFromObject(workflow)

workflow.Status.Manager().MarkFalse(api.RunningConditionType, api.DeploymentFailureReason, "")
Expand Down Expand Up @@ -86,7 +86,7 @@ func Test_recoverFromFailureNoDeployment(t *testing.T) {

func Test_newDevProfile(t *testing.T) {
logger := ctrllog.FromContext(context.TODO())
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, t.Name())
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, t.Name())

client := test.NewKogitoClientBuilder().WithRuntimeObjects(workflow).Build()

Expand Down Expand Up @@ -163,7 +163,7 @@ func Test_newDevProfile(t *testing.T) {

func Test_devProfileImageDefaultsNoPlatform(t *testing.T) {
logger := ctrllog.FromContext(context.TODO())
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())
client := test.NewKogitoClientBuilder().WithRuntimeObjects(workflow).Build()
config := &rest.Config{}
devReconciler := newDevProfileReconciler(client, config, &logger)
Expand All @@ -179,9 +179,9 @@ func Test_devProfileImageDefaultsNoPlatform(t *testing.T) {

func Test_devProfileWithImageSnapshotOverrideWithPlatform(t *testing.T) {
logger := ctrllog.FromContext(context.TODO())
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())

platform := test.GetKogitoServerlessPlatform("../../config/samples/" + test.KogitoServerlessPlatformWithDevBaseImageYamlCR)
platform := test.GetKogitoServerlessPlatform("../../test/samples/" + test.KogitoServerlessPlatformWithDevBaseImageYamlCR)
platform.Status.Phase = operatorapi.PlatformPhaseReady
platform.Namespace = workflow.Namespace

Expand All @@ -202,9 +202,9 @@ func Test_devProfileWithImageSnapshotOverrideWithPlatform(t *testing.T) {

func Test_devProfileWithWPlatformWithoutDevBaseImageAndWithBaseImage(t *testing.T) {
logger := ctrllog.FromContext(context.TODO())
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())

platform := test.GetKogitoServerlessPlatform("../../config/samples/" + test.KogitoServerlessPlatformWithBaseImageYamlCR)
platform := test.GetKogitoServerlessPlatform("../../test/samples/" + test.KogitoServerlessPlatformWithBaseImageYamlCR)
platform.Status.Phase = operatorapi.PlatformPhaseReady
platform.Namespace = workflow.Namespace

Expand All @@ -225,9 +225,9 @@ func Test_devProfileWithWPlatformWithoutDevBaseImageAndWithBaseImage(t *testing.

func Test_devProfileWithPlatformWithoutDevBaseImageAndWithoutBaseImage(t *testing.T) {
logger := ctrllog.FromContext(context.TODO())
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR, t.Name())

platform := test.GetKogitoServerlessPlatform("../../config/samples/" + test.KogitoServerlessPlatformYamlCR)
platform := test.GetKogitoServerlessPlatform("../../test/samples/" + test.KogitoServerlessPlatformYamlCR)
platform.Status.Phase = operatorapi.PlatformPhaseReady
platform.Namespace = workflow.Namespace

Expand All @@ -248,7 +248,7 @@ func Test_devProfileWithPlatformWithoutDevBaseImageAndWithoutBaseImage(t *testin

func Test_newDevProfileWithExternalConfigMaps(t *testing.T) {
logger := ctrllog.FromContext(context.TODO())
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleDevModeWithExternalResourceYamlCR, t.Name())
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleDevModeWithExternalResourceYamlCR, t.Name())
client := test.NewKogitoClientBuilder().WithRuntimeObjects(workflow).Build()
config := &rest.Config{}
devReconciler := newDevProfileReconciler(client, config, &logger)
Expand Down
14 changes: 7 additions & 7 deletions controllers/profiles/reconciler_prod_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ import (

func Test_reconcilerProdBuildConditions(t *testing.T) {
logger := ctrllog.FromContext(context.TODO())
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, t.Name())
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, t.Name())
// make sure that the workflow won't trigger a change
workflow.Status.Applied = workflow.Spec
platform := test.GetKogitoServerlessPlatformInReadyPhase("../../config/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, t.Name())
platform := test.GetKogitoServerlessPlatformInReadyPhase("../../test/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, t.Name())
client := test.NewKogitoClientBuilder().WithRuntimeObjects(workflow, platform).Build()

config := &rest.Config{}
Expand Down Expand Up @@ -85,10 +85,10 @@ func Test_reconcilerProdBuildConditions(t *testing.T) {

func Test_deployWorkflowReconciliationHandler_handleObjects(t *testing.T) {
logger := ctrllog.FromContext(context.TODO())
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, t.Name())
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, t.Name())
// make sure that the workflow won't trigger a change
workflow.Status.Applied = workflow.Spec
platform := test.GetKogitoServerlessPlatformInReadyPhase("../../config/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, t.Name())
platform := test.GetKogitoServerlessPlatformInReadyPhase("../../test/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, t.Name())
client := test.NewKogitoClientBuilder().WithRuntimeObjects(workflow, platform).Build()
handler := &deployWorkflowReconciliationState{
stateSupport: fakeReconcilerSupport(client),
Expand Down Expand Up @@ -132,10 +132,10 @@ func Test_deployWorkflowReconciliationHandler_handleObjects(t *testing.T) {
func Test_GenerationAnnotationCheck(t *testing.T) {
logger := ctrllog.FromContext(context.TODO())
// we load a workflow with metadata.generation to 0
workflow := test.GetKogitoServerlessWorkflow("../../config/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, t.Name())
workflow := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, t.Name())
// make sure that the workflow won't trigger a change
workflow.Status.Applied = workflow.Spec
platform := test.GetKogitoServerlessPlatformInReadyPhase("../../config/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, t.Name())
platform := test.GetKogitoServerlessPlatformInReadyPhase("../../test/samples/"+test.KogitoServerlessPlatformWithCacheYamlCR, t.Name())
client := test.NewKogitoClientBuilder().WithRuntimeObjects(workflow, platform).Build()
handler := &deployWorkflowReconciliationState{
stateSupport: fakeReconcilerSupport(client),
Expand All @@ -147,7 +147,7 @@ func Test_GenerationAnnotationCheck(t *testing.T) {
assert.NotNil(t, result)
assert.Len(t, objects, 3)
// then we load a workflow with metadata.generation set to 1
workflowChanged := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowSampleYamlCR, t.Name())
workflowChanged := test.GetKogitoServerlessWorkflow("../../test/samples/"+test.KogitoServerlessWorkflowGenSampleYamlCR, t.Name())
client = test.NewKogitoClientBuilder().WithRuntimeObjects(workflowChanged, platform).Build()
handler = &deployWorkflowReconciliationState{
stateSupport: fakeReconcilerSupport(client),
Expand Down
2 changes: 1 addition & 1 deletion controllers/workflowdef/json_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import (
func TestKogitoServerlessWorkflowConverter(t *testing.T) {
t.Run("verify that when KogitoServerlessWorkflow CR is nil an error is returned", func(t *testing.T) {
// Create a KogitoServerlessWorkflow object with metadata and spec.
ksw := test.GetKogitoServerlessWorkflow("../../config/samples/sw.kogito_v1alpha08_kogitoserverlessworkflow.yaml", t.Name())
ksw := test.GetKogitoServerlessWorkflow("../../test/samples/sw.kogito_v1alpha08_kogitoserverlessworkflow.yaml", t.Name())
out, err := ToCNCFWorkflow(context.TODO(), ksw)
assert.NoError(t, err)
assert.True(t, out != nil)
Expand Down
6 changes: 3 additions & 3 deletions test/e2e/workflow_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ var _ = Describe("Kogito Serverless Operator", Ordered, func() {
By("creating an instance of the Kogito Serverless Platform")
EventuallyWithOffset(1, func() error {
cmd := exec.Command("kubectl", "apply", "-f", filepath.Join(projectDir,
"config/samples/"+test.KogitoServerlessPlatformWithCacheMinikubeYamlCR), "-n", namespace)
"test/samples/"+test.KogitoServerlessPlatformWithCacheMinikubeYamlCR), "-n", namespace)
_, err := utils.Run(cmd)
return err
}, time.Minute, time.Second).Should(Succeed())
Expand Down Expand Up @@ -209,7 +209,7 @@ var _ = Describe("Kogito Serverless Operator", Ordered, func() {
By("creating an instance of the Kogito Serverless Workflow in DevMode")
EventuallyWithOffset(1, func() error {
cmd := exec.Command("kubectl", "apply", "-f", filepath.Join(projectDir,
"config/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR), "-n", namespace)
"test/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR), "-n", namespace)
_, err := utils.Run(cmd)
return err
}, time.Minute, time.Second).Should(Succeed())
Expand All @@ -224,7 +224,7 @@ var _ = Describe("Kogito Serverless Operator", Ordered, func() {

EventuallyWithOffset(1, func() error {
cmd := exec.Command("kubectl", "delete", "-f", filepath.Join(projectDir,
"config/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR), "-n", namespace)
"test/samples/"+test.KogitoServerlessWorkflowSampleDevModeYamlCR), "-n", namespace)
_, err := utils.Run(cmd)
return err
}, time.Minute, time.Second).Should(Succeed())
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: sw.kogito.kie.org/v1alpha08
kind: KogitoServerlessPlatform
metadata:
name: kogito-workflow-platform
spec:
platform:
registry:
address: quay.io/kiegroup
secret: regcred
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ metadata:
annotations:
sw.kogito.kie.org/description: Greeting example on k8s!
sw.kogito.kie.org/version: 0.0.1
generation: 1
spec:
flow:
start: ChooseOnLanguage
Expand All @@ -21,8 +20,6 @@ spec:
transition: GreetInEnglish
- condition: "${ .language == \"Spanish\" }"
transition: GreetInSpanish
- condition: "${ .language == \"Italian\" }"
transition: GreetInItalian
defaultCondition: GreetInEnglish
- name: GreetInEnglish
type: inject
Expand All @@ -34,11 +31,6 @@ spec:
data:
greeting: "Saludos desde JSON Workflow, "
transition: GreetPerson
- name: GreetInItalian
type: inject
data:
greeting: "Saluti dal JSON Workflow, "
transition: GreetPerson
- name: GreetPerson
type: operation
actions:
Expand Down
50 changes: 50 additions & 0 deletions test/samples/sw.kogito_v1alpha08_kogitoserverlessworkflow_gen.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
apiVersion: sw.kogito.kie.org/v1alpha08
kind: KogitoServerlessWorkflow
metadata:
name: greeting
annotations:
sw.kogito.kie.org/description: Greeting example on k8s!
sw.kogito.kie.org/version: 0.0.1
generation: 1
spec:
flow:
start: ChooseOnLanguage
functions:
- name: greetFunction
type: custom
operation: sysout
states:
- name: ChooseOnLanguage
type: switch
dataConditions:
- condition: "${ .language == \"English\" }"
transition: GreetInEnglish
- condition: "${ .language == \"Spanish\" }"
transition: GreetInSpanish
- condition: "${ .language == \"Italian\" }"
transition: GreetInItalian
defaultCondition: GreetInEnglish
- name: GreetInEnglish
type: inject
data:
greeting: "Hello from JSON Workflow, "
transition: GreetPerson
- name: GreetInSpanish
type: inject
data:
greeting: "Saludos desde JSON Workflow, "
transition: GreetPerson
- name: GreetInItalian
type: inject
data:
greeting: "Saluti dal JSON Workflow, "
transition: GreetPerson
- name: GreetPerson
type: operation
actions:
- name: greetAction
functionRef:
refName: greetFunction
arguments:
message: ".greeting+.name"
end: true
Loading

0 comments on commit 11916c6

Please sign in to comment.