Bug 20191: Use Test::MockTime to hold time still
The problem is the calls to HTTP::OAI::Header, etc.
may reference gmtime which is continually changing by
the second. By forcing time to lock for all the tests,
except the last one, we can be assured things should
not fail.
TEST PLAN
---------
install libtest-mocktime-perl
apply the patch
restart_all
in kshell, prove t/db_dependent/OAI/Server.t
run koha qa test tools
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit b76ad51b9d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
140d171e65
commit
232dcacb69
|
|
@ -867,6 +867,11 @@ our $PERL_DEPS = {
|
|||
'required' => '0',
|
||||
'min_ver' => '0.17',
|
||||
},
|
||||
'Test::MockTime' => {
|
||||
usage => 'Testing suite',
|
||||
required => 0,
|
||||
min_ver => '0.17',
|
||||
},
|
||||
};
|
||||
|
||||
1;
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
# along with Koha; if not, see <http://www.gnu.org/licenses>.
|
||||
|
||||
use Modern::Perl;
|
||||
use Test::MockTime qw/set_fixed_time restore_time/;
|
||||
|
||||
use Test::More tests => 29;
|
||||
use DateTime;
|
||||
|
|
@ -69,10 +70,14 @@ $dbh->do('DELETE FROM deletedbiblioitems');
|
|||
$dbh->do('DELETE FROM deleteditems');
|
||||
$dbh->do('DELETE FROM oai_sets');
|
||||
|
||||
my $date_added = DateTime->now() . 'Z';
|
||||
set_fixed_time(CORE::time());
|
||||
|
||||
my $base_datetime = DateTime->now();
|
||||
my $date_added = $base_datetime->ymd . ' ' .$base_datetime->hms . 'Z';
|
||||
my $date_to = substr($date_added, 0, 10) . 'T23:59:59Z';
|
||||
my (@header, @marcxml, @oaidc);
|
||||
my $sth = $dbh->prepare('SELECT timestamp FROM biblioitems WHERE biblionumber=?');
|
||||
my $sth = $dbh->prepare('UPDATE biblioitems SET timestamp=? WHERE biblionumber=?');
|
||||
my $sth2 = $dbh->prepare('UPDATE biblio_metadata SET timestamp=? WHERE biblionumber=?');
|
||||
|
||||
# Add biblio records
|
||||
foreach my $index ( 0 .. NUMBER_OF_MARC_RECORDS - 1 ) {
|
||||
|
|
@ -85,8 +90,10 @@ foreach my $index ( 0 .. NUMBER_OF_MARC_RECORDS - 1 ) {
|
|||
$record->append_fields( MARC::Field->new('245', '', '', 'a' => "Title $index" ) );
|
||||
}
|
||||
my ($biblionumber) = AddBiblio($record, '');
|
||||
$sth->execute($biblionumber);
|
||||
my $timestamp = $sth->fetchrow_array . 'Z';
|
||||
my $timestamp = $base_datetime->ymd . ' ' .$base_datetime->hms;
|
||||
$sth->execute($timestamp,$biblionumber);
|
||||
$sth2->execute($timestamp,$biblionumber);
|
||||
$timestamp .= 'Z';
|
||||
$timestamp =~ s/ /T/;
|
||||
$record = GetMarcBiblio({ biblionumber => $biblionumber });
|
||||
$record = XMLin($record->as_xml_record);
|
||||
|
|
@ -341,6 +348,8 @@ test_query(
|
|||
},
|
||||
});
|
||||
|
||||
restore_time();
|
||||
|
||||
subtest 'Bug 19725: OAI-PMH ListRecords and ListIdentifiers should use biblio_metadata.timestamp' => sub {
|
||||
plan tests => 1;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue