diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-09 13:19:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-09 13:20:02 +0000 |
commit | 58daab21cd043e1dc37024a7f99b396788372918 (patch) | |
tree | 96771e43bb69f7c1c2b0b4f7374cb74d7866d0cb /web/server/h2o/libh2o/t/50status.t | |
parent | Releasing debian version 1.43.2-1. (diff) | |
download | netdata-58daab21cd043e1dc37024a7f99b396788372918.tar.xz netdata-58daab21cd043e1dc37024a7f99b396788372918.zip |
Merging upstream version 1.44.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'web/server/h2o/libh2o/t/50status.t')
-rw-r--r-- | web/server/h2o/libh2o/t/50status.t | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/t/50status.t b/web/server/h2o/libh2o/t/50status.t new file mode 100644 index 000000000..64adf9604 --- /dev/null +++ b/web/server/h2o/libh2o/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(); |