diff options
Diffstat (limited to 'tests/Monolog/Handler/SlackHandlerTest.php')
-rw-r--r-- | tests/Monolog/Handler/SlackHandlerTest.php | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/tests/Monolog/Handler/SlackHandlerTest.php b/tests/Monolog/Handler/SlackHandlerTest.php index e813210..58fb624 100644 --- a/tests/Monolog/Handler/SlackHandlerTest.php +++ b/tests/Monolog/Handler/SlackHandlerTest.php @@ -45,16 +45,43 @@ class SlackHandlerTest extends TestCase $content = fread($this->res, 1024); $this->assertRegexp('/POST \/api\/chat.postMessage HTTP\/1.1\\r\\nHost: slack.com\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content); + } - return $content; + public function testWriteContent() + { + $this->createHandler(); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/token=myToken&channel=channel1&username=Monolog&attachments=.*$/', $content); } /** - * @depends testWriteHeader + * @dataProvider provideLevelColors */ - public function testWriteContent($content) + public function testWriteContentWithColors($level, $expectedColor) { - $this->assertRegexp('/token=myToken&channel=channel1&username=Monolog&attachments=.*$/', $content); + $this->createHandler(); + $this->handler->handle($this->getRecord($level, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/color%22%3A%22'.$expectedColor.'/', $content); + } + + public function provideLevelColors() + { + return array( + array(Logger::DEBUG, '%23e3e4e6'), // escaped #e3e4e6 + array(Logger::INFO, 'good'), + array(Logger::NOTICE, 'good'), + array(Logger::WARNING, 'warning'), + array(Logger::ERROR, 'danger'), + array(Logger::CRITICAL, 'danger'), + array(Logger::ALERT, 'danger'), + array(Logger::EMERGENCY,'danger'), + ); } private function createHandler($token = 'myToken', $channel = 'channel1', $username = 'Monolog') |