1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
#!/usr/bin/perl
use v5.14;
use warnings;
use Test2::V0;
use Metrics::Any '$metrics', strict => 1;
ok( defined $metrics, '$metrics global is defined' );
# counter
{
can_ok( $metrics,
qw( make_counter inc_counter inc_counter_by ));
$metrics->make_counter( c => );
ok( dies { $metrics->make_counter( c => ) },
'Fails duplicate registration of counter' );
ok( !dies { $metrics->inc_counter( c => ) },
'Can report to registered counter' );
ok( dies { $metrics->inc_counter( c2 => ) },
'Fails attempt to report to unregistered counter' );
}
# distribution
{
can_ok( $metrics,
qw( make_distribution report_distribution ));
$metrics->make_distribution( d => );
ok( dies { $metrics->make_distribution( d => ) },
'Fails registration of distribution' );
ok( !dies { $metrics->report_distribution( d => 5 ) },
'Can report to registered distribution' );
ok( dies { $metrics->report_distribution( d2 => 5 ) },
'Fails attempt to report to unregistered distribution' );
}
# gauge
{
can_ok( $metrics,
qw( make_gauge inc_gauge inc_gauge_by dec_gauge_by dec_gauge set_gauge_to ));
$metrics->make_gauge( g => );
ok( dies { $metrics->make_gauge( g => ) },
'Fails duplicate registration of gauge' );
ok( !dies { $metrics->inc_gauge( g => ) },
'Can report to registered gauge' );
ok( dies { $metrics->inc_gauge( g2 => ) },
'Fails attempt to report to unregistered gauge' );
}
# timer
{
can_ok( $metrics,
qw( make_timer report_timer ));
$metrics->make_timer( t => );
ok( dies { $metrics->make_timer( t => ) },
'Fails duplicate registration of timer' );
ok( !dies { $metrics->report_timer( t => ) },
'Can report to registered timer' );
ok( dies { $metrics->report_timer( t2 => ) },
'Fails attempt to report to unregistered timer' );
}
# misc
{
is( $metrics->package, "main", '$metrics->package' );
}
done_testing;
|