12
12
use Magento \MagentoCloud \App \Logger \LevelResolver ;
13
13
use Magento \MagentoCloud \Config \GlobalSection ;
14
14
use Magento \MagentoCloud \Config \Log as LogConfig ;
15
+ use Monolog \Handler \AbstractHandler ;
15
16
use Monolog \Handler \HandlerInterface ;
16
17
use Monolog \Handler \NativeMailerHandler ;
17
18
use Monolog \Handler \SlackHandler ;
@@ -127,22 +128,24 @@ public function testCreateGelfHandler()
127
128
}
128
129
129
130
/**
130
- * @param string $handler
131
- * @param int $repositoryMockGetExpects
131
+ * @param string $handlerName
132
132
* @param array $repositoryMockReturnMap
133
+ * @param $minLevelOverride
133
134
* @param string $expectedClass
135
+ * @param int $expectedLevel
136
+ * @throws \Exception
134
137
* @dataProvider createDataProvider
135
138
*/
136
139
public function testCreate (
137
- string $ handler ,
140
+ string $ handlerName ,
138
141
array $ repositoryMockReturnMap ,
139
142
$ minLevelOverride ,
140
143
string $ expectedClass ,
141
144
int $ expectedLevel
142
145
) {
143
146
$ this ->logConfigMock ->expects ($ this ->once ())
144
147
->method ('get ' )
145
- ->with ($ handler )
148
+ ->with ($ handlerName )
146
149
->willReturn ($ this ->repositoryMock );
147
150
$ this ->repositoryMock ->method ('get ' )
148
151
->willReturnMap ($ repositoryMockReturnMap );
@@ -156,13 +159,15 @@ public function testCreate(
156
159
[LogConfig::LEVEL_NOTICE , Logger::NOTICE ],
157
160
[LogConfig::LEVEL_INFO , Logger::INFO ],
158
161
[LogConfig::LEVEL_WARNING , Logger::WARNING ],
162
+ [LogConfig::LEVEL_DEBUG , Logger::DEBUG ],
159
163
]);
160
164
161
- $ handlerInstance = $ this ->handlerFactory ->create ($ handler );
165
+ /** @var AbstractHandler $handler */
166
+ $ handler = $ this ->handlerFactory ->create ($ handlerName );
162
167
163
- $ this ->assertInstanceOf (HandlerInterface::class, $ handlerInstance );
164
- $ this ->assertInstanceOf ($ expectedClass , $ handlerInstance );
165
- $ this ->assertSame ($ expectedLevel , $ handlerInstance ->getLevel ());
168
+ $ this ->assertInstanceOf (HandlerInterface::class, $ handler );
169
+ $ this ->assertInstanceOf ($ expectedClass , $ handler );
170
+ $ this ->assertSame ($ expectedLevel , $ handler ->getLevel ());
166
171
}
167
172
168
173
/**
@@ -172,7 +177,7 @@ public function testCreate(
172
177
public function createDataProvider ()
173
178
{
174
179
return [
175
- [
180
+ ' stream handler ' => [
176
181
'handler ' => HandlerFactory::HANDLER_STREAM ,
177
182
'repositoryMockReturnMap ' => [
178
183
['stream ' , null , 'php://stdout ' ],
@@ -183,7 +188,7 @@ public function createDataProvider()
183
188
'expectedClass ' => StreamHandler::class,
184
189
'expectedLevel ' => Logger::INFO ,
185
190
],
186
- [
191
+ ' stream handler 2 ' => [
187
192
'handler ' => HandlerFactory::HANDLER_STREAM ,
188
193
'repositoryMockReturnMap ' => [
189
194
['stream ' , null , 'php://stdout ' ],
@@ -193,18 +198,40 @@ public function createDataProvider()
193
198
'expectedClass ' => StreamHandler::class,
194
199
'expectedLevel ' => Logger::WARNING ,
195
200
],
196
- [
201
+ ' file handler default ' => [
197
202
'handler ' => HandlerFactory::HANDLER_FILE ,
198
203
'repositoryMockReturnMap ' => [
199
- ['stream ' , null , 'var/log/cloud.log ' ],
200
- ['min_level ' , LogConfig::LEVEL_NOTICE , LogConfig::LEVEL_NOTICE ],
201
- ['min_level ' , LogConfig::LEVEL_INFO , LogConfig::LEVEL_INFO ],
204
+ ['file ' , null , 'var/log/cloud.log ' ],
205
+ ['min_level ' , LogConfig::LEVEL_NOTICE , LogConfig::LEVEL_DEBUG ],
206
+ ['min_level ' , LogConfig::LEVEL_DEBUG , LogConfig::LEVEL_DEBUG ],
207
+ ],
208
+ 'minLevelOverride ' => '' ,
209
+ 'expectedClass ' => StreamHandler::class,
210
+ 'expectedLevel ' => Logger::DEBUG ,
211
+ ],
212
+ 'file handler min_level overwritten ' => [
213
+ 'handler ' => HandlerFactory::HANDLER_FILE ,
214
+ 'repositoryMockReturnMap ' => [
215
+ ['file ' , null , 'var/log/cloud.log ' ],
216
+ ['min_level ' , LogConfig::LEVEL_NOTICE , LogConfig::LEVEL_INFO ],
217
+ ['min_level ' , LogConfig::LEVEL_DEBUG , LogConfig::LEVEL_INFO ],
202
218
],
203
219
'minLevelOverride ' => '' ,
204
220
'expectedClass ' => StreamHandler::class,
205
221
'expectedLevel ' => Logger::INFO ,
206
222
],
207
- [
223
+ 'file handler MIN_LOGGING_LEVEL overwritten ' => [
224
+ 'handler ' => HandlerFactory::HANDLER_FILE ,
225
+ 'repositoryMockReturnMap ' => [
226
+ ['file ' , null , 'var/log/cloud.log ' ],
227
+ ['min_level ' , LogConfig::LEVEL_INFO , LogConfig::LEVEL_DEBUG ],
228
+ ['min_level ' , LogConfig::LEVEL_DEBUG , LogConfig::LEVEL_DEBUG ],
229
+ ],
230
+ 'minLevelOverride ' => LogConfig::LEVEL_INFO ,
231
+ 'expectedClass ' => StreamHandler::class,
232
+ 'expectedLevel ' => Logger::DEBUG ,
233
+ ],
234
+ 'slack handler ' => [
208
235
'handler ' => HandlerFactory::HANDLER_SLACK ,
209
236
'repositoryMockReturnMap ' => [
210
237
['token ' , null , 'someToken ' ],
@@ -217,7 +244,7 @@ public function createDataProvider()
217
244
'expectedClass ' => SlackHandler::class,
218
245
'expectedLevel ' => Logger::NOTICE ,
219
246
],
220
- [
247
+ ' slack handler 2 ' => [
221
248
'handler ' => HandlerFactory::HANDLER_SLACK ,
222
249
'repositoryMockReturnMap ' => [
223
250
['token ' , null , 'someToken ' ],
@@ -229,7 +256,7 @@ public function createDataProvider()
229
256
'expectedClass ' => SlackHandler::class,
230
257
'expectedLevel ' => Logger::WARNING ,
231
258
],
232
- [
259
+ ' email handler ' => [
233
260
'handler ' => HandlerFactory::HANDLER_EMAIL ,
234
261
'repositoryMockReturnMap ' => [
235
262
['to ' , null , 'user@example.com ' ],
@@ -242,7 +269,7 @@ public function createDataProvider()
242
269
'expectedClass ' => NativeMailerHandler::class,
243
270
'expectedLevel ' => Logger::NOTICE ,
244
271
],
245
- [
272
+ ' syslog handler ' => [
246
273
'handler ' => HandlerFactory::HANDLER_SYSLOG ,
247
274
'repositoryMockReturnMap ' => [
248
275
['ident ' , null , 'user@example.com ' ],
@@ -256,7 +283,7 @@ public function createDataProvider()
256
283
'expectedClass ' => SyslogHandler::class,
257
284
'expectedLevel ' => Logger::NOTICE ,
258
285
],
259
- [
286
+ ' syslog udp handler ' => [
260
287
'handler ' => HandlerFactory::HANDLER_SYSLOG_UDP ,
261
288
'repositoryMockReturnMap ' => [
262
289
['host ' , null , '127.0.0.1 ' ],
0 commit comments