mattrink / didibreakit
A basic smoke testing library designed for use in CI.
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/mattrink/didibreakit
Requires
- doctrine/collections: ^1.6
- guzzlehttp/guzzle: ^6.3
- symfony/console: ^4.3
- symfony/yaml: ^4.3
Requires (Dev)
- phpunit/phpunit: ^8.3
- symfony/var-dumper: ^4.3
This package is auto-updated.
Last update: 2025-10-24 06:11:39 UTC
README
A basic smoke testing library designed for use in CI
Installation
composer require mattrink/didibreakit
Usage
./didibreakit tests:run example.yaml
Options
-b/--branch branchnameThis is to support branch based testing. If your CI process automatically creates environemnts for your branches this argument can be used to pass the name of the branch to the configuration. The branch can then be used in theurlPatternoption via the%branch%replacement.-v/--verboseEnables more in-depth logging and detail.
Configuration
Configuration is done via a YAML file that is then passed as the only required argument to the command ./vendor/didibreakit tests:run example.yaml. You can copy the example.yaml for a basic configuration to start from.
Within the options section of the config file you can provide some default configuration used for all URLs that are checked.
defaultSchemeRequest all URLs using HTTP or HTTPS.urlPatternThe pattern to match for URLs.%branchis optional.verifySSLIf set to false the SSL certificate for HTTPS will not be verified. Useful is using self-signed SSL certificates.defaultURLsApplies these URLs to the config for all hosts defined later.timeoutThe maximum request connection & read timeout before failing the request.failOnTimeoutIf set to false timeouts will not fail the whole execution.
You can specify the hosts and per-host URLs to check via the hosts option in the config. You can specify multiple hosts and URLs to check. The host key will be replaced into the %host% placeholder in the urlPattern. Along with each URL you also need to specify the expected HTTP status response, if a URL responds withs a status code that does not match the expected one the script will return a non-zero status code.
Example config
options: defaultScheme: 'https' urlPattern: '%branch%.%host%' verifySSL: false timeout: 5 failOnTimeout: false defaultURLs: /: 200 hosts: example.com: scheme: 'https' # You can use scheme to override the defaultScheme above urls: /news: 200 /i-expect-this-to-404: 404 example2.com: urls: /deals: 200 example3.com: # Hosts with no URLs will inherit the defaultURLs from above example4.com: