Skip to content

Commit

Permalink
docs(postman): Update documentation for postman tests (juspay#2057)
Browse files Browse the repository at this point in the history
  • Loading branch information
pixincreate committed Sep 4, 2023
1 parent 2738fb7 commit 119aeb4
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 6 deletions.
Binary file modified .github/secrets/connector_auth.toml.gpg
Binary file not shown.
48 changes: 42 additions & 6 deletions crates/test_utils/README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,49 @@
# Test Runner
# Test Utils

The main part of running tests through `newman`.
The heart of `newman`(with directory support) and `UI-tests`

# Usage
## Newman Usage

- Make sure you that you've the postman collection for the connector available in the `postman` dir with the name `<connector_name>.postman_collection.json`
- Make sure you that you've _**do not**_ have the official newman installed but rather the `newman` fork with directory support
- `newman` can be installed by running `npm install -g 'https://github.com/knutties/newman.git#feature/newman-dir'`
- To see the features that the fork of `newman` supports, click [_**here**_](https://github.com/knutties/newman/blob/feature/newman-dir/DIR_COMMANDS.md)
- Add the connector credentials to the `connector_auth.toml` / `auth.toml`
- In terminal, execute:
```zsh
- Export the auth file path as an environment variable:
```shell
export CONNECTOR_AUTH_FILE_PATH=/path/to/auth.toml
```
- Run the tests:
```shell
cargo run --package test_utils --bin test_utils -- --connector_name=<connector_name> --base_url=<base_url> --admin_api_key=<admin_api_key>
```

**Note:** You can optionally pass `--verbose` to see the logs of the tests. But make sure you that passing `--verbose` will also print the API-Keys in the logs. So, make sure you don't push the logs to any public repository. Below is an example:
```shell
cargo run --package test_utils --bin test_utils -- --connector_name=<connector_name> --base_url=<base_url> --admin_api_key=<admin_api_key> --verbose
```
### Running newman locally
Execute the following commands:
```shell
export CONNECTOR_AUTH_FILE_PATH=/path/to/auth.toml
cargo run --package test_utils --bin test_utils -- --connector_name=<connector_name> --base_url=https://127.0.0.1:8080 --admin_api_key=test_admin
# Optionally, you can add `--verbose` in the end
```
## UI tests
To run the UI tests, run the following command:
```shell
cargo test --package test_utils --test connectors -- <connector_ui_name>::<optionally_name_of_specific_function_run> --test-threads=1
```
### Example
Below is an example to run UI test to only run the `GooglePay` payment test for `adyen` connector:
```shell
cargo test --package test_utils --test connectors -- adyen_uk_ui::should_make_gpay_payment_test --test-threads=1
```
Below is an example to run all the UI tests for `adyen` connector:
```shell
cargo test --package test_utils --test connectors -- adyen_uk_ui:: --test-threads=1
```
7 changes: 7 additions & 0 deletions crates/test_utils/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ struct Args {
/// Admin API Key of the environment
#[arg(short, long = "admin_api_key")]
admin_api_key: String,
/// Optional Verbose logs
#[arg(short, long)]
verbose: bool,
}

fn main() {
Expand Down Expand Up @@ -130,6 +133,10 @@ fn main() {

newman_command.arg("--color").arg("on");

if args.verbose {
newman_command.arg("--verbose");
}

// Execute the newman command
let output = newman_command.spawn();
let mut child = match output {
Expand Down

0 comments on commit 119aeb4

Please sign in to comment.