{"id":23450738,"url":"https://github.com/mattrink/didibreakit","last_synced_at":"2025-04-10T09:59:21.478Z","repository":{"id":62525361,"uuid":"203810594","full_name":"MattRink/didibreakit","owner":"MattRink","description":"A basic smoke testing library designed for use in CI","archived":false,"fork":false,"pushed_at":"2019-08-23T16:17:53.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-15T19:48:42.011Z","etag":null,"topics":["ci","php7","smoke-testing"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MattRink.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-22T14:21:37.000Z","updated_at":"2019-08-23T16:17:54.000Z","dependencies_parsed_at":"2022-11-02T13:47:46.153Z","dependency_job_id":null,"html_url":"https://github.com/MattRink/didibreakit","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattRink%2Fdidibreakit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattRink%2Fdidibreakit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattRink%2Fdidibreakit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattRink%2Fdidibreakit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MattRink","download_url":"https://codeload.github.com/MattRink/didibreakit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248198865,"owners_count":21063626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ci","php7","smoke-testing"],"created_at":"2024-12-24T00:14:38.568Z","updated_at":"2025-04-10T09:59:21.458Z","avatar_url":"https://github.com/MattRink.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# didibreakit\n_A basic smoke testing library designed for use in CI_\n\n## Installation\n```shell\ncomposer require mattrink/didibreakit\n```\n\n## Usage\n```shell\n./didibreakit tests:run example.yaml\n```\n\n## Options\n - `-b/--branch branchname` This 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 the `urlPattern` option via the `%branch%` replacement.\n - `-v/--verbose` Enables more in-depth logging and detail.\n\n## Configuration\nConfiguration 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.\n\nWithin the `options` section of the config file you can provide some default configuration used for all URLs that are checked.\n - `defaultScheme` Request all URLs using HTTP or HTTPS.\n - `urlPattern` The pattern to match for URLs. `%branch` is optional.\n - `verifySSL` If set to false the SSL certificate for HTTPS will not be verified. Useful is using self-signed SSL certificates.\n - `defaultURLs` Applies these URLs to the config for all hosts defined later.\n - `timeout` The maximum request connection \u0026 read timeout before failing the request.\n - `failOnTimeout` If set to false timeouts will not fail the whole execution.\n\nYou 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.\n\n### Example config\n```yaml\noptions:\n  defaultScheme: 'https'\n  urlPattern: '%branch%.%host%'\n  verifySSL: false\n  timeout: 5\n  failOnTimeout: false\n  defaultURLs:\n    /: 200\n\nhosts:\n  example.com:\n    scheme: 'https' # You can use scheme to override the defaultScheme above\n    urls:\n      /news: 200\n      /i-expect-this-to-404: 404\n  example2.com:\n    urls:\n      /deals: 200\n  example3.com: # Hosts with no URLs will inherit the defaultURLs from above\n  example4.com:\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattrink%2Fdidibreakit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattrink%2Fdidibreakit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattrink%2Fdidibreakit/lists"}