Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@ language: php
php:
- '5.6'
- '7.0'
- '7.1'
- '7.2'
- hhvm
sudo: false
cache:
- vendor
- $HOME/.composer/cache
install:
- travis_retry composer self-update
- travis_retry composer global require fxp/composer-asset-plugin
- travis_retry composer install --prefer-dist --no-interaction
script:
- composer exec codecept run --verbose
8 changes: 7 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,11 @@
"psr-4": {
"devgroup\\grayii\\": "src/"
}
}
},
"repositories": [
{
"type": "composer",
"url": "https://asset-packagist.org"
}
]
}
10 changes: 6 additions & 4 deletions src/GelfTarget.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@

namespace devgroup\grayii;

use devgroup\grayii\publisher\Publisher;
use devgroup\grayii\transport\HttpTransport;
use Gelf\Message;
use Gelf\MessageValidator;
use Gelf\MessageValidatorInterface;
use Gelf\PublisherInterface;
use Gelf\Transport\TransportInterface;
use devgroup\grayii\publisher\Publisher;
use devgroup\grayii\transport\HttpTransport;
use Psr\Log\LogLevel;
use Yii;
use yii\di\Container;
Expand Down Expand Up @@ -154,15 +154,17 @@ protected function createMessage($data)
$message->setShortMessage($msg['short']);
} elseif (!empty($msg[0])) {
$message->setShortMessage($msg[0]);
} else {
$message->setShortMessage(array_shift($msg));
}

if (!empty($msg['full'])) {
$message->setFullMessage($msg['full']);
}

foreach ($msg as $key => $value) {
if (strpos($key, '_') === 0) {
$message->setAdditional($key, $value);
if ((!in_array($key, ['short', 'full'])) && $key !== 0) {
$message->setAdditional('_' . $key, $value);
}
}
}
Expand Down
104 changes: 79 additions & 25 deletions tests/unit/GelfTargetTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

namespace devgroup\grayii\tests;

use devgroup\grayii\GelfTarget;
use Gelf\Message;
use Gelf\PublisherInterface;
use devgroup\grayii\GelfTarget;
use yii\helpers\ArrayHelper;
use yii\log\Logger;

Expand All @@ -16,9 +16,7 @@ class GelfTargetTest extends \Codeception\Test\Unit
protected $tester;

private function isPhpVersion7OrMore() {
list($uno, $dos, $tres) = phpversion();

return intval($uno) >= 7;
return PHP_MAJOR_VERSION >= 7;
}

public function versionProvider() {
Expand Down Expand Up @@ -47,7 +45,7 @@ public function testValidateSimpleMessage($version)

$reason = "";
$validateStatus = $validator->validate($message, $reason);
self::assertTrue($validateStatus, $reason);
$this->assertTrue($validateStatus, $reason);
}

/**
Expand All @@ -69,12 +67,12 @@ public function testValidateExceptionMessage($version)

$reason = "";
$validateStatus = $validator->validate($message, $reason);
self::assertTrue($validateStatus, $reason);
$this->assertTrue($validateStatus, $reason);

self::assertEquals('Exception ' . \Exception::class . ' Test message exception', $message->getShortMessage());
self::assertTrue(is_string($message->getFullMessage()));
self::assertNotNull($message->getFile());
self::assertNotNull($message->getLine());
$this->assertEquals('Exception ' . \Exception::class . ' Test message exception', $message->getShortMessage());
$this->assertTrue(is_string($message->getFullMessage()));
$this->assertNotNull($message->getFile());
$this->assertNotNull($message->getLine());
}

/**
Expand All @@ -101,10 +99,10 @@ public function testValidateCombinedMessage($version)

$reason = "";
$validateStatus = $validator->validate($message, $reason);
self::assertTrue($validateStatus, $reason);
$this->assertTrue($validateStatus, $reason);

self::assertEquals('Test short message', $message->getShortMessage());
self::assertEquals('Test full message', $message->getFullMessage());
$this->assertEquals('Test short message', $message->getShortMessage());
$this->assertEquals('Test full message', $message->getFullMessage());
}

/**
Expand All @@ -131,10 +129,10 @@ public function testValidateCombinedMessageWithSimplifiedShort($version)

$reason = "";
$validateStatus = $validator->validate($message, $reason);
self::assertTrue($validateStatus, $reason);
$this->assertTrue($validateStatus, $reason);

self::assertEquals('Test short message', $message->getShortMessage());
self::assertEquals('Test full message', $message->getFullMessage());
$this->assertEquals('Test short message', $message->getShortMessage());
$this->assertEquals('Test full message', $message->getFullMessage());
}


Expand All @@ -147,7 +145,7 @@ public function testAppNameAutoFromGelfMessage()
'', Logger::LEVEL_INFO, null, null
]);

self::assertEquals(\Yii::$app->id, $message->getHost());
$this->assertEquals(\Yii::$app->id, $message->getHost());
}

public function testAdditionalDataFromGelfMessage()
Expand All @@ -162,8 +160,8 @@ public function testAdditionalDataFromGelfMessage()
], Logger::LEVEL_INFO, null, null
]);

self::assertEquals('value1', $message->getAdditional('_correctFieldName1'));
self::assertEquals('value2', $message->getAdditional('_correctFieldName2'));
$this->assertEquals('value1', $message->getShortMessage()); //First value goes to message
$this->assertEquals('value2', $message->getAdditional('__correctFieldName2'));
}

public function testExceptionDataFromGelfMessage()
Expand All @@ -177,7 +175,7 @@ public function testExceptionDataFromGelfMessage()
$ex, Logger::LEVEL_INFO, null, null
]);

self::assertEquals('Exception ' . get_class($ex) . ' Test message', $message->getShortMessage());
$this->assertEquals('Exception ' . get_class($ex) . ' Test message', $message->getShortMessage());
}

public function testErrorDataFromGelfMessage()
Expand All @@ -195,7 +193,63 @@ public function testErrorDataFromGelfMessage()
$ex, Logger::LEVEL_INFO, null, null
]);

self::assertEquals('Error ' . get_class($ex) . ' Test message', $message->getShortMessage());
$this->assertEquals('Error ' . get_class($ex) . ' Test message', $message->getShortMessage());
}

/**
* @dataProvider versionProvider
*/
public function testArrayMessageWithoutRequiredDataGetsFirstElementAsMessage($version)
{
/** @var GelfTarget $target */
list($target, $method) = $this->createCreateMessageMethod([
'version' => $version
]);

/** @var Message $message */
$message = $method->invoke($target, [
[
'message' => 'Test short message',
], Logger::LEVEL_INFO, null, null
]);

$validator = $target->getMessageValidator();

$reason = "";
$validateStatus = $validator->validate($message, $reason);
$this->assertTrue($validateStatus, $reason);

$this->assertEquals('Test short message', $message->getShortMessage());
}

/**
* @dataProvider versionProvider
*/
public function testArrayMessageWithoutRequiredDataWithAdditionalData($version)
{
/** @var GelfTarget $target */
list($target, $method) = $this->createCreateMessageMethod([
'version' => $version
]);

/** @var Message $message */
$message = $method->invoke($target, [
[
'message' => 'Test short message',
'additionaldata1' => 'test1',
'additionaldata2' => 'test2'
], Logger::LEVEL_INFO, null, null
]);

$validator = $target->getMessageValidator();

$reason = "";
$validateStatus = $validator->validate($message, $reason);
$this->assertTrue($validateStatus, $reason);

$this->assertEquals('Test short message', $message->getShortMessage());
$this->assertEquals('test1', $message->getAdditional('_additionaldata1'));
$this->assertEquals('test2', $message->getAdditional('_additionaldata2'));
}

protected function createCreateMessageMethod($config = null)
Expand Down Expand Up @@ -238,18 +292,18 @@ public function testMessageGenerator()

switch ($counter) {
case 1:
self::assertEquals('test message', $message);
$this->assertEquals('test message', $message);
break;
case 2:
self::assertEquals(\Exception::class, get_class($message));
$this->assertEquals(\Exception::class, get_class($message));
break;
case 3:
if ($versionMoreTheSix) {
self::assertEquals(\Error::class, get_class($message));
$this->assertEquals(\Error::class, get_class($message));
}
break;
case 4:
self::assertTrue(is_array($message));
$this->assertTrue(is_array($message));
break;
default:
throw new \Exception();
Expand Down