Lines 38-46
my $schema = Koha::Database->new->schema;
Link Here
|
38 |
my $builder = t::lib::TestBuilder->new; |
38 |
my $builder = t::lib::TestBuilder->new; |
39 |
|
39 |
|
40 |
subtest 'open redirection vulnerabilities in tracklinks' => sub { |
40 |
subtest 'open redirection vulnerabilities in tracklinks' => sub { |
41 |
plan tests => 30; |
41 |
plan tests => 36; |
42 |
|
|
|
43 |
$schema->storage->txn_begin; |
44 |
|
42 |
|
45 |
# No URI's |
43 |
# No URI's |
46 |
my $biblio = $builder->build_sample_biblio(); |
44 |
my $biblio = $builder->build_sample_biblio(); |
Lines 58-69
subtest 'open redirection vulnerabilities in tracklinks' => sub {
Link Here
|
58 |
$biblio = $builder->build_sample_biblio(); |
56 |
$biblio = $builder->build_sample_biblio(); |
59 |
my $biblionumber3 = $biblio->biblionumber; |
57 |
my $biblionumber3 = $biblio->biblionumber; |
60 |
$record = $biblio->metadata->record; |
58 |
$record = $biblio->metadata->record; |
61 |
$new856 = MARC::Field->new( '856', '', '', u => "www.google.com" ); |
59 |
$new856 = MARC::Field->new( '856', '', '', u => "http://www.google.com" ); |
62 |
$record->insert_fields_ordered($new856); |
60 |
$record->insert_fields_ordered($new856); |
63 |
C4::Biblio::ModBiblio( $record, $biblionumber3 ); |
61 |
C4::Biblio::ModBiblio( $record, $biblionumber3 ); |
64 |
|
62 |
|
65 |
# URI at Item level |
63 |
# URI at Item level |
66 |
my $item = $builder->build_sample_item( { uri => 'www.google.com' } ); |
64 |
my $item = $builder->build_sample_item( { uri => 'http://www.google.com' } ); |
67 |
my $itemnumber1 = $item->itemnumber; |
65 |
my $itemnumber1 = $item->itemnumber; |
68 |
|
66 |
|
69 |
# Incorrect URI at Item level |
67 |
# Incorrect URI at Item level |
Lines 132-138
subtest 'open redirection vulnerabilities in tracklinks' => sub {
Link Here
|
132 |
->status_is( 404, "404 for itemnumber containing different URI" ); |
130 |
->status_is( 404, "404 for itemnumber containing different URI" ); |
133 |
$t->get_ok( $opac . $good_itemnumber ) |
131 |
$t->get_ok( $opac . $good_itemnumber ) |
134 |
->status_is( 302, "302 for itemnumber with matching URI" ); |
132 |
->status_is( 302, "302 for itemnumber with matching URI" ); |
135 |
|
|
|
136 |
$schema->storage->txn_rollback; |
137 |
}; |
133 |
}; |
138 |
|
134 |
|
139 |
- |
|
|