snapshot of https://github.com/cortezaproject/corteza.git (2024.9.x, 2026-09-18; blobs > 131072B omitted)
Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
This commit is contained in:
18
server/tests/workflows/testdata/S0001_basics/workflow.yaml
vendored
Normal file
18
server/tests/workflows/testdata/S0001_basics/workflow.yaml
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
workflows:
|
||||
basic:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: expressions
|
||||
arguments: [ { target: foo, type: Integer, expr: "40" } ]
|
||||
- stepID: 2
|
||||
kind: expressions
|
||||
arguments: [ { target: foo, type: Integer, expr: "foo + 2" } ]
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
66
server/tests/workflows/testdata/S0002_rbac_fn/workflow.yaml
vendored
Normal file
66
server/tests/workflows/testdata/S0002_rbac_fn/workflow.yaml
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
roles:
|
||||
testers:
|
||||
|
||||
users:
|
||||
tester:
|
||||
email: tester@testing-samples.tld
|
||||
|
||||
workflows:
|
||||
check-and-grant:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: function
|
||||
ref: rolesLookup
|
||||
arguments:
|
||||
- { target: lookup, type: Handle, value: "testers" }
|
||||
results:
|
||||
- { target: res, expr: role }
|
||||
|
||||
- stepID: 2
|
||||
kind: function
|
||||
ref: rbacCheck
|
||||
arguments:
|
||||
- { target: resource, type: RbacResource, expr: "res" }
|
||||
- { target: operation, type: String, value: "read" }
|
||||
results:
|
||||
- { target: canCurrentRead, type: String, expr: 'can ? "y":"n"' }
|
||||
|
||||
|
||||
- stepID: 3
|
||||
kind: function
|
||||
ref: usersLookup
|
||||
arguments:
|
||||
- { target: lookup, type: Handle, value: "tester" }
|
||||
results:
|
||||
- { target: usr, expr: user }
|
||||
|
||||
- stepID: 4
|
||||
kind: function
|
||||
ref: rbacCheck
|
||||
arguments:
|
||||
- { target: resource, type: RbacResource, expr: "res" }
|
||||
- { target: operation, type: String, value: "read" }
|
||||
- { target: user, type: User, expr: "usr" }
|
||||
results:
|
||||
- { target: canOtherRead, type: String, expr: 'can ? "y":"n"' }
|
||||
|
||||
|
||||
- stepID: 5
|
||||
kind: function
|
||||
ref: rbacAllow
|
||||
arguments:
|
||||
- { target: resource, type: RbacResource, expr: "res" }
|
||||
- { target: operation, type: String, value: "read" }
|
||||
- { target: role, type: Role, expr: "res" }
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
- { parentID: 2, childID: 3 }
|
||||
- { parentID: 3, childID: 4 }
|
||||
- { parentID: 4, childID: 5 }
|
||||
24
server/tests/workflows/testdata/S0003_create_user/workflow.yaml
vendored
Normal file
24
server/tests/workflows/testdata/S0003_create_user/workflow.yaml
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
workflows:
|
||||
create-user:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: expressions
|
||||
arguments:
|
||||
- { target: dummy, type: User }
|
||||
- { target: dummy.email, type: String, value: "some.email@domain.tld" }
|
||||
- { target: dummy.name, type: String, value: "Not Sure" }
|
||||
|
||||
- stepID: 2
|
||||
kind: function
|
||||
ref: usersCreate
|
||||
arguments:
|
||||
- { target: user, type: User, expr: "dummy" }
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
7
server/tests/workflows/testdata/S0003_role_members/data_model.yaml
vendored
Normal file
7
server/tests/workflows/testdata/S0003_role_members/data_model.yaml
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
users:
|
||||
u1: u1@example.tld
|
||||
u2: u2@example.tld
|
||||
|
||||
roles:
|
||||
r1: Role1
|
||||
r2: Role2
|
||||
74
server/tests/workflows/testdata/S0003_role_members/workflow.yaml
vendored
Normal file
74
server/tests/workflows/testdata/S0003_role_members/workflow.yaml
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
workflows:
|
||||
role-members:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
# Adding membership
|
||||
- stepID: 10
|
||||
kind: function
|
||||
ref: rolesAddMember
|
||||
arguments:
|
||||
- { target: role, type: Handle, value: r1 }
|
||||
- { target: user, type: Handle, value: u1 }
|
||||
- stepID: 11
|
||||
kind: function
|
||||
ref: rolesAddMember
|
||||
arguments:
|
||||
- { target: role, type: Handle, value: r2 }
|
||||
- { target: user, type: Handle, value: u1 }
|
||||
|
||||
# Get current state
|
||||
- stepID: 20
|
||||
kind: function
|
||||
ref: rolesSearchMembers
|
||||
arguments:
|
||||
- { target: lookup, type: Handle, value: r1 }
|
||||
results:
|
||||
- { target: usersPre_r1, expr: "users" }
|
||||
- { target: totalPre_r1, expr: "total" }
|
||||
- stepID: 21
|
||||
kind: function
|
||||
ref: rolesSearchMembers
|
||||
arguments:
|
||||
- { target: lookup, type: Handle, value: r2 }
|
||||
results:
|
||||
- { target: usersPre_r2, expr: "users" }
|
||||
- { target: totalPre_r2, expr: "total" }
|
||||
|
||||
# Removing membership
|
||||
- stepID: 30
|
||||
kind: function
|
||||
ref: rolesRemoveMember
|
||||
arguments:
|
||||
- { target: role, type: Handle, value: r1 }
|
||||
- { target: user, type: Handle, value: u1 }
|
||||
|
||||
# Get final state
|
||||
- stepID: 40
|
||||
kind: function
|
||||
ref: rolesSearchMembers
|
||||
arguments:
|
||||
- { target: lookup, type: Handle, value: r1 }
|
||||
results:
|
||||
- { target: usersPost_r1, expr: "users" }
|
||||
- { target: totalPost_r1, expr: "total" }
|
||||
- stepID: 41
|
||||
kind: function
|
||||
ref: rolesSearchMembers
|
||||
arguments:
|
||||
- { target: lookup, type: Handle, value: r2 }
|
||||
results:
|
||||
- { target: usersPost_r2, expr: "users" }
|
||||
- { target: totalPost_r2, expr: "total" }
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 11, childID: 20 }
|
||||
- { parentID: 20, childID: 21 }
|
||||
- { parentID: 21, childID: 30 }
|
||||
- { parentID: 30, childID: 40 }
|
||||
- { parentID: 40, childID: 41 }
|
||||
7
server/tests/workflows/testdata/S0004_user_membership/data_model.yaml
vendored
Normal file
7
server/tests/workflows/testdata/S0004_user_membership/data_model.yaml
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
users:
|
||||
u1: u1@example.tld
|
||||
u2: u2@example.tld
|
||||
|
||||
roles:
|
||||
r1: Role1
|
||||
r2: Role2
|
||||
115
server/tests/workflows/testdata/S0004_user_membership/workflow.yaml
vendored
Normal file
115
server/tests/workflows/testdata/S0004_user_membership/workflow.yaml
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
workflows:
|
||||
user-membership:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
# Adding membership
|
||||
- stepID: 10
|
||||
kind: function
|
||||
ref: rolesAddMember
|
||||
arguments:
|
||||
- { target: role, type: Handle, value: r1 }
|
||||
- { target: user, type: Handle, value: u1 }
|
||||
- stepID: 11
|
||||
kind: function
|
||||
ref: rolesAddMember
|
||||
arguments:
|
||||
- { target: role, type: Handle, value: r2 }
|
||||
- { target: user, type: Handle, value: u1 }
|
||||
|
||||
# Get current state
|
||||
- stepID: 20
|
||||
kind: function
|
||||
ref: usersSearchMembership
|
||||
arguments:
|
||||
- { target: lookup, type: Handle, value: u1 }
|
||||
results:
|
||||
- { target: rolesPre_u1, expr: "roles" }
|
||||
- { target: totalPre_u1, expr: "total" }
|
||||
- stepID: 21
|
||||
kind: function
|
||||
ref: usersSearchMembership
|
||||
arguments:
|
||||
- { target: lookup, type: Handle, value: u2 }
|
||||
results:
|
||||
- { target: rolesPre_u2, expr: "roles" }
|
||||
- { target: totalPre_u2, expr: "total" }
|
||||
|
||||
- stepID: 22
|
||||
kind: function
|
||||
ref: usersCheckMembership
|
||||
arguments:
|
||||
- { target: user, type: Handle, value: u1 }
|
||||
- { target: role, type: Handle, value: r1 }
|
||||
results:
|
||||
- { target: memberPre_u1, expr: "member" }
|
||||
- stepID: 23
|
||||
kind: function
|
||||
ref: usersCheckMembership
|
||||
arguments:
|
||||
- { target: user, type: Handle, value: u2 }
|
||||
- { target: role, type: Handle, value: r1 }
|
||||
results:
|
||||
- { target: memberPre_u2, expr: "member" }
|
||||
|
||||
|
||||
# Removing membership
|
||||
- stepID: 30
|
||||
kind: function
|
||||
ref: rolesRemoveMember
|
||||
arguments:
|
||||
- { target: role, type: Handle, value: r1 }
|
||||
- { target: user, type: Handle, value: u1 }
|
||||
|
||||
# Get final state
|
||||
- stepID: 40
|
||||
kind: function
|
||||
ref: usersSearchMembership
|
||||
arguments:
|
||||
- { target: lookup, type: Handle, value: u1 }
|
||||
results:
|
||||
- { target: rolesPost_u1, expr: "roles" }
|
||||
- { target: totalPost_u1, expr: "total" }
|
||||
- stepID: 41
|
||||
kind: function
|
||||
ref: usersSearchMembership
|
||||
arguments:
|
||||
- { target: lookup, type: Handle, value: u2 }
|
||||
results:
|
||||
- { target: rolesPost_u2, expr: "roles" }
|
||||
- { target: totalPost_u2, expr: "total" }
|
||||
|
||||
- stepID: 42
|
||||
kind: function
|
||||
ref: usersCheckMembership
|
||||
arguments:
|
||||
- { target: user, type: Handle, value: u1 }
|
||||
- { target: role, type: Handle, value: r1 }
|
||||
results:
|
||||
- { target: memberPost_u1, expr: "member" }
|
||||
- stepID: 43
|
||||
kind: function
|
||||
ref: usersCheckMembership
|
||||
arguments:
|
||||
- { target: user, type: Handle, value: u2 }
|
||||
- { target: role, type: Handle, value: r1 }
|
||||
results:
|
||||
- { target: memberPost_u2, expr: "member" }
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 11, childID: 20 }
|
||||
- { parentID: 20, childID: 21 }
|
||||
- { parentID: 21, childID: 22 }
|
||||
- { parentID: 22, childID: 23 }
|
||||
|
||||
- { parentID: 23, childID: 30 }
|
||||
|
||||
- { parentID: 30, childID: 40 }
|
||||
- { parentID: 40, childID: 41 }
|
||||
- { parentID: 41, childID: 42 }
|
||||
- { parentID: 42, childID: 43 }
|
||||
25
server/tests/workflows/testdata/S0005_iterator_records/data_model.yaml
vendored
Normal file
25
server/tests/workflows/testdata/S0005_iterator_records/data_model.yaml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
namespaces:
|
||||
ns1:
|
||||
name: ns1 name
|
||||
|
||||
modules:
|
||||
mod1:
|
||||
name: mod1 name
|
||||
fields:
|
||||
f1:
|
||||
label: f1 label
|
||||
kind: String
|
||||
required: false
|
||||
|
||||
records:
|
||||
mod1:
|
||||
- values:
|
||||
f1: 1
|
||||
- values:
|
||||
f1: 2
|
||||
- values:
|
||||
f1: 3
|
||||
- values:
|
||||
f1: 4
|
||||
- values:
|
||||
f1: 5
|
||||
29
server/tests/workflows/testdata/S0005_iterator_records/workflow.yaml
vendored
Normal file
29
server/tests/workflows/testdata/S0005_iterator_records/workflow.yaml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: composeRecordsEach
|
||||
arguments:
|
||||
- { "target": "module", "value": "mod1", "type": "Handle" }
|
||||
- { "target": "namespace", "value": "ns1", "type": "Handle" }
|
||||
results:
|
||||
- { "target": "r", "expr": "record" }
|
||||
- { "target": "i", "expr": "index" }
|
||||
- { "target": "t", "expr": "total" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
6
server/tests/workflows/testdata/S0006_iterator_users/data_model.yaml
vendored
Normal file
6
server/tests/workflows/testdata/S0006_iterator_users/data_model.yaml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
users:
|
||||
u1: u1@example.tld
|
||||
u2: u2@example.tld
|
||||
u3: u3@example.tld
|
||||
u4: u4@example.tld
|
||||
u5: u5@example.tld
|
||||
28
server/tests/workflows/testdata/S0006_iterator_users/workflow.yaml
vendored
Normal file
28
server/tests/workflows/testdata/S0006_iterator_users/workflow.yaml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: usersEach
|
||||
arguments:
|
||||
- { "target": "incTotal", "value": "false", "type": "Boolean" }
|
||||
results:
|
||||
- { "target": "u", "expr": "user" }
|
||||
- { "target": "i", "expr": "index" }
|
||||
- { "target": "t", "expr": "total" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
6
server/tests/workflows/testdata/S0007_iterator_roles/data_model.yaml
vendored
Normal file
6
server/tests/workflows/testdata/S0007_iterator_roles/data_model.yaml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
roles:
|
||||
r1: r1 name
|
||||
r2: r2 name
|
||||
r3: r3 name
|
||||
r4: r4 name
|
||||
r5: r5 name
|
||||
28
server/tests/workflows/testdata/S0007_iterator_roles/workflow.yaml
vendored
Normal file
28
server/tests/workflows/testdata/S0007_iterator_roles/workflow.yaml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: rolesEach
|
||||
arguments:
|
||||
- { "target": "incTotal", "value": "false", "type": "Boolean" }
|
||||
results:
|
||||
- { "target": "r", "expr": "role" }
|
||||
- { "target": "i", "expr": "index" }
|
||||
- { "target": "t", "expr": "total" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
9
server/tests/workflows/testdata/S0008_iterator_role_members/data_model.yaml
vendored
Normal file
9
server/tests/workflows/testdata/S0008_iterator_role_members/data_model.yaml
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
roles:
|
||||
r1: r1 name
|
||||
|
||||
users:
|
||||
u1: u1@mail.tld
|
||||
u2: u2@mail.tld
|
||||
u3: u3@mail.tld
|
||||
u4: u4@mail.tld
|
||||
u5: u5@mail.tld
|
||||
28
server/tests/workflows/testdata/S0008_iterator_role_members/workflow.yaml
vendored
Normal file
28
server/tests/workflows/testdata/S0008_iterator_role_members/workflow.yaml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: rolesEachMember
|
||||
arguments:
|
||||
- { "target": "lookup", "value": "r1", "type": "Handle" }
|
||||
results:
|
||||
- { "target": "u", "expr": "user" }
|
||||
- { "target": "i", "expr": "index" }
|
||||
- { "target": "t", "expr": "total" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
11
server/tests/workflows/testdata/S0009_iterator_templates/data_model.yaml
vendored
Normal file
11
server/tests/workflows/testdata/S0009_iterator_templates/data_model.yaml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
templates:
|
||||
t1:
|
||||
type: text/html
|
||||
t2:
|
||||
type: text/html
|
||||
t3:
|
||||
type: text/html
|
||||
t4:
|
||||
type: text/html
|
||||
t5:
|
||||
type: text/html
|
||||
28
server/tests/workflows/testdata/S0009_iterator_templates/workflow.yaml
vendored
Normal file
28
server/tests/workflows/testdata/S0009_iterator_templates/workflow.yaml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: templatesEach
|
||||
arguments:
|
||||
- { "target": "incTotal", "value": "false", "type": "Boolean" }
|
||||
results:
|
||||
- { "target": "tpl", "expr": "template" }
|
||||
- { "target": "i", "expr": "index" }
|
||||
- { "target": "t", "expr": "total" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
25
server/tests/workflows/testdata/S0010_stacktrace/data_model.yaml
vendored
Normal file
25
server/tests/workflows/testdata/S0010_stacktrace/data_model.yaml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
namespaces:
|
||||
ns1:
|
||||
name: ns1 name
|
||||
|
||||
modules:
|
||||
mod1:
|
||||
name: mod1 name
|
||||
fields:
|
||||
f1:
|
||||
label: f1 label
|
||||
kind: String
|
||||
required: false
|
||||
|
||||
records:
|
||||
mod1:
|
||||
- values:
|
||||
f1: 1
|
||||
- values:
|
||||
f1: 2
|
||||
- values:
|
||||
f1: 3
|
||||
- values:
|
||||
f1: 4
|
||||
- values:
|
||||
f1: 5
|
||||
29
server/tests/workflows/testdata/S0010_stacktrace/workflow.yaml
vendored
Normal file
29
server/tests/workflows/testdata/S0010_stacktrace/workflow.yaml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: composeRecordsEach
|
||||
arguments:
|
||||
- { "target": "module", "value": "mod1", "type": "Handle" }
|
||||
- { "target": "namespace", "value": "ns1", "type": "Handle" }
|
||||
results:
|
||||
- { "target": "r", "expr": "record" }
|
||||
- { "target": "i", "expr": "index" }
|
||||
- { "target": "t", "expr": "total" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
19
server/tests/workflows/testdata/S0011_termination_explicit/workflow.yaml
vendored
Normal file
19
server/tests/workflows/testdata/S0011_termination_explicit/workflow.yaml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: expressions
|
||||
arguments:
|
||||
- { "target": "test", "value": "42", "type": "Any" }
|
||||
|
||||
- stepID: 11
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
13
server/tests/workflows/testdata/S0012_termination_implicit/workflow.yaml
vendored
Normal file
13
server/tests/workflows/testdata/S0012_termination_implicit/workflow.yaml
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: expressions
|
||||
arguments:
|
||||
- { "target": "test", "value": "42", "type": "Any" }
|
||||
120
server/tests/workflows/testdata/S0013_gateway_exclusive/workflow.yaml
vendored
Normal file
120
server/tests/workflows/testdata/S0013_gateway_exclusive/workflow.yaml
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
workflows:
|
||||
case1:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: gateway
|
||||
ref: excl
|
||||
|
||||
- stepID: 11
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments:
|
||||
- {target: "message", value: "log 1", type: "String"}
|
||||
- stepID: 12
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments:
|
||||
- {target: "message", value: "log 2", type: "String"}
|
||||
- stepID: 13
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments:
|
||||
- {target: "message", value: "log 3", type: "String"}
|
||||
|
||||
- stepID: 14
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11, expr: "true == true" }
|
||||
- { parentID: 10, childID: 12, expr: "true == true" }
|
||||
- { parentID: 10, childID: 13, expr: "" }
|
||||
|
||||
- { parentID: 11, childID: 14 }
|
||||
- { parentID: 12, childID: 14 }
|
||||
- { parentID: 13, childID: 14 }
|
||||
|
||||
case2:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: gateway
|
||||
ref: excl
|
||||
|
||||
- stepID: 11
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments:
|
||||
- {target: "message", value: "log 1", type: "String"}
|
||||
- stepID: 12
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments:
|
||||
- {target: "message", value: "log 2", type: "String"}
|
||||
- stepID: 13
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments:
|
||||
- {target: "message", value: "log 3", type: "String"}
|
||||
|
||||
- stepID: 14
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11, expr: "true == false" }
|
||||
- { parentID: 10, childID: 12, expr: "true == true" }
|
||||
- { parentID: 10, childID: 13, expr: "" }
|
||||
|
||||
- { parentID: 11, childID: 14 }
|
||||
- { parentID: 12, childID: 14 }
|
||||
- { parentID: 13, childID: 14 }
|
||||
|
||||
case3:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: gateway
|
||||
ref: excl
|
||||
|
||||
- stepID: 11
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments:
|
||||
- {target: "message", value: "log 1", type: "String"}
|
||||
- stepID: 12
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments:
|
||||
- {target: "message", value: "log 2", type: "String"}
|
||||
- stepID: 13
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments:
|
||||
- {target: "message", value: "log 3", type: "String"}
|
||||
|
||||
- stepID: 14
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11, expr: "true == false" }
|
||||
- { parentID: 10, childID: 12, expr: "true == false" }
|
||||
- { parentID: 10, childID: 13, expr: "" }
|
||||
|
||||
- { parentID: 11, childID: 14 }
|
||||
- { parentID: 12, childID: 14 }
|
||||
- { parentID: 13, childID: 14 }
|
||||
46
server/tests/workflows/testdata/S0014_gateway_fork/workflow.yaml
vendored
Normal file
46
server/tests/workflows/testdata/S0014_gateway_fork/workflow.yaml
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
workflows:
|
||||
case1:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: gateway
|
||||
ref: fork
|
||||
|
||||
- stepID: 11
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments:
|
||||
- {target: "message", value: "log 1", type: "String"}
|
||||
- stepID: 12
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments:
|
||||
- {target: "message", value: "log 2", type: "String"}
|
||||
- stepID: 13
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments:
|
||||
- {target: "message", value: "log 3", type: "String"}
|
||||
|
||||
- stepID: 14
|
||||
kind: gateway
|
||||
ref: join
|
||||
|
||||
- stepID: 15
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
- { parentID: 10, childID: 13 }
|
||||
|
||||
- { parentID: 11, childID: 14 }
|
||||
- { parentID: 12, childID: 14 }
|
||||
- { parentID: 13, childID: 14 }
|
||||
|
||||
- { parentID: 14, childID: 15 }
|
||||
83
server/tests/workflows/testdata/S0015_step_issue/workflow.yaml
vendored
Normal file
83
server/tests/workflows/testdata/S0015_step_issue/workflow.yaml
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
workflows:
|
||||
case1:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: expressions
|
||||
arguments: [ { target: foo, type: Integer, expr: "40" } ]
|
||||
- stepID: 2
|
||||
kind: expressions
|
||||
arguments: [ { target: bar, type: Integer, expr: "50" } ]
|
||||
- stepID: 3
|
||||
kind: gateway
|
||||
ref: excl
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
|
||||
case2:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: expressions
|
||||
arguments: [ { target: foo, type: Integer, expr: "40" } ]
|
||||
- stepID: 2
|
||||
kind: expressions
|
||||
arguments: [ { target: bar, type: Integer, expr: "50" } ]
|
||||
- stepID: 3
|
||||
kind: gateway
|
||||
ref: incl
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
|
||||
case3:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: expressions
|
||||
arguments: [ { target: foo, type: Integer, expr: "40" } ]
|
||||
- stepID: 2
|
||||
kind: expressions
|
||||
arguments: [ { target: bar, type: Integer, expr: "50" } ]
|
||||
- stepID: 3
|
||||
kind: function
|
||||
ref: logInfo
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
|
||||
case4:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: expressions
|
||||
arguments: [ { target: foo, type: Integer, expr: "40" } ]
|
||||
- stepID: 2
|
||||
kind: expressions
|
||||
arguments: [ { target: bar, type: Integer, expr: "50" } ]
|
||||
- stepID: 3
|
||||
kind: iterator
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
156
server/tests/workflows/testdata/S0016_kv_expressions_step/workflow.yaml
vendored
Normal file
156
server/tests/workflows/testdata/S0016_kv_expressions_step/workflow.yaml
vendored
Normal file
@@ -0,0 +1,156 @@
|
||||
workflows:
|
||||
kv_expressions:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: expressions
|
||||
arguments: [
|
||||
## Initialize empty kv
|
||||
{ target: aux, type: KV, value: null },
|
||||
|
||||
## Initialize key and value(string) for set expression
|
||||
{ target: testString, type: String, value: "testString" },
|
||||
{ target: foo, type: String, value: "testing string" },
|
||||
|
||||
# Evaluate set for KV(1st argument) with string value(3rd argument);
|
||||
# it will set string value type for given key to KV(out)
|
||||
{ target: out, type: KV, expr: "set(aux, testString, foo)" },
|
||||
{ target: out, type: KV, expr: "set(out, \"deleteMe\", \"foobar\")" },
|
||||
|
||||
# Evaluate omit for KV(1st argument) for key(Name);
|
||||
# it will omit values with matching keys from KV(out)
|
||||
{ target: out, type: KV, expr: "omit(out, \"deleteMe\")" },
|
||||
]
|
||||
- stepID: 2
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
|
||||
kvv_expressions:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: expressions
|
||||
arguments: [
|
||||
## Initialize empty kvv
|
||||
{ target: aux, type: KVV, expr: "{\"test\": [\"z\", \"y\", \"x\"], \"deleteMe\": [\"foo\", \"bar\"], }" },
|
||||
|
||||
## Initialize key and value(Array) for set expression
|
||||
{ target: testString, type: String, value: "testString" },
|
||||
{ target: testArray, type: Any, expr: "[\"foo\", \"bar\"]" },
|
||||
|
||||
# Evaluate set for KVV(1st argument) with []string value(3rd argument);
|
||||
# it will set []string value for given key to KVV(out)
|
||||
{ target: out, type: KVV, expr: "set(aux, testString, testArray)" },
|
||||
|
||||
# Evaluate omit for KVV(1st argument) for key(Name);
|
||||
# it will omit values with matching keys from KVV(out)
|
||||
{ target: out, type: KVV, expr: "omit(out, \"test\", \"deleteMe\")" },
|
||||
]
|
||||
- stepID: 2
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
|
||||
vars_expressions:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: expressions
|
||||
arguments: [
|
||||
## Initialize empty vars
|
||||
{ target: aux, type: Vars, value: null },
|
||||
|
||||
## Initialize key and value(string) for set expression
|
||||
{ target: testString, type: String, value: "testString" },
|
||||
{ target: foo, type: String, value: "testing string" },
|
||||
|
||||
# Evaluate set for Vars(1st argument) with string value(3rd argument);
|
||||
# it will set string value type for given key to Vars(out)
|
||||
{ target: out, type: Vars, expr: "set(aux, testString, foo)" },
|
||||
|
||||
## Initialize key and value(int) for set expression
|
||||
{ target: testInt, type: String, value: "testInt" },
|
||||
{ target: bar, type: Integer, expr: "40" },
|
||||
|
||||
# Evaluate set for Vars(1st argument) with int value(3rd argument);
|
||||
# it will set int value type for given key to Vars(out)
|
||||
{ target: out, type: Vars, expr: "set(out, testInt, bar)" },
|
||||
|
||||
## Initialize key and value(Vars) for set expression
|
||||
{ target: testVar, type: String, value: "testVar" },
|
||||
{ target: foobar, type: Vars, expr: "{\"testString\": \"testing string\", \"testFloat\": 50}" },
|
||||
|
||||
# Evaluate set for Vars(1st argument) with Vars value(3rd argument);
|
||||
# it will set Vars value type for given key to Vars(out)
|
||||
{ target: out, type: Vars, expr: "set(out, testVar, foobar)" },
|
||||
|
||||
## Evaluate set for constant: `{}`(1st argument) with string value(3rd argument);
|
||||
# it will set string value type for given key to Vars(outConstStr)
|
||||
{ target: outConstStr, type: Vars, expr: "set({}, \"testConstKey\", \"testConstValue\")" },
|
||||
|
||||
## Evaluate set for constant value(1st argument) with int value(3rd argument);
|
||||
# it will set int value type for given key to Vars(outConstInt)
|
||||
{ target: outConstInt, type: Vars, expr: "set({}, testInt, bar)" },
|
||||
|
||||
# Evaluate omit for Vars(1st argument) for keys;
|
||||
# it will omit values matching keys from Vars(outConstInt)
|
||||
{ target: outConstInt, type: Vars, expr: "omit(outConstInt, testInt)" },
|
||||
]
|
||||
- stepID: 2
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
|
||||
compose_record_values_expressions:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: expressions
|
||||
arguments: [
|
||||
## Initialize rv(ComposeRecordValues) and key for set expression
|
||||
{ target: rv, type: ComposeRecordValues, expr: "{}" },
|
||||
{ target: testRv, type: String, value: "testRv" },
|
||||
{ target: foo, type: String, value: "testing string" },
|
||||
|
||||
# Evaluate set for ComposeRecordValues(1st argument) with string value(3rd argument);
|
||||
# it will set string value for given key(Name) to ComposeRecordValues(outRv)
|
||||
{ target: out, type: ComposeRecordValues, expr: "set(rv, testRv, foo)" },
|
||||
|
||||
# Evaluate set for ComposeRecordValues(1st argument) with float value(3rd argument);
|
||||
# it will set float value for given key(Name) to ComposeRecordValues(outRv)
|
||||
{ target: out, type: ComposeRecordValues, expr: "set(out, \"testFloat\", 50)" },
|
||||
{ target: out, type: ComposeRecordValues, expr: "set(out, \"removeMe\", \"I will be removed\")" },
|
||||
|
||||
# Evaluate omit for ComposeRecordValues(1st argument) for key(Name);
|
||||
# it will omit values matching Name from ComposeRecordValues(outRv)
|
||||
{ target: out, type: ComposeRecordValues, expr: "omit(out, \"testRv\", \"removeMe\")" },
|
||||
]
|
||||
- stepID: 2
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
44
server/tests/workflows/testdata/S0017_subworkflows/workflow.yaml
vendored
Normal file
44
server/tests/workflows/testdata/S0017_subworkflows/workflow.yaml
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
workflows:
|
||||
sub:
|
||||
enabled: true
|
||||
trace: true
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: expressions
|
||||
arguments:
|
||||
- { target: breadcrumbs, expr: 'breadcrumbs + " + sub"' }
|
||||
- stepID: 2
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
|
||||
main:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: expressions
|
||||
arguments:
|
||||
- { target: scope4sub, type: Vars }
|
||||
- { target: scope4sub.breadcrumbs, value: 'main' }
|
||||
|
||||
- stepID: 2
|
||||
kind: exec-workflow
|
||||
arguments:
|
||||
- { target: workflow, type: Handle, value: "sub" }
|
||||
- { target: scope, type: Vars, source: scope4sub }
|
||||
results:
|
||||
- { target: out, source: breadcrumbs }
|
||||
|
||||
- stepID: 3
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
- { parentID: 2, childID: 3 }
|
||||
31
server/tests/workflows/testdata/S0018_error_handler_step/workflow.yaml
vendored
Normal file
31
server/tests/workflows/testdata/S0018_error_handler_step/workflow.yaml
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
workflows:
|
||||
error_handler_results:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: error-handler
|
||||
results:
|
||||
- { target: e, type: Any, expr: "error" }
|
||||
- { target: eM, type: String, expr: "errorMessage" }
|
||||
- { target: esID, type: Integer, expr: "errorStepID" }
|
||||
|
||||
- stepID: 2
|
||||
kind: error
|
||||
arguments:
|
||||
- { target: message, type: String, value: "TestingError" }
|
||||
|
||||
- stepID: 3
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments:
|
||||
- { target: message, type: String, expr: "format(\"%s, %s, %d\", e, eM, esID)" }
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
- { parentID: 1, childID: 3 }
|
||||
|
||||
221
server/tests/workflows/testdata/S0019_workflow_graph_and_scope/workflow.yaml
vendored
Normal file
221
server/tests/workflows/testdata/S0019_workflow_graph_and_scope/workflow.yaml
vendored
Normal file
@@ -0,0 +1,221 @@
|
||||
workflows:
|
||||
# 1. iterator placed inside a parallel fork/join
|
||||
iterator_in_fork:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: gateway
|
||||
ref: fork
|
||||
|
||||
# branch A: iterator; its exit path leads to the join
|
||||
- stepID: 11
|
||||
kind: iterator
|
||||
ref: templatesEach
|
||||
arguments:
|
||||
- { target: incTotal, value: "false", type: Boolean }
|
||||
results:
|
||||
- { target: tpl, expr: template }
|
||||
- stepID: 12
|
||||
kind: continue
|
||||
|
||||
# branch B: plain step
|
||||
- stepID: 13
|
||||
kind: expressions
|
||||
arguments: [ { target: b, type: String, value: "B" } ]
|
||||
|
||||
- stepID: 14
|
||||
kind: gateway
|
||||
ref: join
|
||||
- stepID: 15
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 13 }
|
||||
- { parentID: 11, childID: 12 }
|
||||
- { parentID: 11, childID: 14 }
|
||||
- { parentID: 13, childID: 14 }
|
||||
- { parentID: 14, childID: 15 }
|
||||
|
||||
# 3a. variable created mid-branch in a non-first branch
|
||||
join_new_var:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: gateway
|
||||
ref: fork
|
||||
|
||||
# branch A -> paths[0]
|
||||
- stepID: 11
|
||||
kind: expressions
|
||||
arguments: [ { target: a, type: String, value: "A" } ]
|
||||
|
||||
# branch B: sets foo mid-branch, then does something else
|
||||
- stepID: 12
|
||||
kind: expressions
|
||||
arguments: [ { target: foo, type: String, value: "fromB" } ]
|
||||
- stepID: 13
|
||||
kind: expressions
|
||||
arguments: [ { target: bLast, type: String, value: "last" } ]
|
||||
|
||||
- stepID: 14
|
||||
kind: gateway
|
||||
ref: join
|
||||
- stepID: 15
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
- { parentID: 12, childID: 13 }
|
||||
- { parentID: 11, childID: 14 }
|
||||
- { parentID: 13, childID: 14 }
|
||||
- { parentID: 14, childID: 15 }
|
||||
|
||||
# 3b. variable that already existed before the fork, changed mid-branch
|
||||
join_existing_var:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 9
|
||||
|
||||
steps:
|
||||
- stepID: 9
|
||||
kind: expressions
|
||||
arguments: [ { target: foo, type: String, value: "base" } ]
|
||||
|
||||
- stepID: 10
|
||||
kind: gateway
|
||||
ref: fork
|
||||
|
||||
# branch A -> paths[0], never touches foo
|
||||
- stepID: 11
|
||||
kind: expressions
|
||||
arguments: [ { target: a, type: String, value: "A" } ]
|
||||
|
||||
# branch B changes foo mid-branch
|
||||
- stepID: 12
|
||||
kind: expressions
|
||||
arguments: [ { target: foo, type: String, value: "fromB" } ]
|
||||
- stepID: 13
|
||||
kind: expressions
|
||||
arguments: [ { target: bLast, type: String, value: "last" } ]
|
||||
|
||||
- stepID: 14
|
||||
kind: gateway
|
||||
ref: join
|
||||
- stepID: 15
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 9, childID: 10 }
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
- { parentID: 12, childID: 13 }
|
||||
- { parentID: 11, childID: 14 }
|
||||
- { parentID: 13, childID: 14 }
|
||||
- { parentID: 14, childID: 15 }
|
||||
|
||||
# 2. error handler registered, then a normal step runs before the error
|
||||
errhandler_after_step:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: error-handler
|
||||
results:
|
||||
- { target: eM, type: String, expr: errorMessage }
|
||||
|
||||
# normal continuation (out[0])
|
||||
- stepID: 2
|
||||
kind: expressions
|
||||
arguments: [ { target: noise, type: String, value: "noise" } ]
|
||||
- stepID: 3
|
||||
kind: error
|
||||
arguments: [ { target: message, type: String, value: "Boom" } ]
|
||||
|
||||
# error handler (out[1])
|
||||
- stepID: 4
|
||||
kind: expressions
|
||||
arguments: [ { target: caught, type: String, expr: eM } ]
|
||||
|
||||
paths:
|
||||
- { parentID: 1, childID: 2 }
|
||||
- { parentID: 1, childID: 4 }
|
||||
- { parentID: 2, childID: 3 }
|
||||
|
||||
# 3c. a nested parallel section must not claim variables it never changed
|
||||
join_nested:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 9
|
||||
|
||||
steps:
|
||||
- stepID: 9
|
||||
kind: expressions
|
||||
arguments: [ { target: foo, type: String, value: "base" } ]
|
||||
|
||||
- stepID: 10
|
||||
kind: gateway
|
||||
ref: fork
|
||||
|
||||
# branch A -> paths[0], changes foo mid-branch
|
||||
- stepID: 11
|
||||
kind: expressions
|
||||
arguments: [ { target: foo, type: String, value: "fromA" } ]
|
||||
- stepID: 12
|
||||
kind: expressions
|
||||
arguments: [ { target: aLast, type: String, value: "last" } ]
|
||||
|
||||
# branch B holds a parallel section of its own and never touches foo
|
||||
- stepID: 13
|
||||
kind: gateway
|
||||
ref: fork
|
||||
- stepID: 14
|
||||
kind: expressions
|
||||
arguments: [ { target: b1, type: String, value: "b1" } ]
|
||||
- stepID: 15
|
||||
kind: expressions
|
||||
arguments: [ { target: b2, type: String, value: "b2" } ]
|
||||
- stepID: 16
|
||||
kind: gateway
|
||||
ref: join
|
||||
|
||||
- stepID: 20
|
||||
kind: gateway
|
||||
ref: join
|
||||
- stepID: 21
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 9, childID: 10 }
|
||||
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 11, childID: 12 }
|
||||
|
||||
- { parentID: 10, childID: 13 }
|
||||
- { parentID: 13, childID: 14 }
|
||||
- { parentID: 13, childID: 15 }
|
||||
- { parentID: 14, childID: 16 }
|
||||
- { parentID: 15, childID: 16 }
|
||||
|
||||
- { parentID: 12, childID: 20 }
|
||||
- { parentID: 16, childID: 20 }
|
||||
- { parentID: 20, childID: 21 }
|
||||
59
server/tests/workflows/testdata/actionlog_functions/workflow.yaml
vendored
Normal file
59
server/tests/workflows/testdata/actionlog_functions/workflow.yaml
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
workflows:
|
||||
logger:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: function
|
||||
ref: actionlogRecord
|
||||
arguments:
|
||||
- { target: action, type: String, value: "action" }
|
||||
- { target: resource, type: String, value: "resource" }
|
||||
- { target: error, type: String, value: "error" }
|
||||
- { target: severity, type: String, value: "severity" }
|
||||
- { target: description, type: String, value: "description" }
|
||||
- stepID: 11
|
||||
kind: function
|
||||
ref: actionlogRecord
|
||||
arguments:
|
||||
- { target: action, type: String, value: "action" }
|
||||
- { target: resource, type: String, value: "resource" }
|
||||
- { target: error, type: String, value: "error" }
|
||||
- { target: severity, type: String, value: "severity" }
|
||||
- { target: description, type: String, value: "description" }
|
||||
- stepID: 12
|
||||
kind: function
|
||||
ref: actionlogRecord
|
||||
arguments:
|
||||
- { target: action, type: String, value: "action" }
|
||||
- { target: resource, type: String, value: "find-me" }
|
||||
- { target: error, type: String, value: "error" }
|
||||
- { target: severity, type: String, value: "severity" }
|
||||
- { target: description, type: String, value: "description" }
|
||||
- stepID: 13
|
||||
kind: function
|
||||
ref: actionlogRecord
|
||||
arguments:
|
||||
- { target: action, type: String, value: "action" }
|
||||
- { target: resource, type: String, value: "find-me" }
|
||||
- { target: error, type: String, value: "error" }
|
||||
- { target: severity, type: String, value: "severity" }
|
||||
- { target: description, type: String, value: "description" }
|
||||
|
||||
- stepID: 20
|
||||
kind: function
|
||||
ref: actionlogSearch
|
||||
arguments:
|
||||
- { target: resource, type: String, value: "find-me" }
|
||||
results:
|
||||
- { target: actions, expr: "actions" }
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 11, childID: 12 }
|
||||
- { parentID: 12, childID: 13 }
|
||||
- { parentID: 13, childID: 20 }
|
||||
9
server/tests/workflows/testdata/attachment_management/data_model.yaml
vendored
Normal file
9
server/tests/workflows/testdata/attachment_management/data_model.yaml
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
namespaces:
|
||||
ns1:
|
||||
name: Namespace#1
|
||||
|
||||
modules:
|
||||
mod1:
|
||||
name: Module#1
|
||||
fields:
|
||||
f1: { label: 'Field1', kind: 'File' }
|
||||
59
server/tests/workflows/testdata/attachment_management/workflow.yaml
vendored
Normal file
59
server/tests/workflows/testdata/attachment_management/workflow.yaml
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
workflows:
|
||||
attachments:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: expressions
|
||||
arguments:
|
||||
- { target: base64blackGif, value: "R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=" }
|
||||
|
||||
- stepID: 11
|
||||
kind: function
|
||||
ref: composeRecordsNew
|
||||
arguments:
|
||||
- { target: module, type: Handle, value: "mod1" }
|
||||
- { target: namespace, type: Handle, value: "ns1" }
|
||||
results:
|
||||
- { target: attachable, expr: "record" }
|
||||
|
||||
|
||||
# Store attachment from given string
|
||||
- stepID: 20
|
||||
kind: function
|
||||
ref: attachmentCreate
|
||||
arguments:
|
||||
- { target: content, type: String, expr: "base64blackGif" }
|
||||
- { target: name, type: String, value: "black-from-base64-string.gif" }
|
||||
- { target: resource, type: ComposeRecord, expr: "attachable" }
|
||||
- { target: fieldName, type: String, value: "f1" }
|
||||
results:
|
||||
- { target: storedAttBlackGif, expr: "attachment" }
|
||||
|
||||
# Load attachment
|
||||
- stepID: 30
|
||||
kind: function
|
||||
ref: attachmentLookup
|
||||
arguments:
|
||||
- { target: attachment, type: ID, expr: "storedAttBlackGif.ID" }
|
||||
results:
|
||||
- { target: loadedAttBlackGif, expr: "attachment" }
|
||||
|
||||
# Open attachment
|
||||
- stepID: 31
|
||||
kind: function
|
||||
ref: attachmentOpenOriginal
|
||||
arguments:
|
||||
- { target: attachment, type: "Attachment", expr: "storedAttBlackGif" }
|
||||
results:
|
||||
- { target: loadedContent, expr: "content" }
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 11, childID: 20 }
|
||||
- { parentID: 20, childID: 30 }
|
||||
- { parentID: 30, childID: 31 }
|
||||
9
server/tests/workflows/testdata/attachment_management_types/data_model.yaml
vendored
Normal file
9
server/tests/workflows/testdata/attachment_management_types/data_model.yaml
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
namespaces:
|
||||
ns1:
|
||||
name: Namespace#1
|
||||
|
||||
modules:
|
||||
mod1:
|
||||
name: Module#1
|
||||
fields:
|
||||
f1: { label: 'Field1', kind: 'File' }
|
||||
96
server/tests/workflows/testdata/attachment_management_types/workflow.yaml
vendored
Normal file
96
server/tests/workflows/testdata/attachment_management_types/workflow.yaml
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
workflows:
|
||||
attachments:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 11
|
||||
|
||||
steps:
|
||||
- stepID: 11
|
||||
kind: function
|
||||
ref: composeRecordsNew
|
||||
arguments:
|
||||
- { target: module, type: Handle, value: "mod1" }
|
||||
- { target: namespace, type: Handle, value: "ns1" }
|
||||
results:
|
||||
- { target: attachableString, expr: "record" }
|
||||
- stepID: 12
|
||||
kind: function
|
||||
ref: composeRecordsNew
|
||||
arguments:
|
||||
- { target: module, type: Handle, value: "mod1" }
|
||||
- { target: namespace, type: Handle, value: "ns1" }
|
||||
results:
|
||||
- { target: attachableReader, expr: "record" }
|
||||
- stepID: 13
|
||||
kind: function
|
||||
ref: composeRecordsNew
|
||||
arguments:
|
||||
- { target: module, type: Handle, value: "mod1" }
|
||||
- { target: namespace, type: Handle, value: "ns1" }
|
||||
results:
|
||||
- { target: attachableReadSeeker, expr: "record" }
|
||||
- stepID: 14
|
||||
kind: function
|
||||
ref: composeRecordsNew
|
||||
arguments:
|
||||
- { target: module, type: Handle, value: "mod1" }
|
||||
- { target: namespace, type: Handle, value: "ns1" }
|
||||
results:
|
||||
- { target: attachableBytes, expr: "record" }
|
||||
|
||||
|
||||
|
||||
|
||||
# Store attachment from given string
|
||||
- stepID: 20
|
||||
kind: function
|
||||
ref: attachmentCreate
|
||||
arguments:
|
||||
- { target: content, type: String, expr: "sourceString" }
|
||||
- { target: name, type: String, value: "att.txt" }
|
||||
- { target: resource, type: ComposeRecord, expr: "attachableString" }
|
||||
- { target: fieldName, type: String, value: "f1" }
|
||||
results:
|
||||
- { target: attachedString, expr: "attachment" }
|
||||
- stepID: 21
|
||||
kind: function
|
||||
ref: attachmentCreate
|
||||
arguments:
|
||||
- { target: content, type: Reader, expr: "sourceReader" }
|
||||
- { target: name, type: String, value: "att.txt" }
|
||||
- { target: resource, type: ComposeRecord, expr: "attachableReader" }
|
||||
- { target: fieldName, type: String, value: "f1" }
|
||||
results:
|
||||
- { target: attachedReader, expr: "attachment" }
|
||||
- stepID: 22
|
||||
kind: function
|
||||
ref: attachmentCreate
|
||||
arguments:
|
||||
- { target: content, type: Reader, expr: "sourceReadSeeker" }
|
||||
- { target: name, type: String, value: "att.txt" }
|
||||
- { target: resource, type: ComposeRecord, expr: "attachableReadSeeker" }
|
||||
- { target: fieldName, type: String, value: "f1" }
|
||||
results:
|
||||
- { target: attachedReadSeeker, expr: "attachment" }
|
||||
- stepID: 23
|
||||
kind: function
|
||||
ref: attachmentCreate
|
||||
arguments:
|
||||
- { target: content, type: Bytes, expr: "sourceBytes" }
|
||||
- { target: name, type: String, value: "att.txt" }
|
||||
- { target: resource, type: ComposeRecord, expr: "attachableBytes" }
|
||||
- { target: fieldName, type: String, value: "f1" }
|
||||
results:
|
||||
- { target: attachedBytes, expr: "attachment" }
|
||||
|
||||
paths:
|
||||
- { parentID: 11, childID: 12 }
|
||||
- { parentID: 12, childID: 13 }
|
||||
- { parentID: 13, childID: 14 }
|
||||
|
||||
- { parentID: 14, childID: 20 }
|
||||
- { parentID: 20, childID: 21 }
|
||||
- { parentID: 21, childID: 22 }
|
||||
- { parentID: 22, childID: 23 }
|
||||
8
server/tests/workflows/testdata/exec_permissions/users.yaml
vendored
Normal file
8
server/tests/workflows/testdata/exec_permissions/users.yaml
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
users:
|
||||
exec-allowed: exec-allowed@cortezaproject.org
|
||||
exec-denied: exec-denied@cortezaproject.org
|
||||
|
||||
roles:
|
||||
executors:
|
||||
members:
|
||||
- exec-allowed
|
||||
16
server/tests/workflows/testdata/exec_permissions/workflow.yaml
vendored
Normal file
16
server/tests/workflows/testdata/exec_permissions/workflow.yaml
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
workflows:
|
||||
wf:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: termination
|
||||
|
||||
paths: []
|
||||
allow:
|
||||
executors:
|
||||
- execute
|
||||
8
server/tests/workflows/testdata/invoker_and_runner_in_scope/users.yaml
vendored
Normal file
8
server/tests/workflows/testdata/invoker_and_runner_in_scope/users.yaml
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
users:
|
||||
wf-runner: workflow-runner@cortezaproject.org
|
||||
wf-invoker: workflow-invoker@cortezaproject.org
|
||||
|
||||
roles:
|
||||
wf-invokers:
|
||||
members:
|
||||
- wf-invoker
|
||||
33
server/tests/workflows/testdata/invoker_and_runner_in_scope/workflow.yaml
vendored
Normal file
33
server/tests/workflows/testdata/invoker_and_runner_in_scope/workflow.yaml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
workflows:
|
||||
invoker:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: termination
|
||||
|
||||
paths: []
|
||||
allow:
|
||||
wf-invokers:
|
||||
- execute
|
||||
|
||||
runner:
|
||||
enabled: true
|
||||
trace: true
|
||||
runAs: wf-runner
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 1
|
||||
|
||||
steps:
|
||||
- stepID: 1
|
||||
kind: termination
|
||||
|
||||
paths: []
|
||||
allow:
|
||||
wf-invokers:
|
||||
- execute
|
||||
25
server/tests/workflows/testdata/iterator_records_limit/data_model.yaml
vendored
Normal file
25
server/tests/workflows/testdata/iterator_records_limit/data_model.yaml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
namespaces:
|
||||
ns1:
|
||||
name: ns1 name
|
||||
|
||||
modules:
|
||||
mod1:
|
||||
name: mod1 name
|
||||
fields:
|
||||
f1:
|
||||
label: f1 label
|
||||
kind: String
|
||||
required: false
|
||||
|
||||
records:
|
||||
mod1:
|
||||
- values:
|
||||
f1: 1
|
||||
- values:
|
||||
f1: 2
|
||||
- values:
|
||||
f1: 3
|
||||
- values:
|
||||
f1: 4
|
||||
- values:
|
||||
f1: 5
|
||||
30
server/tests/workflows/testdata/iterator_records_limit/workflow.yaml
vendored
Normal file
30
server/tests/workflows/testdata/iterator_records_limit/workflow.yaml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: composeRecordsEach
|
||||
arguments:
|
||||
- { "target": "module", "value": "mod1", "type": "Handle" }
|
||||
- { "target": "namespace", "value": "ns1", "type": "Handle" }
|
||||
- { "target": "limit", "value": "2", "type": "UnsignedInteger" }
|
||||
results:
|
||||
- { "target": "r", "expr": "record" }
|
||||
- { "target": "i", "expr": "index" }
|
||||
- { "target": "t", "expr": "total" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
27
server/tests/workflows/testdata/iterator_reminders_total/workflow.yaml
vendored
Normal file
27
server/tests/workflows/testdata/iterator_reminders_total/workflow.yaml
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: remindersEach
|
||||
arguments:
|
||||
- { "target": "incTotal", "value": "true", "type": "Boolean" }
|
||||
results:
|
||||
- { "target": "r", "expr": "reminder" }
|
||||
- { "target": "t", "expr": "total" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
6
server/tests/workflows/testdata/iterator_roles_limit/data_model.yaml
vendored
Normal file
6
server/tests/workflows/testdata/iterator_roles_limit/data_model.yaml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
roles:
|
||||
r1: r1 name
|
||||
r2: r2 name
|
||||
r3: r3 name
|
||||
r4: r4 name
|
||||
r5: r5 name
|
||||
29
server/tests/workflows/testdata/iterator_roles_limit/workflow.yaml
vendored
Normal file
29
server/tests/workflows/testdata/iterator_roles_limit/workflow.yaml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: rolesEach
|
||||
arguments:
|
||||
- { "target": "incTotal", "value": "false", "type": "Boolean" }
|
||||
- { "target": "limit", "value": "2", "type": "UnsignedInteger" }
|
||||
results:
|
||||
- { "target": "r", "expr": "role" }
|
||||
- { "target": "i", "expr": "index" }
|
||||
- { "target": "t", "expr": "total" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
29
server/tests/workflows/testdata/iterator_sequence/workflow.yaml
vendored
Normal file
29
server/tests/workflows/testdata/iterator_sequence/workflow.yaml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: loopSequence
|
||||
arguments:
|
||||
- { target: "last", expr: "3", type: "Integer"}
|
||||
- { target: "step", expr: "1", type: "Integer"}
|
||||
results:
|
||||
- { target: "i", expr: "counter" }
|
||||
- { target: "first", expr: "isFirst" }
|
||||
- { target: "last", expr: "isLast" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
30
server/tests/workflows/testdata/iterator_sequence_complex/workflow.yaml
vendored
Normal file
30
server/tests/workflows/testdata/iterator_sequence_complex/workflow.yaml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: loopSequence
|
||||
arguments:
|
||||
- { target: "first", expr: "2", type: "Integer"}
|
||||
- { target: "last", expr: "5", type: "Integer"}
|
||||
- { target: "step", expr: "2", type: "Integer"}
|
||||
results:
|
||||
- { target: "i", expr: "counter" }
|
||||
- { target: "first", expr: "isFirst" }
|
||||
- { target: "last", expr: "isLast" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
11
server/tests/workflows/testdata/iterator_templates_limit/data_model.yaml
vendored
Normal file
11
server/tests/workflows/testdata/iterator_templates_limit/data_model.yaml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
templates:
|
||||
t1:
|
||||
type: text/html
|
||||
t2:
|
||||
type: text/html
|
||||
t3:
|
||||
type: text/html
|
||||
t4:
|
||||
type: text/html
|
||||
t5:
|
||||
type: text/html
|
||||
29
server/tests/workflows/testdata/iterator_templates_limit/workflow.yaml
vendored
Normal file
29
server/tests/workflows/testdata/iterator_templates_limit/workflow.yaml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: templatesEach
|
||||
arguments:
|
||||
- { "target": "incTotal", "value": "false", "type": "Boolean" }
|
||||
- { "target": "limit", "value": "2", "type": "UnsignedInteger" }
|
||||
results:
|
||||
- { "target": "tpl", "expr": "template" }
|
||||
- { "target": "i", "expr": "index" }
|
||||
- { "target": "t", "expr": "total" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
6
server/tests/workflows/testdata/iterator_users_cursor/data_model.yaml
vendored
Normal file
6
server/tests/workflows/testdata/iterator_users_cursor/data_model.yaml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
users:
|
||||
u1: u1@example.tld
|
||||
u2: u2@example.tld
|
||||
u3: u3@example.tld
|
||||
u4: u4@example.tld
|
||||
u5: u5@example.tld
|
||||
26
server/tests/workflows/testdata/iterator_users_cursor/workflow.yaml
vendored
Normal file
26
server/tests/workflows/testdata/iterator_users_cursor/workflow.yaml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: usersEach
|
||||
arguments:
|
||||
- { "target": "pageCursor", "expr": "cursor", "type": "String" }
|
||||
results:
|
||||
- { "target": "u", "expr": "user" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
6
server/tests/workflows/testdata/iterator_users_limit/data_model.yaml
vendored
Normal file
6
server/tests/workflows/testdata/iterator_users_limit/data_model.yaml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
users:
|
||||
u1: u1@example.tld
|
||||
u2: u2@example.tld
|
||||
u3: u3@example.tld
|
||||
u4: u4@example.tld
|
||||
u5: u5@example.tld
|
||||
29
server/tests/workflows/testdata/iterator_users_limit/workflow.yaml
vendored
Normal file
29
server/tests/workflows/testdata/iterator_users_limit/workflow.yaml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: usersEach
|
||||
arguments:
|
||||
- { "target": "incTotal", "value": "false", "type": "Boolean" }
|
||||
- { "target": "limit", "value": "2", "type": "UnsignedInteger" }
|
||||
results:
|
||||
- { "target": "u", "expr": "user" }
|
||||
- { "target": "i", "expr": "index" }
|
||||
- { "target": "t", "expr": "total" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
6
server/tests/workflows/testdata/iterator_users_total/data_model.yaml
vendored
Normal file
6
server/tests/workflows/testdata/iterator_users_total/data_model.yaml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
users:
|
||||
u1: u1@example.tld
|
||||
u2: u2@example.tld
|
||||
u3: u3@example.tld
|
||||
u4: u4@example.tld
|
||||
u5: u5@example.tld
|
||||
29
server/tests/workflows/testdata/iterator_users_total/workflow.yaml
vendored
Normal file
29
server/tests/workflows/testdata/iterator_users_total/workflow.yaml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: iterator
|
||||
ref: usersEach
|
||||
arguments:
|
||||
- { "target": "incTotal", "value": "true", "type": "Boolean" }
|
||||
- { "target": "incPageNavigation", "value": "true", "type": "Boolean" }
|
||||
results:
|
||||
- { "target": "u", "expr": "user" }
|
||||
- { "target": "i", "expr": "index" }
|
||||
- { "target": "t", "expr": "total" }
|
||||
|
||||
- stepID: 11
|
||||
kind: continue
|
||||
|
||||
- stepID: 12
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
- { parentID: 10, childID: 12 }
|
||||
1
server/tests/workflows/testdata/jwt_generate/match_token
vendored
Normal file
1
server/tests/workflows/testdata/jwt_generate/match_token
vendored
Normal file
@@ -0,0 +1 @@
|
||||
eyJhbGciOiJSUzI1NiIsImZvbyI6ImJhciIsInR5cCI6IkpXVCJ9.eyJleHAiOjcyODY1NDQwMCwiaWF0Ijo3Mjg2NTA4MDAsInNjb3BlIjpbXSwic3ViIjoiMTIzNDU2Nzg5MCJ9.Tk19aAqkcSuVd54OHSSX6VOjLk4MFhxoeufiEDGo8U7wtsW6EL3YGFCiWtcMpjrK03aNVUqQwue2BjB8ysqq3NsNvFVWiJFDUZR-4jaRHrz4FALZpb43do95YQFhJHliAnzmAEgbFQY704FTd9PYP9IGuw0EUwq_WOAtIiaKNHG20rPIRvltr_p1t54rDG0Xx_9iGCU-J-GJSWuYV7-XNHsdz0xJqxRAUeaH4Ly5BzjHBX8HSB0VezopZly2sJDlqfZCUBkL80eMvECJWc7g4znN9dPHKDcKclqvFI5sPSdQIQ7zZVeSbTizqXe-KXz9TykVTDOudnY4iRXzNerZ0_rzq7qT253qGoypkM0_N3oidFU0UkSnLgWIyeuw09bFraDyWuYEhYbsDif7qT8tP-w6YaKv0mFZ8BwRKl6yZafR8Ji7UNWhVQ3Qz8rJjAclX4elEFGq0deK7B2Kiwo6U33tNyx2Xi56QRMs6r26S9QoA3fNbA7C2HrFwy3coZxyJAKVCAHcfYOue-u1oersq0vAk_HGXytBrdiz6xL6wbRjNqfrT--I-uq2MfUEsZSh2Xy0SCEUt8IJeX6vt7nGeKqu6AUuKbCpA6CrXRI7K9jShuAsFeyTdKKjJsKCXwZRQp9ZyTmWYXcyXlDHf63I8JXNP2wzPM_3p0CCQ313S_Q
|
||||
93
server/tests/workflows/testdata/jwt_generate/workflow.yaml
vendored
Normal file
93
server/tests/workflows/testdata/jwt_generate/workflow.yaml
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
workflows:
|
||||
jwt_generate:
|
||||
enabled: true
|
||||
trace: true
|
||||
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 5
|
||||
|
||||
steps:
|
||||
- stepID: 5
|
||||
kind: function
|
||||
ref: jwtGenerate
|
||||
|
||||
arguments:
|
||||
- target: scope
|
||||
type: String
|
||||
|
||||
- target: header
|
||||
value: |-
|
||||
{
|
||||
"foo": "bar"
|
||||
}
|
||||
type: String
|
||||
|
||||
- target: payload
|
||||
expr: |-
|
||||
{
|
||||
"sub": "1234567890",
|
||||
"iat": int(strftime(date("1993-02-02T06:00:00-05:00"), "%L")),
|
||||
"exp": int(strftime(modTime(date("1993-02-02T06:00:00-05:00"), "+1h"), "%L"))
|
||||
}
|
||||
type: Vars
|
||||
|
||||
- target: secret
|
||||
value: |-
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
C/p2c759krBsxv/zOxJJsWDEF1AolQI=
|
||||
-----END PRIVATE KEY-----
|
||||
type: String
|
||||
|
||||
results:
|
||||
- target: token
|
||||
expr: token
|
||||
57
server/tests/workflows/testdata/nested_iterators/workflow.yaml
vendored
Normal file
57
server/tests/workflows/testdata/nested_iterators/workflow.yaml
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
workflows:
|
||||
nested_iterators:
|
||||
enabled: true
|
||||
trace: true
|
||||
triggers: [ { enabled: true, stepID: 10001 } ]
|
||||
|
||||
steps:
|
||||
## LEVEL 1
|
||||
|
||||
- stepID: 10001
|
||||
kind: iterator
|
||||
ref: loopDo
|
||||
arguments: [ { target: "while", type: "String", value: "L1 > 0" }]
|
||||
|
||||
- stepID: 10002
|
||||
kind: expressions
|
||||
arguments: [ { target: "L1", expr: "L1 - 1" } ]
|
||||
|
||||
## LEVEL 2
|
||||
|
||||
- stepID: 20001
|
||||
kind: iterator
|
||||
ref: loopDo
|
||||
arguments: [ { target: "while", type: "String", value: "L2 > 0" }]
|
||||
|
||||
- stepID: 20002
|
||||
kind: expressions
|
||||
arguments: [ { target: "L2", expr: "L2 - 1" } ]
|
||||
|
||||
- stepID: 20003
|
||||
kind: break
|
||||
|
||||
- stepID: 20009
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments: [{ target: "message", expr: '"loop level #2 break; L1:" + L1 + ", L2:" + L2', type: "String" }]
|
||||
|
||||
## /LEVEL 2
|
||||
|
||||
- stepID: 10009
|
||||
kind: function
|
||||
ref: logInfo
|
||||
arguments: [{ target: "message", expr: '"L1:" + L1 + ", L2:" + L2', type: "String" }]
|
||||
|
||||
## /LEVEL 1
|
||||
|
||||
|
||||
paths:
|
||||
- { parentID: 10001, childID: 10002 }
|
||||
- { parentID: 10001, childID: 10009 }
|
||||
- { parentID: 10002, childID: 20001 }
|
||||
|
||||
- { parentID: 20001, childID: 20002 }
|
||||
- { parentID: 20002, childID: 20003 }
|
||||
- { parentID: 20001, childID: 20009 }
|
||||
|
||||
|
||||
23
server/tests/workflows/testdata/results_without_trace/workflow.yaml
vendored
Normal file
23
server/tests/workflows/testdata/results_without_trace/workflow.yaml
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
workflows:
|
||||
testing:
|
||||
enabled: true
|
||||
trace: false
|
||||
triggers:
|
||||
- enabled: true
|
||||
stepID: 10
|
||||
|
||||
steps:
|
||||
- stepID: 10
|
||||
kind: function
|
||||
ref: remindersSearch
|
||||
arguments:
|
||||
- { target: incTotal, type: Boolean, value: "true" }
|
||||
results:
|
||||
- { target: total, expr: total }
|
||||
- { target: found, expr: "length(reminders)" }
|
||||
|
||||
- stepID: 11
|
||||
kind: termination
|
||||
|
||||
paths:
|
||||
- { parentID: 10, childID: 11 }
|
||||
Reference in New Issue
Block a user