PHPackages                             brunty/cigar - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. brunty/cigar

ActiveLibrary[Testing &amp; Quality](/categories/testing)

brunty/cigar
============

Smoke testing tool written in PHP.

1.12.4(2y ago)163714.7k↓33.7%14[5 issues](https://github.com/Brunty/cigar/issues)[1 PRs](https://github.com/Brunty/cigar/pulls)2MITPHPPHP &gt;=7.0CI failing

Since Jun 17Pushed 2y ago4 watchersCompare

[ Source](https://github.com/Brunty/cigar)[ Packagist](https://packagist.org/packages/brunty/cigar)[ RSS](/packages/brunty-cigar/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (32)Used By (2)

Cigar
=====

[](#cigar)

[![Build Status](https://camo.githubusercontent.com/1c0d2a1217af87292b3da2b08605681bfa4847504103f5bc55468fdeaaa00c3a/68747470733a2f2f7472617669732d63692e6f72672f4272756e74792f63696761722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/Brunty/cigar) [![Coverage Status](https://camo.githubusercontent.com/adf3843acde5ae9c64cc07720fadbb5c415fe340bd31a0116f3b1654b1014e44/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f4272756e74792f63696761722f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/Brunty/cigar?branch=master) [![SensioLabsInsight](https://camo.githubusercontent.com/de4d88f32551b49b15a9b57eeebd3863188e6e7d558108ab27d5f596d36116c3/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f64383961306235352d386365362d346638352d613039632d3738353264393836323235662f6d696e692e706e67)](https://insight.sensiolabs.com/projects/d89a0b55-8ce6-4f85-a09c-7852d986225f)

A smoke testing tool inspired by [symm/vape](https://github.com/symm/vape)

Similar tools include:

- [Blackfire Player](https://github.com/blackfireio/player)

Installation
------------

[](#installation)

Install via composer:

`composer require brunty/cigar --dev`

Pull via docker:

`docker pull brunty/cigar`

To use
------

[](#to-use)

Create a `.cigar.json` file that contains an array of json objects specifying the `url`, `status`, (optional) `content`, and (optional) `content-type` to check.

```
[
  {
    "url": "http://httpbin.org/status/418",
    "status": 418,
    "content": "teapot"
  },
  {
    "url": "http://httpbin.org/status/200",
    "status": 200,
    "content-type": "text/html"
  },
  {
    "url": "http://httpbin.org/status/304",
    "status": 304
  },
  {
    "url": "http://httpbin.org/status/500",
    "status": 500
  }
]

```

**When installed via composer:**

Run `vendor/bin/cigar` to have it check each of the URLs return the status code expected.

**When pulled via docker:**

Run `docker run -v $(pwd):/app --rm brunty/cigar` to have it check each of the URLs return the status code expected.

```
> vendor/bin/cigar
✓ http://httpbin.org/status/418 [418:418] teapot
✓ http://httpbin.org/status/200 [200:200] [text/html:text/html]
✓ http://httpbin.org/status/304 [304:304]
✓ http://httpbin.org/status/500 [500:500]

```

The format of the lines in the output is:

```
pass/fail url [expected_code:actual_code] [optional_expected_content-type:optional_actual_content-type] optional_text

```

If 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`

### Quiet test mode

[](#quiet-test-mode)

If you wish to suppress the output of the test run, pass the `--quiet` option to the command: `vendor/bin/cigar --quiet`

### Alternative configuration files

[](#alternative-configuration-files)

If 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.

### Passing a base URL to check against

[](#passing-a-base-url-to-check-against)

If 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 `vendor/bin/cigar -u http://httpbin.org` or `vendor/bin/cigar --url=http://httpbin.org`

Your configuration file can then contain URLs including:

- Full absolute URLs as before (cigar won't use the base URL when checking an absolute URL)

```
[
  {
    "url": "http://httpbin.org/status/418",
    "status": 418,
    "content": "teapot"
  }
]

```

- URLs relative to the base url that you've specified, either with or without a leading slash.

```
[
 {
   "url": "/status/418",
   "status": 418,
   "content": "teapot"
 },

 {
   "url": "status/418",
   "status": 418,
   "content": "teapot"
 }
]

```

### Disabling SSL cert verification

[](#disabling-ssl-cert-verification)

If you wish to run the tool without checking SSL certs, use the `-i` or `--insecure` option to the command: `vendor/bin/cigar -i` or `vendor/bin/cigar --insecure`

**Only use this if absolutely necessary.**

### Passing Authorization header

[](#passing-authorization-header)

If you wish to add the Authorization header, use the `-a` or `--auth` option to the command: `vendor/bin/cigar -a "Basic dXNyOnBzd2Q="` or `vendor/bin/cigar --auth="Basic dXNyOnBzd2Q="`

### Passing custom header

[](#passing-custom-header)

If you wish to add any custom header(s), use the `-h` or `--header` option to the command: `vendor/bin/cigar -h "Cache-control: no-cache"` or `vendor/bin/cigar --header="Cache-control: no-cache"`

### Command help &amp; command version

[](#command-help--command-version)

If you want to see all the available options for Cigar, use the command: `vendor/bin/cigar --help`

If you wish to see what version of Cigar you're using, use the command: `vendor/bin/cigar --version`

Contributing
------------

[](#contributing)

This started as a small personal project.

Although 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.

[Contributor Guide](CONTRIBUTING.md)

###  Health Score

45

—

FairBetter than 93% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity53

Moderate usage in the ecosystem

Community25

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 83.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~79 days

Recently: every ~413 days

Total

30

Last Release

972d ago

Major Versions

0.3 → 1.0.02017-06-21

PHP version history (2 changes)0.1PHP &gt;=7.1

1.7PHP &gt;=7.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/40cdb90b0420d70582f27d22c873198f24f2704ee3f80227134a7180cf8cff51?d=identicon)[Brunty](/maintainers/Brunty)

---

Top Contributors

[![Brunty](https://avatars.githubusercontent.com/u/1573273?v=4)](https://github.com/Brunty "Brunty (70 commits)")[![WyriHaximus](https://avatars.githubusercontent.com/u/147145?v=4)](https://github.com/WyriHaximus "WyriHaximus (5 commits)")[![mbrodala](https://avatars.githubusercontent.com/u/5037116?v=4)](https://github.com/mbrodala "mbrodala (3 commits)")[![ntzm](https://avatars.githubusercontent.com/u/3888578?v=4)](https://github.com/ntzm "ntzm (1 commits)")[![symm](https://avatars.githubusercontent.com/u/69390?v=4)](https://github.com/symm "symm (1 commits)")[![akrifari](https://avatars.githubusercontent.com/u/33394747?v=4)](https://github.com/akrifari "akrifari (1 commits)")[![Yogendra0Sharma](https://avatars.githubusercontent.com/u/1375860?v=4)](https://github.com/Yogendra0Sharma "Yogendra0Sharma (1 commits)")[![GulDmitry](https://avatars.githubusercontent.com/u/319897?v=4)](https://github.com/GulDmitry "GulDmitry (1 commits)")[![klizas](https://avatars.githubusercontent.com/u/6648396?v=4)](https://github.com/klizas "klizas (1 commits)")

---

Tags

hacktoberfesthttpphpsmoke-testtesting

### Embed Badge

![Health badge](/badges/brunty-cigar/health.svg)

```
[![Health](https://phpackages.com/badges/brunty-cigar/health.svg)](https://phpackages.com/packages/brunty-cigar)
```

###  Alternatives

[phpspec/prophecy

Highly opinionated mocking framework for PHP 5.3+

8.5k551.7M682](/packages/phpspec-prophecy)[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[beberlei/assert

Thin assertion library for input validation in business models.

2.4k96.9M570](/packages/beberlei-assert)[mikey179/vfsstream

Virtual file system to mock the real file system in unit tests.

1.4k108.0M2.7k](/packages/mikey179-vfsstream)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)[phpspec/phpspec

Specification-oriented BDD framework for PHP 7.1+

1.9k36.7M3.1k](/packages/phpspec-phpspec)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
