/** * Test loading of repository configurations. */ public function testLoadRepos() { $options = array('sendEmails' => false, 'sendEmailAuthor' => false, 'mailRecipients' => array(), 'allowedAuthors' => '*', 'allowedHosts' => '*'); $hook = new Hook(__DIR__, $options); $reposDir = $this->makeTempDir('repos.d'); $testFile1 = $this->makeFile($reposDir, 'test1.yml'); $testFile2 = $this->makeFile($reposDir, 'test2.yml'); $count = $hook->loadRepos($testFile1); $this->assertEquals(0, $count, 'Wrong number of loaded repositories'); for ($i = 1; $i <= 3; ++$i) { $this->generateRepoConfigFile($testFile1, $i); $count = $hook->loadRepos($reposDir); $this->assertEquals($i, $count, sprintf('Wrong number of loaded repositories, found %s, expected %s', $count, $i)); } $this->generateRepoConfigFile($testFile2, 2); $count = $hook->loadRepos($reposDir); $this->assertEquals(5, $count, sprintf('Wrong number of loaded repositories, found %s, expected %s', $count, 5)); }
<?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();