Skip to content

Commit cb9a510

Browse files
akkieyaron2
andauthored
Implement E2E tests for zeebe (dapr#973)
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
1 parent c3cf138 commit cb9a510

32 files changed

+1603
-171
lines changed

Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,10 @@ check-diff:
8484
.PHONY: conf-tests
8585
conf-tests:
8686
@go test -v -tags=conftests -count=1 ./tests/conformance
87+
88+
################################################################################
89+
# Target: e2e-tests-zeebe #
90+
################################################################################
91+
.PHONY: e2e-tests-zeebe
92+
e2e-tests-zeebe:
93+
@go test -v -tags=e2etests -count=1 ./tests/e2e/bindings/zeebe/...

bindings/zeebe/command/activate_jobs_test.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ func TestActivateJobs(t *testing.T) {
9292
testLogger := logger.NewLogger("test")
9393

9494
t.Run("jobType is mandatory", func(t *testing.T) {
95-
message := ZeebeCommand{logger: testLogger}
96-
req := &bindings.InvokeRequest{Operation: activateJobsOperation}
97-
_, err := message.Invoke(req)
95+
cmd := ZeebeCommand{logger: testLogger}
96+
req := &bindings.InvokeRequest{Operation: ActivateJobsOperation}
97+
_, err := cmd.Invoke(req)
9898
assert.Error(t, err, ErrMissingJobType)
9999
})
100100

@@ -105,9 +105,9 @@ func TestActivateJobs(t *testing.T) {
105105
data, err := json.Marshal(payload)
106106
assert.NoError(t, err)
107107

108-
message := ZeebeCommand{logger: testLogger}
109-
req := &bindings.InvokeRequest{Data: data, Operation: activateJobsOperation}
110-
_, err = message.Invoke(req)
108+
cmd := ZeebeCommand{logger: testLogger}
109+
req := &bindings.InvokeRequest{Data: data, Operation: ActivateJobsOperation}
110+
_, err = cmd.Invoke(req)
111111
assert.Error(t, err, ErrMissingMaxJobsToActivate)
112112
})
113113

@@ -119,12 +119,12 @@ func TestActivateJobs(t *testing.T) {
119119
data, err := json.Marshal(payload)
120120
assert.NoError(t, err)
121121

122-
req := &bindings.InvokeRequest{Data: data, Operation: activateJobsOperation}
122+
req := &bindings.InvokeRequest{Data: data, Operation: ActivateJobsOperation}
123123

124124
var mc mockActivateJobsClient
125125

126-
message := ZeebeCommand{logger: testLogger, client: &mc}
127-
_, err = message.Invoke(req)
126+
cmd := ZeebeCommand{logger: testLogger, client: &mc}
127+
_, err = cmd.Invoke(req)
128128
assert.NoError(t, err)
129129

130130
assert.Equal(t, payload.JobType, mc.cmd1.jobType)
@@ -142,12 +142,12 @@ func TestActivateJobs(t *testing.T) {
142142
data, err := json.Marshal(payload)
143143
assert.NoError(t, err)
144144

145-
req := &bindings.InvokeRequest{Data: data, Operation: activateJobsOperation}
145+
req := &bindings.InvokeRequest{Data: data, Operation: ActivateJobsOperation}
146146

147147
var mc mockActivateJobsClient
148148

149-
message := ZeebeCommand{logger: testLogger, client: &mc}
150-
_, err = message.Invoke(req)
149+
cmd := ZeebeCommand{logger: testLogger, client: &mc}
150+
_, err = cmd.Invoke(req)
151151
assert.NoError(t, err)
152152

153153
assert.Equal(t, payload.JobType, mc.cmd1.jobType)

bindings/zeebe/command/cancel_instance_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ func TestCancelInstance(t *testing.T) {
5555
testLogger := logger.NewLogger("test")
5656

5757
t.Run("processInstanceKey is mandatory", func(t *testing.T) {
58-
message := ZeebeCommand{logger: testLogger}
59-
req := &bindings.InvokeRequest{Operation: cancelInstanceOperation}
60-
_, err := message.Invoke(req)
58+
cmd := ZeebeCommand{logger: testLogger}
59+
req := &bindings.InvokeRequest{Operation: CancelInstanceOperation}
60+
_, err := cmd.Invoke(req)
6161
assert.Error(t, err, ErrMissingProcessInstanceKey)
6262
})
6363

@@ -68,12 +68,12 @@ func TestCancelInstance(t *testing.T) {
6868
data, err := json.Marshal(payload)
6969
assert.NoError(t, err)
7070

71-
req := &bindings.InvokeRequest{Data: data, Operation: cancelInstanceOperation}
71+
req := &bindings.InvokeRequest{Data: data, Operation: CancelInstanceOperation}
7272

7373
var mc mockCancelInstanceClient
7474

75-
message := ZeebeCommand{logger: testLogger, client: &mc}
76-
_, err = message.Invoke(req)
75+
cmd := ZeebeCommand{logger: testLogger, client: &mc}
76+
_, err = cmd.Invoke(req)
7777
assert.NoError(t, err)
7878

7979
assert.Equal(t, *payload.ProcessInstanceKey, mc.cmd1.cmd2.processInstanceKey)

bindings/zeebe/command/command.go

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@ import (
1717

1818
const (
1919
// operations
20-
topologyOperation bindings.OperationKind = "topology"
21-
deployProcessOperation bindings.OperationKind = "deploy-process"
22-
createInstanceOperation bindings.OperationKind = "create-instance"
23-
cancelInstanceOperation bindings.OperationKind = "cancel-instance"
24-
setVariablesOperation bindings.OperationKind = "set-variables"
25-
resolveIncidentOperation bindings.OperationKind = "resolve-incident"
26-
publishMessageOperation bindings.OperationKind = "publish-message"
27-
activateJobsOperation bindings.OperationKind = "activate-jobs"
28-
completeJobOperation bindings.OperationKind = "complete-job"
29-
failJobOperation bindings.OperationKind = "fail-job"
30-
updateJobRetriesOperation bindings.OperationKind = "update-job-retries"
31-
throwErrorOperation bindings.OperationKind = "throw-error"
20+
TopologyOperation bindings.OperationKind = "topology"
21+
DeployProcessOperation bindings.OperationKind = "deploy-process"
22+
CreateInstanceOperation bindings.OperationKind = "create-instance"
23+
CancelInstanceOperation bindings.OperationKind = "cancel-instance"
24+
SetVariablesOperation bindings.OperationKind = "set-variables"
25+
ResolveIncidentOperation bindings.OperationKind = "resolve-incident"
26+
PublishMessageOperation bindings.OperationKind = "publish-message"
27+
ActivateJobsOperation bindings.OperationKind = "activate-jobs"
28+
CompleteJobOperation bindings.OperationKind = "complete-job"
29+
FailJobOperation bindings.OperationKind = "fail-job"
30+
UpdateJobRetriesOperation bindings.OperationKind = "update-job-retries"
31+
ThrowErrorOperation bindings.OperationKind = "throw-error"
3232
)
3333

3434
var (
@@ -64,46 +64,46 @@ func (z *ZeebeCommand) Init(metadata bindings.Metadata) error {
6464

6565
func (z *ZeebeCommand) Operations() []bindings.OperationKind {
6666
return []bindings.OperationKind{
67-
topologyOperation,
68-
deployProcessOperation,
69-
createInstanceOperation,
70-
cancelInstanceOperation,
71-
setVariablesOperation,
72-
resolveIncidentOperation,
73-
publishMessageOperation,
74-
activateJobsOperation,
75-
completeJobOperation,
76-
failJobOperation,
77-
updateJobRetriesOperation,
78-
throwErrorOperation,
67+
TopologyOperation,
68+
DeployProcessOperation,
69+
CreateInstanceOperation,
70+
CancelInstanceOperation,
71+
SetVariablesOperation,
72+
ResolveIncidentOperation,
73+
PublishMessageOperation,
74+
ActivateJobsOperation,
75+
CompleteJobOperation,
76+
FailJobOperation,
77+
UpdateJobRetriesOperation,
78+
ThrowErrorOperation,
7979
}
8080
}
8181

8282
func (z *ZeebeCommand) Invoke(req *bindings.InvokeRequest) (*bindings.InvokeResponse, error) {
8383
switch req.Operation {
84-
case topologyOperation:
84+
case TopologyOperation:
8585
return z.topology()
86-
case deployProcessOperation:
86+
case DeployProcessOperation:
8787
return z.deployProcess(req)
88-
case createInstanceOperation:
88+
case CreateInstanceOperation:
8989
return z.createInstance(req)
90-
case cancelInstanceOperation:
90+
case CancelInstanceOperation:
9191
return z.cancelInstance(req)
92-
case setVariablesOperation:
92+
case SetVariablesOperation:
9393
return z.setVariables(req)
94-
case resolveIncidentOperation:
94+
case ResolveIncidentOperation:
9595
return z.resolveIncident(req)
96-
case publishMessageOperation:
96+
case PublishMessageOperation:
9797
return z.publishMessage(req)
98-
case activateJobsOperation:
98+
case ActivateJobsOperation:
9999
return z.activateJobs(req)
100-
case completeJobOperation:
100+
case CompleteJobOperation:
101101
return z.completeJob(req)
102-
case failJobOperation:
102+
case FailJobOperation:
103103
return z.failJob(req)
104-
case updateJobRetriesOperation:
104+
case UpdateJobRetriesOperation:
105105
return z.updateJobRetries(req)
106-
case throwErrorOperation:
106+
case ThrowErrorOperation:
107107
return z.throwError(req)
108108
case bindings.GetOperation:
109109
fallthrough

bindings/zeebe/command/command_test.go

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -47,24 +47,24 @@ func TestInit(t *testing.T) {
4747
error: errParsing,
4848
}
4949

50-
command := ZeebeCommand{clientFactory: mcf, logger: testLogger}
51-
err := command.Init(metadata)
50+
cmd := ZeebeCommand{clientFactory: mcf, logger: testLogger}
51+
err := cmd.Init(metadata)
5252
assert.Error(t, err, errParsing)
5353
})
5454

5555
t.Run("sets client from client factory", func(t *testing.T) {
5656
metadata := bindings.Metadata{}
5757
mcf := mockClientFactory{}
5858

59-
command := ZeebeCommand{clientFactory: mcf, logger: testLogger}
60-
err := command.Init(metadata)
59+
cmd := ZeebeCommand{clientFactory: mcf, logger: testLogger}
60+
err := cmd.Init(metadata)
6161

6262
assert.NoError(t, err)
6363

6464
mc, err := mcf.Get(metadata)
6565

6666
assert.NoError(t, err)
67-
assert.Equal(t, mc, command.client)
67+
assert.Equal(t, mc, cmd.client)
6868
assert.Equal(t, metadata, mcf.metadata)
6969
})
7070
}
@@ -73,9 +73,9 @@ func TestInvoke(t *testing.T) {
7373
testLogger := logger.NewLogger("test")
7474

7575
t.Run("operation must be supported", func(t *testing.T) {
76-
message := ZeebeCommand{logger: testLogger}
76+
cmd := ZeebeCommand{logger: testLogger}
7777
req := &bindings.InvokeRequest{Operation: bindings.DeleteOperation}
78-
_, err := message.Invoke(req)
78+
_, err := cmd.Invoke(req)
7979
assert.Error(t, err, ErrUnsupportedOperation(bindings.DeleteOperation))
8080
})
8181
}
@@ -84,16 +84,16 @@ func TestOperations(t *testing.T) {
8484
testBinding := ZeebeCommand{logger: logger.NewLogger("test")}
8585
operations := testBinding.Operations()
8686
require.Equal(t, 12, len(operations))
87-
assert.Equal(t, topologyOperation, operations[0])
88-
assert.Equal(t, deployProcessOperation, operations[1])
89-
assert.Equal(t, createInstanceOperation, operations[2])
90-
assert.Equal(t, cancelInstanceOperation, operations[3])
91-
assert.Equal(t, setVariablesOperation, operations[4])
92-
assert.Equal(t, resolveIncidentOperation, operations[5])
93-
assert.Equal(t, publishMessageOperation, operations[6])
94-
assert.Equal(t, activateJobsOperation, operations[7])
95-
assert.Equal(t, completeJobOperation, operations[8])
96-
assert.Equal(t, failJobOperation, operations[9])
97-
assert.Equal(t, updateJobRetriesOperation, operations[10])
98-
assert.Equal(t, throwErrorOperation, operations[11])
87+
assert.Equal(t, TopologyOperation, operations[0])
88+
assert.Equal(t, DeployProcessOperation, operations[1])
89+
assert.Equal(t, CreateInstanceOperation, operations[2])
90+
assert.Equal(t, CancelInstanceOperation, operations[3])
91+
assert.Equal(t, SetVariablesOperation, operations[4])
92+
assert.Equal(t, ResolveIncidentOperation, operations[5])
93+
assert.Equal(t, PublishMessageOperation, operations[6])
94+
assert.Equal(t, ActivateJobsOperation, operations[7])
95+
assert.Equal(t, CompleteJobOperation, operations[8])
96+
assert.Equal(t, FailJobOperation, operations[9])
97+
assert.Equal(t, UpdateJobRetriesOperation, operations[10])
98+
assert.Equal(t, ThrowErrorOperation, operations[11])
9999
}

bindings/zeebe/command/complete_job_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ func TestCompleteJob(t *testing.T) {
6969
testLogger := logger.NewLogger("test")
7070

7171
t.Run("elementInstanceKey is mandatory", func(t *testing.T) {
72-
message := ZeebeCommand{logger: testLogger}
73-
req := &bindings.InvokeRequest{Operation: completeJobOperation}
74-
_, err := message.Invoke(req)
72+
cmd := ZeebeCommand{logger: testLogger}
73+
req := &bindings.InvokeRequest{Operation: CompleteJobOperation}
74+
_, err := cmd.Invoke(req)
7575
assert.Error(t, err, ErrMissingJobKey)
7676
})
7777

@@ -85,12 +85,12 @@ func TestCompleteJob(t *testing.T) {
8585
data, err := json.Marshal(payload)
8686
assert.NoError(t, err)
8787

88-
req := &bindings.InvokeRequest{Data: data, Operation: completeJobOperation}
88+
req := &bindings.InvokeRequest{Data: data, Operation: CompleteJobOperation}
8989

9090
var mc mockCompleteJobClient
9191

92-
message := ZeebeCommand{logger: testLogger, client: &mc}
93-
_, err = message.Invoke(req)
92+
cmd := ZeebeCommand{logger: testLogger, client: &mc}
93+
_, err = cmd.Invoke(req)
9494
assert.NoError(t, err)
9595

9696
assert.Equal(t, *payload.JobKey, mc.cmd1.jobKey)

bindings/zeebe/command/create_instance_test.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,12 @@ func TestCreateInstance(t *testing.T) {
9898
data, err := json.Marshal(payload)
9999
assert.Nil(t, err)
100100

101-
req := &bindings.InvokeRequest{Data: data, Operation: createInstanceOperation}
101+
req := &bindings.InvokeRequest{Data: data, Operation: CreateInstanceOperation}
102102

103103
var mc mockCreateInstanceClient
104104

105-
message := ZeebeCommand{logger: testLogger, client: &mc}
106-
_, err = message.Invoke(req)
105+
cmd := ZeebeCommand{logger: testLogger, client: &mc}
106+
_, err = cmd.Invoke(req)
107107
assert.Error(t, err, ErrAmbiguousCreationVars)
108108
})
109109

@@ -112,12 +112,12 @@ func TestCreateInstance(t *testing.T) {
112112
data, err := json.Marshal(payload)
113113
assert.NoError(t, err)
114114

115-
req := &bindings.InvokeRequest{Data: data, Operation: createInstanceOperation}
115+
req := &bindings.InvokeRequest{Data: data, Operation: CreateInstanceOperation}
116116

117117
var mc mockCreateInstanceClient
118118

119-
message := ZeebeCommand{logger: testLogger, client: &mc}
120-
_, err = message.Invoke(req)
119+
cmd := ZeebeCommand{logger: testLogger, client: &mc}
120+
_, err = cmd.Invoke(req)
121121
assert.Error(t, err, ErrMissingCreationVars)
122122
})
123123

@@ -129,12 +129,12 @@ func TestCreateInstance(t *testing.T) {
129129
data, err := json.Marshal(payload)
130130
assert.NoError(t, err)
131131

132-
req := &bindings.InvokeRequest{Data: data, Operation: createInstanceOperation}
132+
req := &bindings.InvokeRequest{Data: data, Operation: CreateInstanceOperation}
133133

134134
var mc mockCreateInstanceClient
135135

136-
message := ZeebeCommand{logger: testLogger, client: &mc}
137-
_, err = message.Invoke(req)
136+
cmd := ZeebeCommand{logger: testLogger, client: &mc}
137+
_, err = cmd.Invoke(req)
138138
assert.NoError(t, err)
139139

140140
assert.Equal(t, payload.BpmnProcessID, mc.cmd1.bpmnProcessID)
@@ -148,12 +148,12 @@ func TestCreateInstance(t *testing.T) {
148148
data, err := json.Marshal(payload)
149149
assert.NoError(t, err)
150150

151-
req := &bindings.InvokeRequest{Data: data, Operation: createInstanceOperation}
151+
req := &bindings.InvokeRequest{Data: data, Operation: CreateInstanceOperation}
152152

153153
var mc mockCreateInstanceClient
154154

155-
message := ZeebeCommand{logger: testLogger, client: &mc}
156-
_, err = message.Invoke(req)
155+
cmd := ZeebeCommand{logger: testLogger, client: &mc}
156+
_, err = cmd.Invoke(req)
157157
assert.NoError(t, err)
158158

159159
assert.Equal(t, payload.BpmnProcessID, mc.cmd1.bpmnProcessID)
@@ -167,12 +167,12 @@ func TestCreateInstance(t *testing.T) {
167167
data, err := json.Marshal(payload)
168168
assert.NoError(t, err)
169169

170-
req := &bindings.InvokeRequest{Data: data, Operation: createInstanceOperation}
170+
req := &bindings.InvokeRequest{Data: data, Operation: CreateInstanceOperation}
171171

172172
var mc mockCreateInstanceClient
173173

174-
message := ZeebeCommand{logger: testLogger, client: &mc}
175-
_, err = message.Invoke(req)
174+
cmd := ZeebeCommand{logger: testLogger, client: &mc}
175+
_, err = cmd.Invoke(req)
176176
assert.NoError(t, err)
177177

178178
assert.Equal(t, *payload.ProcessDefinitionKey, mc.cmd1.processDefinitionKey)
@@ -188,12 +188,12 @@ func TestCreateInstance(t *testing.T) {
188188
data, err := json.Marshal(payload)
189189
assert.NoError(t, err)
190190

191-
req := &bindings.InvokeRequest{Data: data, Operation: createInstanceOperation}
191+
req := &bindings.InvokeRequest{Data: data, Operation: CreateInstanceOperation}
192192

193193
var mc mockCreateInstanceClient
194194

195-
message := ZeebeCommand{logger: testLogger, client: &mc}
196-
_, err = message.Invoke(req)
195+
cmd := ZeebeCommand{logger: testLogger, client: &mc}
196+
_, err = cmd.Invoke(req)
197197
assert.NoError(t, err)
198198

199199
assert.Equal(t, *payload.ProcessDefinitionKey, mc.cmd1.processDefinitionKey)

0 commit comments

Comments
 (0)