diff --git a/README.md b/README.md index ba705f7..a8bb52a 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,6 @@ docker-compose up Pick the adapter you want to test. ``` -ADAPTER=redis vendor/bin/phpunit tests/Test/BlackBoxTest.php -ADAPTER=apc vendor/bin/phpunit tests/Test/BlackBoxTest.php +docker-compose run phpunit env ADAPTER=apc vendor/bin/phpunit tests/Test/ +docker-compose run phpunit env ADAPTER=redis vendor/bin/phpunit tests/Test/ ``` diff --git a/docker-compose.yml b/docker-compose.yml index 00dab20..43447ab 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,6 +11,7 @@ php-fpm: - .:/var/www/html links: - redis + - pushgateway environment: - REDIS_HOST=redis @@ -18,3 +19,19 @@ redis: image: redis ports: - 6379:6379 + +pushgateway: + image: prom/pushgateway + ports: + - 9091:9091 + +phpunit: + build: php-fpm/ + volumes: + - .:/var/www/html + links: + - redis + - pushgateway + - nginx + environment: + - REDIS_HOST=redis diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 0fbe56c..fc34512 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -4,3 +4,4 @@ RUN pecl install redis-2.2.8 && docker-php-ext-enable redis RUN pecl install apcu-4.0.11 && docker-php-ext-enable apcu COPY www.conf /usr/local/etc/php-fpm.d/ +COPY docker-php-ext-apcu-cli.ini /usr/local/etc/php/conf.d/ diff --git a/php-fpm/docker-php-ext-apcu-cli.ini b/php-fpm/docker-php-ext-apcu-cli.ini new file mode 100644 index 0000000..c376be0 --- /dev/null +++ b/php-fpm/docker-php-ext-apcu-cli.ini @@ -0,0 +1 @@ +apc.enable_cli = On diff --git a/tests/Test/BlackBoxPushGatewayTest.php b/tests/Test/BlackBoxPushGatewayTest.php new file mode 100644 index 0000000..cbe81cf --- /dev/null +++ b/tests/Test/BlackBoxPushGatewayTest.php @@ -0,0 +1,36 @@ +registerCounter('test', 'some_counter', 'it increases', ['type']); + $counter->incBy(6, ['blue']); + + $pushGateway = new PushGateway('pushgateway:9091'); + $pushGateway->push($registry, 'my_job', array('instance' => 'foo')); + + $httpClient = new Client(); + $metrics = $httpClient->get("http://pushgateway:9091/metrics")->getBody()->getContents(); + $this->assertContains( + '# HELP test_some_counter it increases +# TYPE test_some_counter counter +test_some_counter{instance="foo",job="my_job",type="blue"} 6', + $metrics + ); + } +} diff --git a/tests/Test/BlackBoxTest.php b/tests/Test/BlackBoxTest.php index daff9dd..d57f3a3 100644 --- a/tests/Test/BlackBoxTest.php +++ b/tests/Test/BlackBoxTest.php @@ -20,7 +20,7 @@ class BlackBoxTest extends PHPUnit_Framework_TestCase public function setUp() { $this->adapter = getenv('ADAPTER'); - $this->client = new Client(['base_uri' => 'http://192.168.59.100:8080/']); + $this->client = new Client(['base_uri' => 'http://nginx:80/']); $this->client->get('/examples/flush_adapter.php?adapter=' . $this->adapter); }