/**
  * Load config test.
  */
 public function testLoadConfig()
 {
     $logFile = $this->makeFile($this->baseTempDir, 'hook.log');
     $logger = new Logger('git-web-hook');
     $logger->pushHandler(new StreamHandler($logFile, Logger::WARNING));
     $hook = new Hook(__DIR__, array(), $logger);
     $reposDir = $this->makeTempDir('repos.d');
     $testFile = $this->makeFile($reposDir, 'test3.yml');
     $this->generateRepoConfigFile($testFile, 3);
     $mainConfigFile = $this->makeFile($this->baseTempDir, 'main_config.yml');
     file_put_contents($mainConfigFile, $this->configTemplates->render('config1.php', array('reposDir' => $reposDir)));
     $hook->loadConfig($mainConfigFile);
     $options = $hook->getOptions();
     $this->assertFalse($options['sendEmails'], 'Wrong loaded configuration option sendEmails ');
     $this->assertFalse($options['sendEmailAuthor'], 'Wrong loaded configuration option sendEmailAuthor');
     $repository = $hook->getRepository('git@github.com:amaxlab/git-web-hook-test.git');
     $this->assertNotNull($repository, 'Repository was not loaded through config.yml ');
     $this->assertInstanceOf('AmaxLab\\GitWebHook\\Repository', $repository, 'It is not a repository object');
     $masterBranch = $repository->getBranch('master');
     $productionBranch = $repository->getBranch('production');
     $this->assertInstanceOf('AmaxLab\\GitWebHook\\Branch', $masterBranch, 'There is not a branch master');
     $this->assertInstanceOf('AmaxLab\\GitWebHook\\Branch', $productionBranch, 'There is not a branch master');
     $this->assertContains('*****@*****.**', $masterBranch->getOptions()['mailRecipients']);
     $this->assertContains('192.168.0.2', Request::getTrustedProxies(), 'There is error in configuring trusted proxies');
     $this->assertContains('192.168.0.3', Request::getTrustedProxies(), 'There is error in configuring trusted proxies');
     $this->assertNotContains('192.168.0.4', Request::getTrustedProxies(), 'There is error in configuring trusted proxies');
     $content = file_get_contents($logFile);
     $this->assertEmpty($content, sprintf('Log file is not empty: %s', $content));
 }
<?php

/**
 * Created by PhpStorm.
 * User: zyuskin_en
 * Date: 31.12.14
 * Time: 1:06
 */
include __DIR__ . '/vendor/autoload.php';
use AmaxLab\GitWebHook\Hook;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
$logger = new Logger('git-web-hook');
$logger->pushHandler(new StreamHandler(__DIR__ . DIRECTORY_SEPARATOR . 'log' . DIRECTORY_SEPARATOR . 'hook.log', Logger::WARNING));
// or you can write logs to /var/log or somewhere else
$hook = new Hook(__DIR__, array(), $logger);
$hook->loadConfig(__DIR__ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.yml');
// you can copy config.yml.dist to config.yml and edit it
$hook->execute();