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

(-)a/t/db_dependent/OAI/Server.t (-4 / +18 lines)
Lines 47-52 BEGIN { Link Here
47
    use_ok('Koha::OAI::Server::ResumptionToken');
47
    use_ok('Koha::OAI::Server::ResumptionToken');
48
}
48
}
49
49
50
use constant NUMBER_OF_MARC_RECORDS => 10;
51
50
# Mocked CGI module in order to be able to send CGI parameters to OAI Server
52
# Mocked CGI module in order to be able to send CGI parameters to OAI Server
51
my %param;
53
my %param;
52
my $module = Test::MockModule->new('CGI');
54
my $module = Test::MockModule->new('CGI');
Lines 64-77 my $date_to = substr($date_added, 0, 10) . 'T23:59:59Z'; Link Here
64
my (@header, @marcxml, @oaidc);
66
my (@header, @marcxml, @oaidc);
65
my $sth = $dbh->prepare('SELECT timestamp FROM biblioitems WHERE biblionumber=?');
67
my $sth = $dbh->prepare('SELECT timestamp FROM biblioitems WHERE biblionumber=?');
66
68
67
# Add 10 biblio records
69
# Add biblio records
68
foreach my $index ( 0..9 ) {
70
foreach my $index ( 0 .. NUMBER_OF_MARC_RECORDS - 1 ) {
69
    my $record = MARC::Record->new();
71
    my $record = MARC::Record->new();
70
    $record->append_fields( MARC::Field->new('245', '', '', 'a' => "Title $index" ) );
72
    $record->append_fields( MARC::Field->new('245', '', '', 'a' => "Title $index" ) );
71
    my ($biblionumber) = AddBiblio($record, '');
73
    my ($biblionumber) = AddBiblio($record, '');
72
    $sth->execute($biblionumber);
74
    $sth->execute($biblionumber);
73
    my $timestamp = $sth->fetchrow_array . 'Z';
75
    my $timestamp = $sth->fetchrow_array . 'Z';
74
    $timestamp =~ s/ /T/;
76
    $timestamp =~ s/ /T/;
77
    $timestamp = manipulate_timestamp( $index, $biblionumber, $timestamp );
75
    $record = GetMarcBiblio($biblionumber);
78
    $record = GetMarcBiblio($biblionumber);
76
    $record = XMLin($record->as_xml_record);
79
    $record = XMLin($record->as_xml_record);
77
    push @header, { datestamp => $timestamp, identifier => "TEST:$biblionumber" };
80
    push @header, { datestamp => $timestamp, identifier => "TEST:$biblionumber" };
Lines 109-115 foreach my $index ( 0..9 ) { Link Here
109
            },
112
            },
110
        },
113
        },
111
    };
114
    };
112
    sleep 2; # FIXME Why do we need this sleep?
113
}
115
}
114
116
115
my $syspref = {
117
my $syspref = {
Lines 340-342 test_query( Link Here
340
});
342
});
341
343
342
$schema->storage->txn_rollback;
344
$schema->storage->txn_rollback;
343
- 
345
346
sub manipulate_timestamp {
347
# This eliminates waiting a few seconds in order to get a higher timestamp
348
    my ( $index, $bibno, $timestamp ) = @_;
349
    my ( $year ) = $timestamp =~ /(\d{4})/;
350
    return $timestamp if !$year; # bad luck
351
    $year += $index - NUMBER_OF_MARC_RECORDS;
352
    $timestamp =~ s/\d{4}/$year/;
353
    $timestamp =~ s/02-29T/02-28T/; # paranoid programmer
354
    $dbh->do("UPDATE biblioitems SET timestamp=? WHERE biblionumber=?", undef,
355
        ( $timestamp, $bibno ));
356
    return $timestamp;
357
}

Return to bug 15108