Skip to content

Commit 8542fb5

Browse files
authored
chore(test): bump libs (#910)
Signed-off-by: Yvonnick Esnault <yvonnick.esnault@ovhcloud.com>
1 parent 9aaece4 commit 8542fb5

20 files changed

Lines changed: 183 additions & 167 deletions

File tree

README.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ Venom is a CLI (Command Line Interface) that aims to create, manage and run your
88
[![Discussions](https://img.shields.io/badge/Discussions-OVHcloud-brightgreen)](https://github.com/ovh/venom/discussions)
99
<a href="https://gitpod.io/#https://github.com/ovh/venom"><img src="https://img.shields.io/badge/Contribute%20with-Gitpod-908a85?logo=gitpod" alt="Contribute with Gitpod"/></a>
1010

11-
# Table of content
11+
# Table of contents
1212

1313
- [🐍 Venom](#-venom)
14-
- [Table of content](#table-of-content)
14+
- [Table of contents](#table-of-contents)
1515
- [Overview](#overview)
1616
- [Installing](#installing)
1717
- [Install from binaries](#install-from-binaries)
@@ -61,10 +61,10 @@ Venom is a CLI (Command Line Interface) that aims to create, manage and run your
6161
# Overview
6262

6363
Venom allows you to handle integration tests the same way you code your application.
64-
With Venom, testcases will be managed as code: the readability of the tests means that the tests are part of the code reviews. Thanks to that, write and execute testsuites become easier for developers and teams.
64+
With Venom, testcases will be managed as code: the readability of the tests means that the tests are part of the code reviews. Thanks to that, writing and executing testsuites becomes easier for developers and teams.
6565

66-
Concretely, you have to write testsuite in a YAML file.
67-
Venom run executors (scripts, HTTP Request, web, IMAP, etc.) and apply assertions.
66+
Concretely, you have to write a testsuite in a YAML file.
67+
Venom runs executors (scripts, HTTP Request, web, IMAP, etc.) and applies assertions.
6868
It can also generate xUnit result files.
6969

7070
<img src="./venom.gif" alt="Venom Demonstration">
@@ -73,7 +73,7 @@ It can also generate xUnit result files.
7373

7474
## Install from binaries
7575

76-
You can find latest binary release from: https://github.com/ovh/venom/releases/latest/.
76+
You can find the latest binary release at: https://github.com/ovh/venom/releases/latest/.
7777

7878
Example for Linux:
7979

@@ -107,7 +107,7 @@ Version venom: v1.2.0
107107

108108
# Docker image
109109

110-
Instead of installing (and updating) Venom locally, Venom can be started as a Docker image with following commands.
110+
Instead of installing (and updating) Venom locally, Venom can be started as a Docker image with the following commands.
111111

112112
Considering your testsuites are in `./tests` directory in your current directory and your test library is under `./tests/lib`, the results will be available under the `results` directory.
113113

@@ -292,7 +292,7 @@ lib_dir: lib
292292
verbosity: 3
293293
```
294294
295-
Please note that the command line flags overrides the configuration file. The configuration file overrides the environment variables.
295+
Please note that the command line flags override the configuration file. The configuration file overrides the environment variables.
296296
297297
298298
# Concepts
@@ -302,7 +302,7 @@ Please note that the command line flags overrides the configuration file. The co
302302
A test suite is a collection of test cases that are intended to be used to test a software program to show that it has a specified set of behaviors.
303303
A test case is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a particular software testing objective, such as to exercise a particular program path or to verify compliance with a specific requirement.
304304
305-
In `venom` the testcases are executed sequentially within a testsuite. Each testcase is an ordered set of steps. Each step is based on an `executor` that enable some specific kind of behavior.
305+
In `venom` the testcases are executed sequentially within a testsuite. Each testcase is an ordered set of steps. Each step is based on an `executor` that enables some specific kind of behavior.
306306

307307
In `venom` a testsuite is written in one `YAML` file respecting the following structure:
308308

@@ -414,12 +414,12 @@ testcases:
414414
- result.alljson.hello ShouldContainSubstring World
415415
```
416416

417-
Notice the variable `alljson`. All variables declared in output are automatically converted in a json format with the suffix `json`. In the example above, two implicit variables are available: `displayjson.hello` and `alljson`.
417+
Notice the variable `alljson`. All variables declared in output are automatically converted into JSON format with the suffix `json`. In the example above, two implicit variables are available: `displayjson.hello` and `alljson`.
418418

419-
Venom will load user's executors from the directory `lib/` relative to the testsuite path. You add executors source path using the flag `--lib-dir`.
419+
Venom will load user-defined executors from the directory `lib/` relative to the testsuite path. You can add executor source paths using the flag `--lib-dir`.
420420
Note that all folders listed with `--lib-dir` will be scanned recursively to find `.yml` files as user executors.
421421

422-
The user defined executors work with templating, you can check the templating result in `venom.log`. In this file, if you see an error as `error converting YAML to JSON: yaml: line 14: found unexpected end of stream`, you probably need to adjust indentation with the templating function `indent`.
422+
The user defined executors work with templating, you can check the templating result in `venom.log`. In this file, if you see an error such as `error converting YAML to JSON: yaml: line 14: found unexpected end of stream`, you probably need to adjust indentation with the templating function `indent`.
423423

424424
Example:
425425

@@ -552,7 +552,7 @@ More examples are available [here](https://github.com/ovh/venom/tree/master/vari
552552
To be able to reuse a property from a teststep in a following testcase or step, you have to extract the variable, as the following example.
553553

554554
After the first step execution, `venom` extracts a value using a regular expression `foo with a ([a-z]+) here` from the content of the `result.systemout` property returned by the `executor`.
555-
Then this variable can be reused in another test, with the name `testA.myvariable` with `testA` corresponding to the name of the testcase. A default value could also be supplied if the variable can't be extracted from the output, which can commonly happen when parsing json output.
555+
Then this variable can be reused in another test, with the name `testA.myvariable` with `testA` corresponding to the name of the testcase. A default value could also be supplied if the variable can't be extracted from the output, which can commonly happen when parsing JSON output.
556556

557557
```yaml
558558
name: MyTestSuite
@@ -715,7 +715,7 @@ You may also include additional steps like a regular user defined executor.
715715
User assertions are executed in an entirely clean context, containing only the following variables:
716716
- `a`: the left operand
717717
- `b`: the (first) right operand
718-
- `argv`: the rights operands
718+
- `argv`: the right operands
719719

720720
If you need to be compatible with the `input` syntax of user defined executors, you could use the `argv` as the default value and access these through the regular `input.*` syntax.
721721
```yaml
@@ -816,7 +816,7 @@ $ venom run --format=xml --output-dir="."
816816
$ venom run --output-dir="." --html-report
817817
```
818818

819-
Reports exported in XML can be visualized with a xUnit/jUnit Viewer, directly in your favorite CI/CD stack for example in order to see results run after run.
819+
Reports exported in XML can be visualized with an xUnit/jUnit Viewer, directly in your favorite CI/CD stack for example in order to see results run after run.
820820

821821
# Advanced usage
822822

@@ -846,7 +846,7 @@ testcases:
846846
- script: cat exec/testa.json
847847
info: "the value of result.systemoutjson is {{.result.systemoutjson}}"
848848
assertions:
849-
- result.systemoutjson.foo ShouldContainSubstrin bar
849+
- result.systemoutjson.foo ShouldContainSubstring bar
850850
```
851851

852852
```bash
@@ -933,7 +933,7 @@ testcases:
933933

934934
It is possible to iterate over data using `range` attribute.
935935

936-
The following data types are supported, each exposing contexted variables `.index`, `.key` and `.value`:
936+
The following data types are supported, each exposing contextual variables `.index`, `.key` and `.value`:
937937

938938
- An array where each value will be iterated over (`[]interface{}`)
939939
- `.index`/`.key`: current iteration index
@@ -1074,7 +1074,7 @@ Our awesome contributors:
10741074

10751075
# License
10761076

1077-
Copyright 2022 OVH SAS
1077+
Copyright 2026 OVH SAS
10781078

10791079
Licensed under the Apache License, Version 2.0 (the "License");
10801080
you may not use this file except in compliance with the License.

executors/amqp/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Venom - Executor AMQP
22

3-
Step to publish / subscribe to AMQP 1.0 compatible broker (currently implemented by QPID and ActiveMQ, among others)
3+
Step to publish / subscribe to an AMQP 1.0 compatible broker (currently implemented by QPID and ActiveMQ, among others)
44

55
## Input
66

executors/couchbase/README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
Step to execute actions on a couchbase database using [github.com/couchbase/gocb/v2](https://pkg.go.dev/github.com/couchbase/gocb/v2) sdk.
44

5-
More information you can find [here](https://docs.couchbase.com/go-sdk/current/hello-world/start-using-sdk.html)
5+
You can find more information [here](https://docs.couchbase.com/go-sdk/current/hello-world/start-using-sdk.html)
66

77
## Connection
88

9-
To be possible use couchbase executor you need to specify at least the couchbase bucket (in case of no auth and running local).
9+
To use the couchbase executor you need to specify at least the couchbase bucket (in case of no auth and running local).
1010

1111
A minimal couchbase configuration can be the following one:
1212

@@ -48,7 +48,7 @@ For transcoder, you have the following options:
4848

4949
See also [tests/couchbase.yml](../../tests/couchbase.yml) for executable examples.
5050

51-
Couchbase can be used to store json structured data, but can store also binary and string types.
51+
Couchbase can be used to store JSON structured data, but can also store binary and string types.
5252

5353
Example:
5454

@@ -70,7 +70,7 @@ Get will retrieve documents by id. If the id can't be found the flag `found` wil
7070

7171
By using flag `with_expiry` the expiration of the given entry will be returned (or will be zero if no expiration).
7272

73-
by using flag `expiry` the get operation became `get and touch` and the option `with_expiry` will be ignored.
73+
By using flag `expiry` the get operation becomes `get and touch` and the option `with_expiry` will be ignored.
7474

7575
```yaml
7676
- type: couchbase
@@ -140,7 +140,7 @@ An expiration, in seconds, can be defined via field `expiry` to override the _de
140140

141141
### Upsert documents
142142

143-
Upsert will insert or documents by id. It will set the flag `upserted` to true
143+
Upsert will insert or update documents by id. It will set the flag `upserted` to true.
144144

145145
It is possible to preserve the original expiration (if any) via boolean field `preserve_expiry`.
146146

@@ -183,7 +183,7 @@ Delete will remove by id. It will set the flag `deleted` to true in case the id
183183

184184
Touch will update the object expiration for a given id. It will set the flag `touch` to true in case the id has been found.
185185

186-
An `expiry` in seconds can be specified to be used. Unless it will use the global `expiry`.
186+
An `expiry` in seconds can be specified to be used. Otherwise it will use the global `expiry`.
187187

188188
```yaml
189189
- type: couchbase
@@ -201,7 +201,7 @@ An `expiry` in seconds can be specified to be used. Unless it will use the globa
201201

202202
### Check if document exists
203203

204-
The command `exists` check if the document id exists or not. It will set a boolean flag `found` with the status.
204+
The command `exists` checks if the document id exists or not. It will set a boolean flag `found` with the status.
205205

206206
```yaml
207207
- type: couchbase

executors/dbfixtures/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ In your yaml file, you declare your step like this
2020
- folder optional
2121
```
2222
23-
- `schemas` is a list of paths to several `.sql` file that contains the schemas of the tables in your database. If specified, the content of every file will be executed before loading the fixtures.
23+
- `schemas` is a list of paths to several `.sql` files that contain the schemas of the tables in your database. If specified, the content of every file will be executed before loading the fixtures.
2424
- `files` parameter is only used as a fallback if `folder` is not used.
25-
- `migrations` is a folder path that contains SQL migrations files that can be used to initialize the database, instead of a list of schemas. **Note that if `schemas` is not empty, it will have precedence and migrations files will be ignored.**
25+
- `migrations` is a folder path that contains SQL migration files that can be used to initialize the database, instead of a list of schemas. **Note that if `schemas` is not empty, it will have precedence and migration files will be ignored.**
2626
- `migrationsTable` is the table used to store the migration version.
27-
- `skipResetSequences` is only used for PostgreSQL database, it control whether index should be reset (default) or not
27+
- `skipResetSequences` is only used for PostgreSQL databases, it controls whether the index should be reset (default) or not
2828

2929
Example usage (_mysql_):
3030
```yaml

executors/grpc/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Venom - Executor Grpc
22

3-
Step for execute GRPC Request
3+
Step to execute a gRPC request
44

55
Based on `grpcurl`, see [grpcurl](https://github.com/fullstorydev/grpcurl) for more information.
66
This executor relies on the gRPC server reflection, which should be enabled on the server as described
@@ -11,7 +11,7 @@ gRPC server reflection also does not properly work with `gogo/protobuf`: grpc/gr
1111

1212
## Tests
1313

14-
Results of test are parsed as json and saved in `systemoutjson`. Status codes correspond
14+
Results of tests are parsed as JSON and saved in `systemoutjson`. Status codes correspond
1515
to the official status codes of gRPC.
1616
You can find what individual return codes mean [here](https://github.com/grpc/grpc/blob/master/doc/statuscodes.md).
1717

@@ -23,14 +23,14 @@ In your yaml file, you can use:
2323
- url mandatory
2424
- service mandatory: service to call
2525
- method mandatory: list, describe, or method of the endpoint
26-
- data optional: data to marshal to json and send as a request
26+
- data optional: data to marshal to JSON and send as a request
2727
- headers optional: data to send as additional headers
2828
- connect_timeout optional: The maximum time, in seconds, to wait for connection to be established. Defaults to 10 seconds
2929
- default_fields optional: whether json formatter should emit default fields
3030
- include_text_separator optional: when protobuf string formatter is invoked to format multiple messages, all messages after the first one will be prefixed with character (0x1E)
31-
- tls_client_cert optional: a chain of certificates to identify the caller, first certificate in the chain is considered as the leaf, followed by intermediates. Setting it enable mutual TLS authentication. Set the PEM content or the path to the PEM file.
31+
- tls_client_cert optional: a chain of certificates to identify the caller, first certificate in the chain is considered as the leaf, followed by intermediates. Setting it enables mutual TLS authentication. Set the PEM content or the path to the PEM file.
3232
- tls_client_key optional: private key corresponding to the certificate. Set the PEM content or the path to the PEM file.
33-
- tls_root_ca optional: defines additional root CAs to perform the call. can contains multiple CAs concatenated together. Set the PEM content or the path to the PEM file.
33+
- tls_root_ca optional: defines additional root CAs to perform the call. Can contain multiple CAs concatenated together. Set the PEM content or the path to the PEM file.
3434
- ignore_verify_ssl optional: set to true if you use a self-signed SSL on remote for example
3535
```
3636

executors/http/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Venom - Executor HTTP
22

3-
Step for execute a HTTP Request
3+
Step to execute an HTTP request
44

55
## Input
66
In your yaml file, you can use:
@@ -23,9 +23,9 @@ In your yaml file, you can use:
2323
- no_follow_redirect (optional): indicates that you don't want to follow Location if server returns a Redirect (301/302/...)
2424
- skip_body: skip the body and bodyjson result
2525
- skip_headers: skip the headers result
26-
- tls_client_cert (optional): a chain of certificates to identify the caller, first certificate in the chain is considered as the leaf, followed by intermediates. Setting it enable mutual TLS authentication. Set the PEM content or the path to the PEM file.
26+
- tls_client_cert (optional): a chain of certificates to identify the caller, first certificate in the chain is considered as the leaf, followed by intermediates. Setting it enables mutual TLS authentication. Set the PEM content or the path to the PEM file.
2727
- tls_client_key (optional): private key corresponding to the certificate. Set the PEM content or the path to the PEM file.
28-
- tls_root_ca (optional): defines additional root CAs to perform the call. Can contains multiple CAs concatenated together Set the PEM content or the path to the PEM file.
28+
- tls_root_ca (optional): defines additional root CAs to perform the call. Can contain multiple CAs concatenated together. Set the PEM content or the path to the PEM file.
2929

3030
```
3131

@@ -140,11 +140,11 @@ result.err
140140
JSON keys are lowercased automatically (eg. use `result.bodyjson.yourkey`, not
141141
`result.bodyjson.YourKey`).
142142

143-
On top of that, if a JSON key contains special characters, they will be translate to underscores.
143+
On top of that, if a JSON key contains special characters, they will be translated to underscores.
144144

145145
### JSON arrays
146146

147-
When a HTTP response contains a JSON array, you have to use following syntax
147+
When an HTTP response contains a JSON array, you have to use the following syntax
148148
to access specific key of an array: `result.bodyjson.array_name.array_name_index_in_array.key`
149149

150150
Example if you want to get value of `path` key of *second* element in `apis` array: `result.bodyjson.apis.apis1.path`

executors/imap/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ As of today, these are the available commands:
2727
- **flag**: add, remove or set the flags of a mail
2828
- **move**: move a mail from one mailbox to another
2929
30-
Multiple commands can be stated as once: they will be executed in the order they are presented under the `commands` field.
30+
Multiple commands can be stated at once: they will be executed in the order they are presented under the `commands` field.
3131

3232
Each command consists of a `name` field which allows to specify the command to execute.
3333
Then they are composed of the `search` field and/or the `args` field.
@@ -170,8 +170,8 @@ commands:
170170

171171
### Assertions
172172

173-
Each execution of a command produces a `result` Its content depends on the command and its execution.\
174-
Taking that multiple commands can be executed in a single testcase, the `result` object follows this syntax:
173+
Each execution of a command produces a `result`. Its content depends on the command and its execution.\
174+
Considering that multiple commands can be executed in a single testcase, the `result` object follows this syntax:
175175
```json
176176
{
177177
"result": {
@@ -213,7 +213,7 @@ Where each command has its own results that can be asserted.
213213
As an example, here is a list of possible assertions after execution of two commands in the same testcase:
214214
```yaml
215215
assertions:
216-
# First ommand
216+
# First command
217217
- result.commands.commands0.err ShouldBeEmpty
218218
# State of the mail before command execution (search)
219219
- result.commands.commands0.search.from ShouldEqual "from@mail-before-command-execution.com"

0 commit comments

Comments
 (0)