summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--t/00-load.t1
-rw-r--r--t/01-aggregator.t68
2 files changed, 53 insertions, 16 deletions
diff --git a/t/00-load.t b/t/00-load.t
index af89267..4f2d57c 100644
--- a/t/00-load.t
+++ b/t/00-load.t
@@ -6,4 +6,3 @@ use Test::More;
ok( do './foostats.pl', 'loaded foostats.pl' );
done_testing;
-
diff --git a/t/01-aggregator.t b/t/01-aggregator.t
index 1b01e02..612ee5c 100644
--- a/t/01-aggregator.t
+++ b/t/01-aggregator.t
@@ -6,30 +6,68 @@ ok( do './foostats.pl', 'loaded foostats.pl' );
# Ensure odds file exists before creating filter/aggregator
open my $odd, '>', 't/tmp_odds.txt' or die $!;
-print $odd "\n"; close $odd;
+print $odd "\n";
+close $odd;
-my $agg = Foostats::Aggregator->new('t/tmp_odds.txt', 't/tmp_filter_log');
+my $agg = Foostats::Aggregator->new( 't/tmp_odds.txt', 't/tmp_filter_log' );
my $date = 20250101;
my $events = [
- { proto => 'web', host => 'example.org', ip_hash => 'ip1', ip_proto => 'IPv4', date => $date, time => '120000', uri_path => '/gemfeed/atom.xml', status => 200 },
- { proto => 'gemini', host => 'example.org', ip_hash => 'ip2', ip_proto => 'IPv6', date => $date, time => '120100', uri_path => '/gemfeed/', status => 20 },
- { proto => 'web', host => 'example.org', ip_hash => 'ip3', ip_proto => 'IPv4', date => $date, time => '120200', uri_path => '/gemfeed/index.gmi', status => 200 },
- { proto => 'web', host => 'example.org', ip_hash => 'ip4', ip_proto => 'IPv4', date => $date, time => '120300', uri_path => '/index.html', status => 200 },
+ {
+ proto => 'web',
+ host => 'example.org',
+ ip_hash => 'ip1',
+ ip_proto => 'IPv4',
+ date => $date,
+ time => '120000',
+ uri_path => '/gemfeed/atom.xml',
+ status => 200
+ },
+ {
+ proto => 'gemini',
+ host => 'example.org',
+ ip_hash => 'ip2',
+ ip_proto => 'IPv6',
+ date => $date,
+ time => '120100',
+ uri_path => '/gemfeed/',
+ status => 20
+ },
+ {
+ proto => 'web',
+ host => 'example.org',
+ ip_hash => 'ip3',
+ ip_proto => 'IPv4',
+ date => $date,
+ time => '120200',
+ uri_path => '/gemfeed/index.gmi',
+ status => 200
+ },
+ {
+ proto => 'web',
+ host => 'example.org',
+ ip_hash => 'ip4',
+ ip_proto => 'IPv4',
+ date => $date,
+ time => '120300',
+ uri_path => '/index.html',
+ status => 200
+ },
];
$agg->add($_) for @$events;
-my $stats = $agg->{stats}{"web_" . $date};
-ok($stats, 'have web stats for date');
-use Test::More; diag("web stats: ", join(',', sort keys %{$stats->{feed_ips}{atom_feed}}));
-is( scalar(keys %{$stats->{feed_ips}{atom_feed}}), 1, 'one atom feed IP');
-is( scalar(keys %{$stats->{feed_ips}{gemfeed}}), 1, 'one gemfeed IP (from web)');
+my $stats = $agg->{stats}{ "web_" . $date };
+ok( $stats, 'have web stats for date' );
+use Test::More;
+diag( "web stats: ", join( ',', sort keys %{ $stats->{feed_ips}{atom_feed} } ) );
+is( scalar( keys %{ $stats->{feed_ips}{atom_feed} } ), 1, 'one atom feed IP' );
+is( scalar( keys %{ $stats->{feed_ips}{gemfeed} } ), 1, 'one gemfeed IP (from web)' );
-my $gstats = $agg->{stats}{"gemini_" . $date};
-ok($gstats, 'have gemini stats for date');
-diag("gemini feed keys: ", join(',', sort keys %{$gstats->{feed_ips}{gemfeed}}));
-is( scalar(keys %{$gstats->{feed_ips}{gemfeed}}), 1, 'one gemfeed IP (from gemini)');
+my $gstats = $agg->{stats}{ "gemini_" . $date };
+ok( $gstats, 'have gemini stats for date' );
+diag( "gemini feed keys: ", join( ',', sort keys %{ $gstats->{feed_ips}{gemfeed} } ) );
+is( scalar( keys %{ $gstats->{feed_ips}{gemfeed} } ), 1, 'one gemfeed IP (from gemini)' );
done_testing;