zeebe_bpmn_rspec 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 21f042c1e3d81e8f0bc9096924685cdd8c436de1a5a68e1cef9857e3f4e87a58
4
- data.tar.gz: fe32bf072bc3677667e1ed6ac49c92e2cd48647ad5adfabd546a7a94ea253eef
3
+ metadata.gz: 7ee557a1aed97212da2a198eafd8238859e12499f32e8ddf24d97d5240c83c36
4
+ data.tar.gz: 0105ee8a65e00fbab192cf6f76710e43973bec36324b3defcc4f83882db833ca
5
5
  SHA512:
6
- metadata.gz: 34a5334740649b53d9199e74009fb6e233ac34667b33c8e012f9c30fa168f470626c5d199a83f83032deae764a3408a33b6df3ce620ee427895d0d9bcc60f7c7
7
- data.tar.gz: 1688746402718b8d1d38868f8271782af51be446bc3ba4d62b953ca9c049afa1933d4614ce9203294aa46286efaa74a54fd88b377c8df32f09e9c932acea8179
6
+ metadata.gz: 978a61f885179d519ede6340a283b93f9c36e1d712c1279629500732afe01a9f9ac7483a484c17d99356bcebb0258fb04f65771492a6d2b6774cd9be64454f1b
7
+ data.tar.gz: 6f235e5995f75fd04b7996708bb8a23d81cbb1b7bf1ecd8ebea46a5fba78fa1e5c60f8ab1e305e263d0e16e7ac2005dad78dfdf5e684528ff3cdf3343a2f9c2e
@@ -1,4 +1,8 @@
1
1
  # zeebe_bpmn_rspec
2
2
 
3
+ ## v0.2.0
4
+ - Add `retries` option to `ActivatedJob#and_fail`.
5
+ - Add method aliases: `and_complete` (`complete`), `and_fail` (`fail`), `and_throw_error` (`throw_error`).
6
+
3
7
  ## v0.1.0
4
8
  - Initial version
data/README.md CHANGED
@@ -118,7 +118,7 @@ activate_job("my_job").
118
118
 
119
119
  #### Complete Job
120
120
 
121
- Jobs can be completed by calling `and_complete`. Variables can optionally be returned with the
121
+ Jobs can be completed by calling `and_complete` (also aliased as `complete`). Variables can optionally be returned with the
122
122
  completed job.
123
123
 
124
124
  ```ruby
@@ -134,7 +134,7 @@ project_job("my_job").
134
134
 
135
135
  #### Fail Job
136
136
 
137
- Jobs can be failed by calling `and_fail`. An optional message can be specified when failing a job.
137
+ Jobs can be failed by calling `and_fail` (also aliased as `fail`). An optional message can be specified when failing a job.
138
138
 
139
139
  ```ruby
140
140
  # Failing a job can be chanined with expectations
@@ -147,9 +147,17 @@ activate_job("my_job").
147
147
  and_fail("something didn't go right")
148
148
  ```
149
149
 
150
+ By default retries are set to zero when a job is failed but the remaining retries can optionally be specified:
151
+
152
+ ```ruby
153
+ job = activate_job("my_job")
154
+
155
+ job.fail(retries: 1)
156
+ ```
157
+
150
158
  #### Throw Error
151
159
 
152
- The `and_throw_error` method can be used to throw an error for a job. The error code is required and an
160
+ The `and_throw_error` (also aliased as `throw_error`) method can be used to throw an error for a job. The error code is required and an
153
161
  optional message may be specified:
154
162
 
155
163
  ```ruby
@@ -165,7 +173,18 @@ activate_job("my_job").
165
173
 
166
174
  #### Activating Multiple Jobs
167
175
 
168
- TODO
176
+ Multiple jobs can be activated using the `activate_jobs` method.
177
+
178
+ ```ruby
179
+ activate_jobs("my_job")
180
+ ```
181
+
182
+ The call to `activate_jobs` returns an Enumerator that returns `ActivatedJob` instance.
183
+ The maximum number of jobs to return can be specified:
184
+
185
+ ```ruby
186
+ jobs = activate_jobs("my_job", max_jobs: 2).to_a
187
+ ```
169
188
 
170
189
  ### Workflow Complete
171
190
 
@@ -198,6 +217,18 @@ publish_message("message_name", correlation_key: expected_value,
198
217
  variables: { foo: "bar" })
199
218
  ```
200
219
 
220
+ ## Tips & Tricks
221
+
222
+ ### Enumerator for Multiple Jobs
223
+
224
+ When activating multiple jobs, call `to_a` on the result of `activate_jobs` to get
225
+ an array of activated jobs objects.
226
+
227
+ ### Timer Duration
228
+
229
+ Specify timer durations using a variable so that tests can easily set the variable
230
+ to specify a short duration.
231
+
201
232
  ## Limitations
202
233
 
203
234
  The current gem and approach have some limitations:
@@ -6,7 +6,7 @@ x-environment: &default-environment
6
6
  PRYRC: /usr/src/app/.docker-pryrc
7
7
  BUNDLE_IGNORE_CONFIG: 1
8
8
  BUNDLE_DISABLE_SHARED_GEMS: "true"
9
- ZEEBE_ADDRESS: zeebe-bpmn-gateway:26500
9
+ ZEEBE_ADDRESS: zeebe:26500
10
10
  x-service: &default-service
11
11
  image: ruby:2.6.6
12
12
  volumes:
@@ -18,7 +18,7 @@ x-service: &default-service
18
18
  stdin_open: true
19
19
  services:
20
20
  zeebe:
21
- image: camunda/zeebe:0.23.2
21
+ image: camunda/zeebe:0.23.4
22
22
  environment:
23
23
  ZEEBE_LOG_LEVEL: debug
24
24
  volumes:
@@ -28,8 +28,8 @@ services:
28
28
  monitor:
29
29
  image: camunda/zeebe-simple-monitor:0.19.0
30
30
  environment:
31
- - zeebe.client.broker.contactPoint=zeebe-bpmn-gateway:26500
32
- - zeebe.client.worker.hazelcast.connection=zeebe-bpmn-gateway:5701
31
+ - zeebe.client.broker.contactPoint=zeebe:26500
32
+ - zeebe.client.worker.hazelcast.connection=zeebe:5701
33
33
  ports:
34
34
  - "8082:8082"
35
35
  depends_on:
@@ -66,16 +66,18 @@ module ZeebeBpmnRspec
66
66
  }.compact
67
67
  ))
68
68
  end
69
+ alias throw_error and_throw_error
69
70
 
70
- def and_fail(message = nil)
71
+ def and_fail(message = nil, retries: nil)
71
72
  client.fail_job(FailJobRequest.new(
72
73
  {
73
74
  jobKey: job.key,
74
- retries: 0,
75
+ retries: retries || 0,
75
76
  errorMessage: message,
76
77
  }.compact
77
78
  ))
78
79
  end
80
+ alias fail and_fail
79
81
 
80
82
  def and_complete(variables = {})
81
83
  client.complete_job(CompleteJobRequest.new(
@@ -83,6 +85,7 @@ module ZeebeBpmnRspec
83
85
  variables: variables.to_json
84
86
  ))
85
87
  end
88
+ alias complete and_complete
86
89
 
87
90
  private
88
91
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ZeebeBpmnRspec
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zeebe_bpmn_rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ezCater, Inc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-21 00:00:00.000000000 Z
11
+ date: 2020-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -174,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
174
  - !ruby/object:Gem::Version
175
175
  version: '0'
176
176
  requirements: []
177
- rubygems_version: 3.1.4
177
+ rubygems_version: 3.0.3
178
178
  signing_key:
179
179
  specification_version: 4
180
180
  summary: Zeebe BPMN testing using RSpec