summaryrefslogtreecommitdiffstats
path: root/debian/vendor-h2o/t/50status.t
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 21:12:02 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 21:12:02 +0000
commit77e50caaf2ef81cd91075cf836fed0e75718ffb4 (patch)
tree53b7b411290b63192fc9e924a3b6b65cdf67e9d0 /debian/vendor-h2o/t/50status.t
parentAdding upstream version 1.8.3. (diff)
downloaddnsdist-77e50caaf2ef81cd91075cf836fed0e75718ffb4.tar.xz
dnsdist-77e50caaf2ef81cd91075cf836fed0e75718ffb4.zip
Adding debian version 1.8.3-2.debian/1.8.3-2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--debian/vendor-h2o/t/50status.t88
1 files changed, 88 insertions, 0 deletions
diff --git a/debian/vendor-h2o/t/50status.t b/debian/vendor-h2o/t/50status.t
new file mode 100644
index 0000000..64adf96
--- /dev/null
+++ b/debian/vendor-h2o/t/50status.t
@@ -0,0 +1,88 @@
+use strict;
+use warnings;
+use Test::More;
+use t::Util;
+use JSON;
+
+plan skip_all => 'curl not found'
+ unless prog_exists('curl');
+
+subtest "default json handler" => sub {
+ my $server = spawn_h2o(<< "EOT");
+hosts:
+ default:
+ paths:
+ /:
+ file.dir: @{[ DOC_ROOT ]}
+ /s:
+ status: ON
+EOT
+
+ my $resp = `curl --silent -o /dev/stderr http://127.0.0.1:$server->{port}/s/json 2>&1 > /dev/null`;
+ my $jresp = decode_json("$resp");
+ my @requests = @{$jresp->{'requests'}};
+ is $jresp->{'connections'}, 1, "One connection";
+ is scalar @requests, 1, "One request";
+};
+
+subtest "json hander without requests" => sub {
+ my $server = spawn_h2o(<< "EOT");
+hosts:
+ default:
+ paths:
+ /:
+ file.dir: @{[ DOC_ROOT ]}
+ /s:
+ status: ON
+EOT
+
+ my $resp = `curl --silent -o /dev/stderr 'http://127.0.0.1:$server->{port}/s/json?show=main,events' 2>&1 > /dev/null`;
+ my $jresp = decode_json("$resp");
+ is $jresp->{'connections'}, 1, "One connection";
+ is $jresp->{'requests'}, undef, "Requests not present";
+ is $jresp->{'status-errors.404'}, 0, "Internal errors monitoring";
+};
+
+subtest "json hander check 404 error counter" => sub {
+ my $server = spawn_h2o(<< "EOT");
+hosts:
+ default:
+ paths:
+ /:
+ file.dir: @{[ DOC_ROOT ]}
+ /s:
+ status: ON
+EOT
+ my $resp = `curl --silent -o /dev/stderr 'http://127.0.0.1:$server->{port}/beeb98fcf148317be5fe5d763c658bc9ea9c087a' 2>&1 > /dev/null`;
+ my $resp = `curl --silent -o /dev/stderr 'http://127.0.0.1:$server->{port}/s/json?show=events' 2>&1 > /dev/null`;
+ my $jresp = decode_json("$resp");
+ is $jresp->{'connections'}, undef, "Connections not present";
+ is $jresp->{'requests'}, undef, "Requests not present";
+ is $jresp->{'status-errors.404'}, 1, "Found the 404 error";
+};
+
+subtest "duration stats" => sub {
+ my $server = spawn_h2o(<< "EOT");
+duration-stats: ON
+hosts:
+ default:
+ paths:
+ /:
+ file.dir: @{[ DOC_ROOT ]}
+ /s:
+ status: ON
+EOT
+
+ my $resp = `curl --silent -o /dev/stderr http://127.0.0.1:$server->{port}/s/json?noreqs 2>&1 > /dev/null`;
+ my $jresp = decode_json("$resp");
+ my @nr_requests = @{ $jresp->{'requests'} };
+ is $jresp->{'connections'}, 1, "One connection";
+ is scalar @nr_requests, 1, "One request";
+ is $jresp->{'status-errors.404'}, 0, "Additional errors";
+ is $jresp->{'connect-time-0'}, 0, "Duration stats";
+};
+
+
+
+
+done_testing();