-
Notifications
You must be signed in to change notification settings - Fork 17
/
dictionary.yml
493 lines (460 loc) · 18.9 KB
/
dictionary.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
---
handlers:
- name: http/client
description: http client that can be used for sending http requests and comparing the responses
resources:
- "httpclient"
options:
- name: base_url
description: base url for the http client that will automatically be prepended to any route in the feature.
type: string
- name: timeout
description: timeout for the request round-trip.
type: duration
- name: stubs_path
description: stubs file path (`./stubs`)
type: string
actions:
- name: send
description: send an http request without a request body
handle: sendRequest
expressions:
- $resource send request to $target
parameters:
- name: target
description: target endpoint that has to be space separated between request method tpye and URL (`GET /status`)
type: string
- name: send_body
description: send an http request with a request body
handle: sendRequestWithBody
expressions:
- $resource send request to $target with body $body
- $resource send request to $target with payload $body
parameters:
- name: target
description: target endpoint that has to be space separated between request method type and URL (`POST /user`)
type: string
- name: body
description: request body payload
type: json
- name: send_body_from_file
description: send an http request with a request body from a file
handle: sendRequestWithBodyFromFile
expressions:
- $resource send request to $target with body from file $file
- $resource send request to $target with payload from file $file
parameters:
- name: target
description: target endpoint that has to be space separated between request method type and URL (`POST /user`)
type: string
- name: file
description: request body file name
type: string
- name: request_header
description: set request header
handle: setRequestHeader
expressions:
- $resource set request header key $key with value $value
parameters:
- name: key
description: request header key
type: string
- name: value
description: request header value
type: string
- name: response_code
description: check http response code
handle: checkResponseCode
expressions:
- $resource response code should be $code
parameters:
- name: code
description: http response code (`200`)
type: number
- name: response_header
description: check http response headers
handle: checkResponseHeader
expressions:
- $resource response header $header_name should be $header_value
parameters:
- name: header_name
description: http header name (`content-type`)
type: string
- name: header_value
description: http header value (`application/json`)
type: string
- name: response_body_contains
description: check response body contains a given json fields
handle: checkResponseBodyContains
expressions:
- $resource response body should contain $body
parameters:
- name: body
description: expected response body
type: json
- name: response_body_equals
description: check response body to be equals a given json
handle: checkResponseBodyEquals
expressions:
- $resource response body should equal $body
parameters:
- name: body
description: expected response body
type: json
- name: http/server
description: http wiremock server resource that mocks API responses
resources:
- "wiremock"
options:
- name: base_url
description: "wiremock base url (e.g : http://localhost:8080)"
type: string
- name: stubs_path
description: stubs file path (`./stubs`)
type: string
actions:
- name: response
description: set a response code and body for any request that comes to the wiremock target
handle: setResponse
expressions:
- set $resource response code to $code and response body $body
parameters:
- name: code
description: http response code (`404`)
type: number
- name: body
description: server response body
type: json
- name: response_from_file
description: set a response code and body from a file for any request that comes to the wiremock target
handle: setResponseFromFile
expressions:
- set $resource response code to $code and response body from file $file
parameters:
- name: code
description: http response code (`404`)
type: number
- name: file
description: file name for response body data
type: string
- name: response_path
description: set a response code and body for a given path for wiremock
handle: setResponse
expressions:
- set $resource with path $path response code to $code and response body $body
parameters:
- name: path
description: server endpoint path (`/status`)
type: string
- name: code
description: server response code (`200`)
type: number
- name: body
description: server response body
type: json
- name: response_method_path
description: set a response code and body for a given method and path for wiremock
handle: setResponseWithMethod
expressions:
- set $resource with method $method and path $path response code to $code and response body $body
parameters:
- name: method
description: server endpoint method (`POST`)
type: string
- name: path
description: server endpoint path (`/status`)
type: string
- name: code
description: server response code (`200`)
type: number
- name: body
description: server response body
type: json
- name: response_code_method_path
description: set a response code for a given method and path for wiremock
handle: setResponseWithMethodAndNoBody
expressions:
- set $resource with method $method and path $path response code to $code
parameters:
- name: method
description: server endpoint method (`POST`)
type: string
- name: path
description: server endpoint path (`/status`)
type: string
- name: code
description: server response code (`200`)
type: number
- name: response_code_method_path_from_file
description: set a response code and body for a given method and path for wiremock (reads from given file path)
handle: setResponseWithMethodAndBodyFromFile
expressions:
- set $resource with method $method and path $path response code to $code and response body from file $file
parameters:
- name: method
description: server endpoint method (`POST`)
type: string
- name: path
description: server endpoint path (`/status`)
type: string
- name: code
description: server response code (`200`)
type: number
- name: file
description: file name for body data (`file-name`)
type: string
- name: verify_requests
description: check requests count on a given endpoint
handle: verifyRequestsCount
expressions:
- $resource with path $path request count should be $count
parameters:
- name: path
description: server endpoint path (`GET /status`)
type: string
- name: count
description: request count
type: number
- name: database/sql
description: database driver that interacts with a sql database
resources:
- "postgres"
- "mysql"
options:
- name: datasource
description: sql database source name (`postgres://user:pass@host:port/dbname?sslmode=disable`)
type: string
actions:
- name: set
description: truncates the target table and sets row results to the passed values
handle: tableInsert
expressions:
- set $resource table $table list of content $content
parameters:
- name: table
description: table name
type: string
- name: content
description: table row content in Gherkin table syntax
type: table
- name: check
description: compares table content after an action
handle: tableCompare
expressions:
- $resource table $table should look like $content
parameters:
- name: table
description: table name
type: string
- name: content
description: table row content in Gherkin table syntax
type: table
- name: queue
description: messaging queue that that publishes and serves messages
resources:
- "rabbitmq"
- "nsq"
options:
- name: datasource
description: queue source dsn (`amqp://user:pass@host:port/`)
type: string
- name: stubs_path
description: stubs file path (`./stubs`)
type: string
actions:
- name: publish
description: publish a message to message queue
handle: publishMessage
expressions:
- publish message to $resource target $target with payload $payload
parameters:
- name: target
description: target syntax changes depending on the driver, using rabbitmq `[exchange]:[routing-key]`
type: string
- name: payload
description: queue message payload
type: json
- name: publish_from_file
description: publish a message to message queue from a file
handle: publishMessageFromFile
expressions:
- publish message to $resource target $target with payload from file $file
parameters:
- name: target
description: target syntax changes depending on the driver, using rabbitmq `[exchange]:[routing-key]`
type: string
- name: file
description: queue message payload file name
type: string
- name: listen
description: |
listen for messages on a given queue. Declaration should be before the publish action
handle: listenMessage
expressions:
- listen message from $resource target $target
parameters:
- name: target
description: target syntax changes depending on the driver, using rabbitmq `[exchange]:[routing-key]`
type: string
- name: count
description: count messages for a given target. Declaration should be before the publish action
handle: countMessage
expressions:
- message from $resource target $target count should be $count
parameters:
- name: target
description: target syntax changes depending on the driver, using rabbitmq `[exchange]:[routing-key]`
type: string
- name: count
description: number of expected messages in the queue
type: number
- name: compareContains
description: compare message payload by checking if the message contains other JSON. Declaration should be before the publish action
handle: compareMessageContains
expressions:
- message from $resource target $target should contain $payload
parameters:
- name: target
description: target syntax changes depending on the driver, using rabbitmq `[exchange]:[routing-key]`
type: string
- name: payload
description: queue message payload
type: json
- name: compareEquals
description: compare message payload by checking for exact JSON matches. Declaration should be before the publish action
handle: compareMessageEquals
expressions:
- message from $resource target $target should equal $payload
parameters:
- name: target
description: target syntax changes depending on the driver, using rabbitmq `[exchange]:[routing-key]`
type: string
- name: payload
description: queue message payload
type: json
- name: shell
description: to communicate with shell command
resources:
- "shell"
options:
- name: prefix
description: shell command prefixes
type: string
actions:
- name: execute
description: execute shell command
handle: execCommand
expressions:
- $resource execute $command
parameters:
- name: command
description: command that gonna get executed
type: string
- name: stdout_contains
description: check stdout for executed command contains a given value
handle: checkStdoutContains
expressions:
- $resource stdout should contains $substring
parameters:
- name: substring
description: substring of the message
type: string
- name: stdout_not_contains
description: check stdout for executed command not contains a given value
handle: checkStdoutNotContains
expressions:
- $resource stdout should not contains $substring
parameters:
- name: substring
description: substring of the message
type: string
- name: stderr_contains
description: check stderr for executed command contains a given value
handle: checkStderrContains
expressions:
- $resource stderr should contains $substring
parameters:
- name: substring
description: substring of the message
type: string
- name: stderr_not_contains
description: check stderr for executed command not contains a given value
handle: checkStderrNotContains
expressions:
- $resource stderr should not contains $substring
parameters:
- name: substring
description: substring of the message
type: string
- name: exit_code_equal
description: check exit code is equal given value
handle: checkExitCodeEqual
expressions:
- $resource exit code equal to $exit_code
parameters:
- name: exit_code
description: exit code of the executed command
type: number
- name: exit_code_not_equal
description: check exit code is not equal given value
handle: checkExitCodeNotEqual
expressions:
- $resource exit code not equal to $exit_code
parameters:
- name: exit_code
description: exit code of the executed command
type: number
- name: cache
description: cache driver that interacts with a cache service
resources:
- "redis"
options:
- name: driver
description: cache driver (only "redis" for now)
type: string
- name: datasource
description: cache source url (`redis://user:secret@localhost:6379/0?foo=bar&qux=baz`)
type: string
actions:
- name: set
description: set key to hold the string value
handle: valueSet
expressions:
- cache $resource stores $key with value $value
parameters:
- name: key
description: key of content
type: string
- name: value
description: stored content value
type: string
- name: check
description: compares cached content after an action
handle: valueCompare
expressions:
- cache $resource stored key $key should look like $value
parameters:
- name: key
description: key of content
type: string
- name: value
description: stored content value
type: string
- name: exists
description: check if such key exists in the cache
handle: valueExists
expressions:
- cache $resource has key $key
parameters:
- name: key
description: key of content
type: string
- name: not_exists
description: check if such key doesn't exists in the cache
handle: valueNotExists
expressions:
- cache $resource hasn't key $key
parameters:
- name: key
description: key of content
type: string