File: 01collector.t

package info (click to toggle)
libmetrics-any-perl 0.10-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 220 kB
  • sloc: perl: 1,295; makefile: 2
file content (81 lines) | stat: -rw-r--r-- 1,970 bytes parent folder | download
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;