mirror of
				https://github.com/juspay/hyperswitch.git
				synced 2025-11-01 02:57:02 +08:00 
			
		
		
		
	 34318bc1f1
			
		
	
	34318bc1f1
	
	
	
		
			
			Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
Test Utils
The heart of newman(with directory support) and UI-tests
If you're developing a collection and you want to learn more about it, click here
Newman
- Make sure you that you do not have the newman (from the Postman team) installed but rather the newmanfork with directory support
- The newmanfork can be installed by runningnpm install -g 'https://github.com/knutties/newman.git#feature/newman-dir'
- To see the features that the fork of newmansupports, click here
Test Utils Usage
- Add the connector credentials to the connector_auth.toml/auth.tomlby creating a copy of thesample_auth.tomlfromrouter/tests/connectors/sample_auth.toml
- Export the auth file path as an environment variable:
export CONNECTOR_AUTH_FILE_PATH=/path/to/auth.toml
Supported Commands
Required fields:
- --admin-api-key-- Admin API Key of the environment.- test_adminis the Admin API Key for running locally
- --base-url-- Base URL of the environment.- http://127.0.0.1:8080/- http://localhost:8080is the Base URL for running locally
- --connector-name-- Name of the connector that you wish to run. Example:- adyen,- shift4,- stripe
Optional fields:
- --delay-- To add a delay between requests in milliseconds.- Maximum delay is 4294967295 milliseconds or 4294967.295 seconds or 71616 minutes or 1193.6 hours or 49.733 days
- Example: --delay 1000(for 1 second delay)
 
- --folder-- To run individual folders in the collection- Use double quotes to specify folder name. If you wish to run multiple folders, separate them with a comma (,)
- Example: --folder "QuickStart"or--folder "Health check,QuickStart"
 
- Use double quotes to specify folder name. If you wish to run multiple folders, separate them with a comma (
- --header-- If you wish to add custom headers to the requests, you can pass them as a string- Example: --header "key:value"
- If you want to pass multiple custom headers, you can pass multiple --headerflags- Example: --header "key1:value1" --header "key2:value2"
 
- Example: 
 
- Example: 
- --verbose-- A boolean to print detailed logs (requests and responses)
Note: Passing --verbose will also print the connector as well as admin API keys in the logs. So, make sure you don't push the commands with --verbose to any public repository.
Running tests
- Tests can be run with the following command:
cargo run --package test_utils --bin test_utils -- --connector-name=<connector_name> --base-url=<base_url> --admin-api-key=<admin_api_key> \ # optionally --folder "<folder_name_1>,<folder_name_2>,...<folder_name_n>" --verbose
Note: You can omit --package test_utils at the time of running the above command since it is optional.
UI tests
To run the UI tests, run the following command:
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:
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:
cargo test --package test_utils --test connectors -- adyen_uk_ui:: --test-threads=1