Catalyst-Plugin-PrometheusTiny
view release on metacpan or search on metacpan
t/lib/TestApp/Helper.pm view on Meta::CPAN
package TestApp::Helper;
use warnings;
use strict;
use Test::More;
use Test::Deep;
use HTTP::Request::Common;
use Plack::Test;
use TestApp;
sub get_metrics {
my ( $test, $endpoint ) = @_;
my $res = $test->request( GET $endpoint );
return [ grep { $_ !~ /^#/ } split /\n/, $res->content ];
}
sub run {
my ( $config, $endpoint, $expect ) = @_;
TestApp->config( 'Plugin::PrometheusTiny' => $config );
TestApp->setup;
my $app = TestApp->psgi_app;
my $test = Plack::Test->create($app);
my $got = get_metrics( $test, $endpoint );
cmp_deeply $got, [], "We start with no metrics"
or diag explain $got;
ok my $res = $test->request( GET "/" ), "GET /";
is $res->content, "Hello World", "... and content is as expected";
$got = get_metrics( $test, $endpoint );
cmp_deeply $got,
$expect,
"... and metrics are as expected"
or diag explain $got;
}
1;
( run in 0.883 second using v1.01-cache-2.11-cpan-39bf76dae61 )