@@ -342,6 +342,88 @@ public function testRavenHandlerWhenAClientIsSpecified()
342342 $ this ->assertDICConstructorArguments ($ handler , array (new Reference ('raven.client ' ), 100 , true ));
343343 }
344344
345+ public function testSentryHandlerWhenConfigurationIsWrong ()
346+ {
347+ try {
348+ $ this ->getContainer (array (array ('handlers ' => array ('sentry ' => array ('type ' => 'sentry ' )))));
349+ $ this ->fail ();
350+ } catch (InvalidConfigurationException $ e ) {
351+ $ this ->assertContains ('DSN ' , $ e ->getMessage ());
352+ }
353+ }
354+
355+ public function testSentryHandlerWhenADSNIsSpecified ()
356+ {
357+ $ dsn = 'http://43f6017361224d098402974103bfc53d:a6a0538fc2934ba2bed32e08741b2cd3@marca.python.live.cheggnet.com:9000/1 ' ;
358+
359+ $ container = $ this ->getContainer (array (array ('handlers ' => array ('sentry ' => array (
360+ 'type ' => 'sentry ' , 'dsn ' => $ dsn )
361+ ))));
362+ $ this ->assertTrue ($ container ->hasDefinition ('monolog.logger ' ));
363+ $ this ->assertTrue ($ container ->hasDefinition ('monolog.handler.sentry ' ));
364+
365+ $ logger = $ container ->getDefinition ('monolog.logger ' );
366+ $ this ->assertDICDefinitionMethodCallAt (0 , $ logger , 'useMicrosecondTimestamps ' , array ('%monolog.use_microseconds% ' ));
367+ $ this ->assertDICDefinitionMethodCallAt (1 , $ logger , 'pushHandler ' , array (new Reference ('monolog.handler.sentry ' )));
368+
369+ $ handler = $ container ->getDefinition ('monolog.handler.sentry ' );
370+ $ this ->assertDICDefinitionClass ($ handler , 'Sentry\Monolog\Handler ' );
371+ }
372+
373+ public function testSentryHandlerWhenADSNAndAClientAreSpecified ()
374+ {
375+ $ container = $ this ->getContainer (
376+ array (
377+ array (
378+ 'handlers ' => array (
379+ 'sentry ' => array (
380+ 'type ' => 'sentry ' ,
381+ 'dsn ' => 'foobar ' ,
382+ 'client_id ' => 'sentry.client ' ,
383+ ),
384+ ),
385+ ),
386+ ),
387+ array (
388+ 'sentry.client ' => new Definition ('Sentry\Client ' ),
389+ )
390+ );
391+
392+ $ logger = $ container ->getDefinition ('monolog.logger ' );
393+ $ this ->assertDICDefinitionMethodCallAt (0 , $ logger , 'useMicrosecondTimestamps ' , array ('%monolog.use_microseconds% ' ));
394+ $ this ->assertDICDefinitionMethodCallAt (1 , $ logger , 'pushHandler ' , array (new Reference ('monolog.handler.sentry ' )));
395+
396+ $ handler = $ container ->getDefinition ('monolog.handler.sentry ' );
397+ $ this ->assertDICConstructorArguments ($ handler ->getArguments ()[0 ], array (new Reference ('sentry.client ' )));
398+ }
399+
400+ public function testSentryHandlerWhenAClientIsSpecified ()
401+ {
402+ $ container = $ this ->getContainer (
403+ array (
404+ array (
405+ 'handlers ' => array (
406+ 'sentry ' => array (
407+ 'type ' =>
408+ 'sentry ' ,
409+ 'client_id ' => 'sentry.client ' ,
410+ ),
411+ ),
412+ ),
413+ ),
414+ array (
415+ 'sentry.client ' => new Definition ('Sentry\Client ' ),
416+ )
417+ );
418+
419+ $ logger = $ container ->getDefinition ('monolog.logger ' );
420+ $ this ->assertDICDefinitionMethodCallAt (0 , $ logger , 'useMicrosecondTimestamps ' , array ('%monolog.use_microseconds% ' ));
421+ $ this ->assertDICDefinitionMethodCallAt (1 , $ logger , 'pushHandler ' , array (new Reference ('monolog.handler.sentry ' )));
422+
423+ $ handler = $ container ->getDefinition ('monolog.handler.sentry ' );
424+ $ this ->assertDICConstructorArguments ($ handler ->getArguments ()[0 ], array (new Reference ('sentry.client ' )));
425+ }
426+
345427 public function testLogglyHandler ()
346428 {
347429 $ token = '026308d8-2b63-4225-8fe9-e01294b6e472 ' ;
0 commit comments