View | Details | Raw Unified | Return to bug 30524
Collapse All | Expand All

(-)a/t/Output.t (-2 / +39 lines)
Lines 17-32 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 7;
20
use Test::More tests => 8;
21
use Test::Warn;
21
use Test::Warn;
22
use Test::MockModule;
23
24
use File::Temp qw/tempfile/;
22
use CGI qw ( -utf8 );
25
use CGI qw ( -utf8 );
23
26
27
use C4::Auth qw( get_template_and_user );
28
24
use t::lib::Mocks;
29
use t::lib::Mocks;
25
30
26
BEGIN {
31
BEGIN {
27
    use_ok('C4::Output', qw( output_html_with_http_headers parametrized_url  ));
32
    use_ok('C4::Output', qw( output_html_with_http_headers output_and_exit_if_error parametrized_url ));
28
}
33
}
29
34
35
our $output_module = Test::MockModule->new('C4::Output');
36
30
my $query = CGI->new();
37
my $query = CGI->new();
31
my $cookie;
38
my $cookie;
32
my $output = 'foobarbaz';
39
my $output = 'foobarbaz';
Lines 93-95 subtest 'output_with_http_headers() tests' => sub { Link Here
93
    like($stdout, qr/Access-control-allow-origin: https:\/\/koha-community\.org/, 'Header set to https://koha-community.org');
100
    like($stdout, qr/Access-control-allow-origin: https:\/\/koha-community\.org/, 'Header set to https://koha-community.org');
94
    close STDOUT;
101
    close STDOUT;
95
};
102
};
103
104
subtest 'output_and_exit_if_error() tests' => sub {
105
    plan tests => 1;
106
107
    $output_module->mock(
108
        'output_and_exit',
109
        sub {
110
            my ( $query, $cookie, $template, $error ) = @_;
111
            is( $error, 'wrong_csrf_token', 'Got right error message' );
112
        }
113
    );
114
115
    t::lib::Mocks::mock_config( 'pluginsdir', [ C4::Context::temporary_directory ] );
116
    my ( $fh, $fn ) = tempfile( SUFFIX => '.tt', UNLINK => 1, DIR => C4::Context::temporary_directory );
117
    print $fh qq|[% blocking_error %]|;
118
    close $fh;
119
120
    my $query = CGI->new();
121
    $query->param('csrf_token','');
122
    my ( $template, $loggedinuser, $cookies ) = get_template_and_user(
123
        {
124
            template_name   => $fn,
125
            query           => $query,
126
            type            => "intranet",
127
            authnotrequired => 1,
128
        }
129
    );
130
    # Next call triggers test in the mocked sub
131
    output_and_exit_if_error($query, $cookie, $template, { check => 'csrf_token' });
132
};
(-)a/t/db_dependent/Auth.t (-1 / +1 lines)
Lines 602-607 subtest 'get_template_and_user' => sub { # Tests for the language URL paramete Link Here
602
    );
602
    );
603
    is($template->{VARS}->{'opac_name'}, "multibranch-19", "Opac name was set correctly");
603
    is($template->{VARS}->{'opac_name'}, "multibranch-19", "Opac name was set correctly");
604
    is($template->{VARS}->{'opac_search_limit'}, "branch:multibranch-19", "Search limit was set correctly");
604
    is($template->{VARS}->{'opac_search_limit'}, "branch:multibranch-19", "Search limit was set correctly");
605
    ok(defined($template->{VARS}->{'csrf_token'}), "CSRF token returned");
605
606
606
    delete $ENV{"HTTP_COOKIE"};
607
    delete $ENV{"HTTP_COOKIE"};
607
};
608
};
608
- 

Return to bug 30524