|
8 | 8 |
|
9 | 9 | class GelfMessageTest extends Orchestra |
10 | 10 | { |
11 | | - public function messagePrefixProvider(): array |
| 11 | + /** @test */ |
| 12 | + public function it_should_append_prefixes(): void |
12 | 13 | { |
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()); |
71 | 34 | } |
72 | 35 |
|
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 |
80 | 38 | { |
81 | | - $loggerConfig = [ |
| 39 | + $this->app['config']->set('logging.channels.gelf', [ |
82 | 40 | 'system_name' => 'my-system-namex', |
83 | 41 | '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 | + ]); |
90 | 44 |
|
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 | + ]); |
94 | 52 |
|
95 | | - $this->app['config']->set('logging.channels.gelf', $loggerConfig); |
| 53 | + $this->assertArrayHasKey('ip', $formattedMessage->getAllAdditionals()); |
| 54 | + $this->assertArrayHasKey('id', $formattedMessage->getAllAdditionals()); |
| 55 | + } |
96 | 56 |
|
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 | + ]); |
98 | 67 |
|
99 | | - $formattedMessage = $logger->getHandlers()[0]->getFormatter()->format([ |
| 68 | + $formattedMessage = Log::channel('gelf')->getHandlers()[0]->getFormatter()->format([ |
100 | 69 | 'datetime' => '1591097093.0', |
101 | 70 | 'message' => 'test', |
102 | 71 | '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'] |
105 | 74 | ]); |
106 | 75 |
|
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()); |
109 | 78 | } |
110 | 79 | } |
0 commit comments