Skip to content

Commit efef84d

Browse files
authored
Merge pull request #21 from rytisder/feature/refactor-gelf-tests
Refactor: do not use dataProver for Gelf message test
2 parents a54ac53 + ac94dbe commit efef84d

File tree

1 file changed

+52
-83
lines changed

1 file changed

+52
-83
lines changed

tests/GelfMessageTest.php

Lines changed: 52 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -8,103 +8,72 @@
88

99
class GelfMessageTest extends Orchestra
1010
{
11-
public function messagePrefixProvider(): array
11+
/** @test */
12+
public function it_should_append_prefixes(): void
1213
{
13-
return [
14-
'Add context and extra prefix' => [
15-
'parameters' => [
16-
'context_prefix' => 'ctxt_',
17-
'context_variable' => 'id',
18-
'extra_prefix' => 'extra_',
19-
'extra_variable' => 'ip'
20-
],
21-
'expected_response' => [
22-
'context_response' => 'ctxt_id',
23-
'extra_response' => 'extra_ip'
24-
]
25-
],
26-
'Empty context and extra config values' => [
27-
'parameters' => [
28-
'context_variable' => 'id',
29-
'extra_variable' => 'ip'
30-
],
31-
'expected_response' => [
32-
'context_response' => 'id',
33-
'extra_response' => 'ip'
34-
]
35-
],
36-
'Empty extra config value' => [
37-
'parameters' => [
38-
'context_prefix' => 'ctxt_',
39-
'context_variable' => 'id',
40-
'extra_variable' => 'ip'
41-
],
42-
'expected_response' => [
43-
'context_response' => 'ctxt_id',
44-
'extra_response' => 'ip'
45-
]
46-
],
47-
'Empty context config value' => [
48-
'parameters' => [
49-
'context_variable' => 'id',
50-
'extra_variable' => 'ip',
51-
'extra_prefix' => 'extra_'
52-
],
53-
'expected_response' => [
54-
'context_response' => 'id',
55-
'extra_response' => 'extra_ip'
56-
]
57-
],
58-
'Null context and extra config values' => [
59-
'parameters' => [
60-
'context_prefix' => null,
61-
'context_variable' => 'id',
62-
'extra_prefix' => null,
63-
'extra_variable' => 'ip'
64-
],
65-
'expected_response' => [
66-
'context_response' => 'id',
67-
'extra_response' => 'ip'
68-
]
69-
],
70-
];
14+
$this->app['config']->set('logging.channels.gelf', [
15+
'system_name' => 'my-system-namex',
16+
'driver' => 'custom',
17+
'via' => GelfLoggerFactory::class,
18+
'context_prefix' => 'ctxt_',
19+
'extra_prefix' => 'extra_'
20+
]);
21+
22+
$formattedMessage = Log::channel('gelf')->getHandlers()[0]->getFormatter()->format([
23+
'datetime' => '1591097093.0',
24+
'message' => 'test',
25+
'level' => 100,
26+
'extra' => ['ip' => '127.0.0.1', 'source' => 'tests'],
27+
'context' => ['id' => '777', 'message' => 'custom']
28+
]);
29+
30+
$this->assertArrayHasKey('extra_ip', $formattedMessage->getAllAdditionals());
31+
$this->assertArrayHasKey('extra_source', $formattedMessage->getAllAdditionals());
32+
$this->assertArrayHasKey('ctxt_id', $formattedMessage->getAllAdditionals());
33+
$this->assertArrayHasKey('ctxt_message', $formattedMessage->getAllAdditionals());
7134
}
7235

73-
/**
74-
* @test
75-
* @dataProvider messagePrefixProvider
76-
* @param array $parameters
77-
* @param array $expectedResponse
78-
*/
79-
public function it_should_append_prefixes_to_gelf_message_variables(array $parameters, array $expectedResponse): void
36+
/** @test */
37+
public function it_should_not_append_prefixes(): void
8038
{
81-
$loggerConfig = [
39+
$this->app['config']->set('logging.channels.gelf', [
8240
'system_name' => 'my-system-namex',
8341
'driver' => 'custom',
84-
'via' => GelfLoggerFactory::class,
85-
];
86-
87-
if (isset($parameters['context_prefix'])) {
88-
$loggerConfig['context_prefix'] = $parameters['context_prefix'];
89-
}
42+
'via' => GelfLoggerFactory::class
43+
]);
9044

91-
if (isset($parameters['extra_prefix'])) {
92-
$loggerConfig['extra_prefix'] = $parameters['extra_prefix'];
93-
}
45+
$formattedMessage = Log::channel('gelf')->getHandlers()[0]->getFormatter()->format([
46+
'datetime' => '1591097093.0',
47+
'message' => 'test',
48+
'level' => 100,
49+
'extra' => ['ip' => '127.0.0.1'],
50+
'context' => ['id' => '777']
51+
]);
9452

95-
$this->app['config']->set('logging.channels.gelf', $loggerConfig);
53+
$this->assertArrayHasKey('ip', $formattedMessage->getAllAdditionals());
54+
$this->assertArrayHasKey('id', $formattedMessage->getAllAdditionals());
55+
}
9656

97-
$logger = Log::channel('gelf');
57+
/** @test */
58+
public function null_config_variables_should_not_add_prefixes(): void
59+
{
60+
$this->app['config']->set('logging.channels.gelf', [
61+
'system_name' => 'my-system-namex',
62+
'driver' => 'custom',
63+
'via' => GelfLoggerFactory::class,
64+
'context_prefix' => null,
65+
'extra_prefix' => null
66+
]);
9867

99-
$formattedMessage = $logger->getHandlers()[0]->getFormatter()->format([
68+
$formattedMessage = Log::channel('gelf')->getHandlers()[0]->getFormatter()->format([
10069
'datetime' => '1591097093.0',
10170
'message' => 'test',
10271
'level' => 100,
103-
'extra' => [$parameters['extra_variable'] => '127.0.0.1'],
104-
'context' => [$parameters['context_variable'] => '777']
72+
'extra' => ['ip' => '127.0.0.1'],
73+
'context' => ['id' => '777']
10574
]);
10675

107-
$this->assertArrayHasKey($expectedResponse['extra_response'], $formattedMessage->getAllAdditionals());
108-
$this->assertArrayHasKey($expectedResponse['context_response'], $formattedMessage->getAllAdditionals());
76+
$this->assertArrayHasKey('ip', $formattedMessage->getAllAdditionals());
77+
$this->assertArrayHasKey('id', $formattedMessage->getAllAdditionals());
10978
}
11079
}

0 commit comments

Comments
 (0)