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

(-)a/t/db_dependent/OAI/Server.t (-11 / +38 lines)
Lines 19-25 Link Here
19
19
20
use Modern::Perl;
20
use Modern::Perl;
21
21
22
use Test::More tests => 28;
22
use Test::More tests => 29;
23
use DateTime;
23
use DateTime;
24
use Test::MockModule;
24
use Test::MockModule;
25
use Test::Warn;
25
use Test::Warn;
Lines 89-106 foreach my $index ( 0 .. NUMBER_OF_MARC_RECORDS - 1 ) { Link Here
89
    $record = GetMarcBiblio({ biblionumber => $biblionumber });
89
    $record = GetMarcBiblio({ biblionumber => $biblionumber });
90
    $record = XMLin($record->as_xml_record);
90
    $record = XMLin($record->as_xml_record);
91
    push @header, { datestamp => $timestamp, identifier => "TEST:$biblionumber" };
91
    push @header, { datestamp => $timestamp, identifier => "TEST:$biblionumber" };
92
    my $dc = {
93
        'dc:title' => "Title $index",
94
        'dc:language' => "lng",
95
        'dc:type' => {},
96
        'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
97
        'xmlns:oai_dc' => 'http://www.openarchives.org/OAI/2.0/oai_dc/',
98
        'xmlns:dc' => 'http://purl.org/dc/elements/1.1/',
99
        'xsi:schemaLocation' => 'http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd',
100
    };
101
    if (C4::Context->preference('marcflavour') eq 'UNIMARC') {
102
        $dc->{'dc:identifier'} = $biblionumber;
103
    }
92
    push @oaidc, {
104
    push @oaidc, {
93
        header => $header[$index],
105
        header => $header[$index],
94
        metadata => {
106
        metadata => {
95
            'oai_dc:dc' => {
107
            'oai_dc:dc' => $dc,
96
                'dc:title' => "Title $index",
97
                'dc:language' => "lng",
98
                'dc:type' => {},
99
                'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
100
                'xmlns:oai_dc' => 'http://www.openarchives.org/OAI/2.0/oai_dc/',
101
                'xmlns:dc' => 'http://purl.org/dc/elements/1.1/',
102
                'xsi:schemaLocation' => 'http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd',
103
            },
104
        },
108
        },
105
    };
109
    };
106
    push @marcxml, {
110
    push @marcxml, {
Lines 335-340 test_query( Link Here
335
    },
339
    },
336
});
340
});
337
341
342
subtest 'Bug 19725: OAI-PMH ListRecords and ListIdentifiers should use biblio_metadata.timestamp' => sub {
343
    plan tests => 1;
344
345
    # Wait 1 second to be sure no timestamp will be equal to $from defined below
346
    sleep 1;
347
348
    my $from_dt = DateTime->now;
349
    my $from = $from_dt->ymd . 'T' . $from_dt->hms . 'Z';
350
351
    # Modify record to trigger auto update of timestamp
352
    (my $biblionumber = $marcxml[0]->{header}->{identifier}) =~ s/^.*:(.*)/$1/;
353
    my $record = GetMarcBiblio({biblionumber => $biblionumber});
354
    $record->append_fields(MARC::Field->new(999, '', '', z => '_'));
355
    ModBiblio($record, $biblionumber);
356
357
    test_query(
358
        'ListRecords oai_dc with parameter from',
359
        { verb => 'ListRecords', metadataPrefix => 'oai_dc', from => $from },
360
        { ListRecords => {
361
            record => $oaidc[0],
362
        },
363
    });
364
};
365
338
$schema->storage->txn_rollback;
366
$schema->storage->txn_rollback;
339
367
340
sub manipulate_timestamp {
368
sub manipulate_timestamp {
341
- 

Return to bug 19725