From 8383679bf6a76cf44c5628e1251ea089dd507c86 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Fri, 14 Jan 2022 12:47:48 -0500 Subject: [PATCH] test /queue and /status, both of which use buildListColumns --- t/Hydra/Controller/Root/queue-runner-status.t | 30 ---------- t/Hydra/Controller/Root/status.t | 56 +++++++++++++++++++ 2 files changed, 56 insertions(+), 30 deletions(-) delete mode 100644 t/Hydra/Controller/Root/queue-runner-status.t create mode 100644 t/Hydra/Controller/Root/status.t diff --git a/t/Hydra/Controller/Root/queue-runner-status.t b/t/Hydra/Controller/Root/queue-runner-status.t deleted file mode 100644 index 4c09803c..00000000 --- a/t/Hydra/Controller/Root/queue-runner-status.t +++ /dev/null @@ -1,30 +0,0 @@ -use strict; -use warnings; -use Setup; -use Data::Dumper; -my %ctx = test_init(); - -require Hydra::Schema; -require Hydra::Model::DB; -require Hydra::Helper::Nix; - -use Test2::V0; -require Catalyst::Test; -use HTTP::Request::Common; -Catalyst::Test->import('Hydra'); - -my $db = Hydra::Model::DB->new; -hydra_setup($db); - -my $project = $db->resultset('Projects')->create({name => "tests", displayname => "", owner => "root"}); - -my $jobset = createBaseJobset("basic", "basic.nix", $ctx{jobsdir}); - -ok(evalSucceeds($jobset), "Evaluating jobs/basic.nix should exit with return code 0"); - -subtest "/queue-runner-status" => sub { - my $global = request(GET '/queue-runner-status'); - ok($global->is_success, "The page showing the the queue runner status 200's."); -}; - -done_testing; diff --git a/t/Hydra/Controller/Root/status.t b/t/Hydra/Controller/Root/status.t new file mode 100644 index 00000000..94aa17b0 --- /dev/null +++ b/t/Hydra/Controller/Root/status.t @@ -0,0 +1,56 @@ +use strict; +use warnings; +use Setup; +use Data::Dumper; +use JSON::MaybeXS qw(decode_json); +my %ctx = test_init(); + +require Hydra::Schema; +require Hydra::Model::DB; +require Hydra::Helper::Nix; + +use Test2::V0; +require Catalyst::Test; +use HTTP::Request::Common; +Catalyst::Test->import('Hydra'); + +my $db = Hydra::Model::DB->new; +hydra_setup($db); + +my $project = $db->resultset('Projects')->create({name => "tests", displayname => "", owner => "root"}); + +my $jobset = createBaseJobset("basic", "basic.nix", $ctx{jobsdir}); + +ok(evalSucceeds($jobset), "Evaluating jobs/basic.nix should exit with return code 0"); + +subtest "/queue-runner-status" => sub { + my $global = request(GET '/queue-runner-status'); + ok($global->is_success, "The page showing the queue runner status 200's."); +}; + +subtest "/queue" => sub { + my $response = request(GET '/queue', Accept => 'application/json'); + ok($response->is_success, "The page showing the queue 200's."); + + my $data; + my $valid_json = lives { $data = decode_json($response->content); }; + ok($valid_json, "We get back valid JSON."); + if (!$valid_json) { + use Data::Dumper; + print STDERR Dumper $response->content; + } +}; +subtest "/status" => sub { + my $response = request(GET '/status', Accept => 'application/json'); + ok($response->is_success, "The page showing the status 200's."); + + my $data; + my $valid_json = lives { $data = decode_json($response->content); }; + ok($valid_json, "We get back valid JSON."); + if (!$valid_json) { + use Data::Dumper; + print STDERR Dumper $response->content; + } +}; + +done_testing;