Test that each page listing evals works

[?]
Jun 16, 2021, 3:20 PM
LQDK2TS5T3NKKPU54O5KMS6PV6X7AQ6JCVQKZRR4FHCWA6BBKPYQC

Dependencies

  • [2] MQLCUSZL Test the fake derivations channel, asserting nested packages are properly represented.

Change contents

  • file addition: Build (d--r------)
    [2.451]
  • file addition: evals.t (----------)
    [0.1]
    use strict;
    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");
    is(nrQueuedBuildsForJobset($jobset), 3, "Evaluating jobs/basic.nix should result in 3 builds");
    my ($build, @builds) = queuedBuildsForJobset($jobset);
    ok(runBuild($build), "Build '".$build->job."' from jobs/basic.nix should exit with code 0");
    subtest "/build/ID/evals" => sub {
    my $evals = request(GET '/build/' . $build->id . '/evals');
    ok($evals->is_success, "The page listing evaluations this build is part of returns 200.");
    };
    done_testing;
  • file addition: evals.t (----------)
    [2.475]
    use strict;
    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 "/jobset/PROJECT/JOBSET" => sub {
    my $jobset = request(GET '/jobset/' . $project->name . '/' . $jobset->name);
    ok($jobset->is_success, "The page showing the jobset returns 200.");
    };
    subtest "/jobset/PROJECT/JOBSET/evals" => sub {
    my $jobsetevals = request(GET '/jobset/' . $project->name . '/' . $jobset->name . '/evals');
    ok($jobsetevals->is_success, "The page showing the jobset evals returns 200.");
    };
    done_testing;
  • file addition: Root (d--r------)
    [2.451]
  • file addition: evals.t (----------)
    [0.2122]
    use strict;
    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 "/evals" => sub {
    my $global = request(GET '/evals');
    ok($global->is_success, "The page showing the all evals returns 200.");
    };
    done_testing;