use Test::More tests => 6; use File::Path; use IO::Dir; use strict; use warnings; $XML::SAX::ParserPackage = $XML::SAX::ParserPackage ||= $ENV{'NOH_ParserPackage'}; use_ok( 'Net::OAI::Harvester' ); sub xmlFiles { my $dir = IO::Dir->new(shift); my @xmlFiles; while (my $file = $dir->read()) { next if $file =~ /^\./; push @xmlFiles, $file; } return @xmlFiles; } # this test uses the dumpDir option for keeping xml files in a directory # clean up dumping ground if necessary rmtree 't/dump' if -d 't/dump'; mkdir 't/dump'; my $h = new_ok('Net::OAI::Harvester' => [ baseURL => 'http://memory.loc.gov/cgi-bin/oai2_0', dumpDir => 't/dump' ]); my $records = $h->listIdentifiers(metadataPrefix => 'oai_dc'); my $HTE; if ( my $e = $records->HTTPError() ) { $HTE = "HTTP Error ".$e->status_line; $HTE .= " [Retry-After: ".$records->HTTPRetryAfter()."]" if $e->code() == 503; } SKIP: { skip $HTE, 4 if $HTE; # look for xml files my @xmlFiles = xmlFiles('t/dump'); # is one still there? is scalar(@xmlFiles), 1, 'found an xml file'; is $xmlFiles[0], '00000000.xml', 'has the correct format'; # does it look like oai xml? open XML, "t/dump/$xmlFiles[0]"; my $xml = ''; while (my $line = ) {$xml .= $line}; close XML; like $xml, qr{