diff --git a/.github/secrets/connector_auth.toml.gpg b/.github/secrets/connector_auth.toml.gpg index c8987ccabb..85a17bcb93 100644 Binary files a/.github/secrets/connector_auth.toml.gpg and b/.github/secrets/connector_auth.toml.gpg differ diff --git a/crates/test_utils/README.md b/crates/test_utils/README.md index 5a7f913a96..3cbda63e52 100644 --- a/crates/test_utils/README.md +++ b/crates/test_utils/README.md @@ -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 `.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= --base_url= --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= --base_url= --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= --base_url=http://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 -- :: --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 +``` \ No newline at end of file diff --git a/crates/test_utils/src/main.rs b/crates/test_utils/src/main.rs index 87e3a13847..155870ee2c 100644 --- a/crates/test_utils/src/main.rs +++ b/crates/test_utils/src/main.rs @@ -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() { @@ -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 {