{"id":13828567,"url":"https://github.com/Brunty/cigar","last_synced_at":"2025-07-09T06:32:15.255Z","repository":{"id":56951417,"uuid":"94575110","full_name":"Brunty/cigar","owner":"Brunty","description":"💨 Smoke testing tool written in PHP","archived":false,"fork":false,"pushed_at":"2023-10-03T14:25:45.000Z","size":171,"stargazers_count":159,"open_issues_count":5,"forks_count":14,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-10-04T10:07:05.093Z","etag":null,"topics":["hacktoberfest","http","php","smoke-test","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/Brunty.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-16T19:28:53.000Z","updated_at":"2024-08-23T12:08:06.000Z","dependencies_parsed_at":"2023-10-03T21:48:01.005Z","dependency_job_id":null,"html_url":"https://github.com/Brunty/cigar","commit_stats":{"total_commits":82,"total_committers":12,"mean_commits":6.833333333333333,"dds":0.2804878048780488,"last_synced_commit":"99505fd849997abb723fb52bcadd6b0fc4608456"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brunty%2Fcigar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brunty%2Fcigar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brunty%2Fcigar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brunty%2Fcigar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Brunty","download_url":"https://codeload.github.com/Brunty/cigar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225492420,"owners_count":17482869,"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":["hacktoberfest","http","php","smoke-test","testing"],"created_at":"2024-08-04T09:02:52.641Z","updated_at":"2024-11-20T08:30:45.309Z","avatar_url":"https://github.com/Brunty.png","language":"PHP","readme":"# Cigar\n\n[![Build Status](https://travis-ci.org/Brunty/cigar.svg?branch=master)](https://travis-ci.org/Brunty/cigar) [![Coverage Status](https://coveralls.io/repos/github/Brunty/cigar/badge.svg?branch=master)](https://coveralls.io/github/Brunty/cigar?branch=master) [![SensioLabsInsight](https://insight.sensiolabs.com/projects/d89a0b55-8ce6-4f85-a09c-7852d986225f/mini.png)](https://insight.sensiolabs.com/projects/d89a0b55-8ce6-4f85-a09c-7852d986225f)\n\nA smoke testing tool inspired by [symm/vape](https://github.com/symm/vape)\n\nSimilar tools include:\n\n* [Blackfire Player](https://github.com/blackfireio/player)\n\n## Installation\n\nInstall via composer:\n\n`composer require brunty/cigar --dev`\n\nPull via docker:\n\n`docker pull brunty/cigar`\n\n## To use\n\nCreate a `.cigar.json` file that contains an array of json objects specifying the `url`, `status`, (optional) `content`, and  (optional) `content-type` to check.\n\n```\n[\n  {\n    \"url\": \"http://httpbin.org/status/418\",\n    \"status\": 418,\n    \"content\": \"teapot\"\n  },\n  {\n    \"url\": \"http://httpbin.org/status/200\",\n    \"status\": 200,\n    \"content-type\": \"text/html\"\n  },\n  {\n    \"url\": \"http://httpbin.org/status/304\",\n    \"status\": 304\n  },\n  {\n    \"url\": \"http://httpbin.org/status/500\",\n    \"status\": 500\n  }\n]\n```\n\n**When installed via composer:**\n\nRun `vendor/bin/cigar` to have it check each of the URLs return the status code expected.\n\n**When pulled via docker:**\n\nRun `docker run -v $(pwd):/app --rm brunty/cigar` to have it check each of the URLs return the status code expected.\n\n```\n\u003e vendor/bin/cigar                                           \n✓ http://httpbin.org/status/418 [418:418] teapot\n✓ http://httpbin.org/status/200 [200:200] [text/html:text/html] \n✓ http://httpbin.org/status/304 [304:304] \n✓ http://httpbin.org/status/500 [500:500] \n```\n\nThe format of the lines in the output is:\n\n```\npass/fail url [expected_code:actual_code] [optional_expected_content-type:optional_actual_content-type] optional_text\n```\n\nIf all tests pass, the return code `$?` will be `0` - if any of them don't return the expected status code, the return code will be `1`\n\n### Quiet test mode\n\nIf you wish to suppress the output of the test run, pass the `--quiet` option to the command: `vendor/bin/cigar --quiet`\n\n### Alternative configuration files\n\nIf you wish to use an alternative configuration file, use the `vendor/bin/cigar -c file.json` or `vendor/bin/cigar --config=file.json` options when running the command.\n\n### Passing a base URL to check against\n\nIf you wish to check a file of URLs relative to the root of a site against a base URL, you can do so with by using \n`vendor/bin/cigar -u http://httpbin.org` or `vendor/bin/cigar --url=http://httpbin.org`\n\nYour configuration file can then contain URLs including:\n\n* Full absolute URLs as before (cigar won't use the base URL when checking an absolute URL)\n\n```\n[\n  {\n    \"url\": \"http://httpbin.org/status/418\",\n    \"status\": 418,\n    \"content\": \"teapot\"\n  }\n]\n```\n\n* URLs relative to the base url that you've specified, either with or without a leading slash.\n\n ```\n[\n  {\n    \"url\": \"/status/418\",\n    \"status\": 418,\n    \"content\": \"teapot\"\n  },\n  \n  {\n    \"url\": \"status/418\",\n    \"status\": 418,\n    \"content\": \"teapot\"\n  }\n]\n```\n\n### Disabling SSL cert verification\n\nIf you wish to run the tool without checking SSL certs, use the `-i` or `--insecure` option to the command: \n`vendor/bin/cigar -i` or `vendor/bin/cigar --insecure`\n\n**Only use this if absolutely necessary.**\n\n### Passing Authorization header\n\nIf you wish to add the Authorization header, use the `-a` or `--auth` option to the command: \n`vendor/bin/cigar -a \"Basic dXNyOnBzd2Q=\"` or `vendor/bin/cigar --auth=\"Basic dXNyOnBzd2Q=\"`\n\n### Passing custom header\n\nIf you wish to add any custom header(s), use the `-h` or `--header` option to the command:\n`vendor/bin/cigar -h \"Cache-control: no-cache\"` or `vendor/bin/cigar --header=\"Cache-control: no-cache\"`\n\n### Command help \u0026 command version\n\nIf you want to see all the available options for Cigar, use the command: `vendor/bin/cigar --help`\n\nIf you wish to see what version of Cigar you're using, use the command: `vendor/bin/cigar --version`\n\n## Contributing\n\nThis started as a small personal project.\n\nAlthough this project is small, openness and inclusivity are taken seriously. To that end a code of conduct (listed in the contributing guide) has been adopted.\n\n[Contributor Guide](CONTRIBUTING.md)\n","funding_links":[],"categories":["PHP"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBrunty%2Fcigar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBrunty%2Fcigar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBrunty%2Fcigar/lists"}