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 82 83 84 85 86 87 88 89 90 91 92
|
#!/usr/bin/perl
use v5.14;
use warnings;
use Test2::V0;
use Net::Prometheus::Metric;
{
is( Net::Prometheus::Metric->new(
name => "basename",
help => "",
)->fullname,
"basename",
'fullname for name only'
);
is( Net::Prometheus::Metric->new(
subsystem => "subsys",
name => "basename",
help => "",
)->fullname,
"subsys_basename",
'fullname for subsystem+name'
);
is( Net::Prometheus::Metric->new(
namespace => "namesp",
name => "basename",
help => "",
)->fullname,
"namesp_basename",
'fullname for namespace+name'
);
is( Net::Prometheus::Metric->new(
namespace => "namesp",
subsystem => "subsys",
name => "basename",
help => "",
)->fullname,
"namesp_subsys_basename",
'fullname for namespace+subsystem+name'
);
}
# samples
{
my $metric = Net::Prometheus::Metric->new(
name => "basename",
help => "",
);
my $sample = $metric->make_sample( undef, "", 123 );
is( $sample->varname, "basename", '$sample->varname' );
is( $sample->labels, [], '$sample->labels' );
is( $sample->value, 123, '$sample->value' );
is( $metric->make_sample( "suffix", "", 456 )->varname,
"basename_suffix",
'$sample->varname with suffix',
);
}
# exceptions
{
ok( dies {
Net::Prometheus::Metric->new(
name => "with_no_help",
)
}, 'Metric without help dies'
);
ok( dies {
Net::Prometheus::Metric->new(
help => "This metric lacks a name",
)
}, 'Metric without name dies'
);
ok( dies {
Net::Prometheus::Metric->new(
name => "hello/world",
help => "",
)
}, 'Invalid metric name dies'
);
}
done_testing;
|