Lines 7-12
use Test::WWW::Mechanize;
Link Here
|
7 |
use t::lib::Mocks qw(mock_preference); |
7 |
use t::lib::Mocks qw(mock_preference); |
8 |
|
8 |
|
9 |
use File::Basename; |
9 |
use File::Basename; |
|
|
10 |
use File::Copy; |
10 |
use XML::LibXML; |
11 |
use XML::LibXML; |
11 |
use YAML; |
12 |
use YAML; |
12 |
use ZOOM; |
13 |
use ZOOM; |
Lines 81-90
subtest 'test_search' => sub {
Link Here
|
81 |
$child = fork(); |
82 |
$child = fork(); |
82 |
if ($child == 0) { |
83 |
if ($child == 0) { |
83 |
my $config_dir = dirname(__FILE__) . '/'; |
84 |
my $config_dir = dirname(__FILE__) . '/'; |
|
|
85 |
# Copy pqf.properties from etc/z3950 |
86 |
copy($config_dir . '../../../../etc/z3950/pqf.properties', $config_dir . 'pqf.properties') || die "Copying pqf.properties failed: $!"; |
84 |
my $z = Koha::Z3950Responder->new( { |
87 |
my $z = Koha::Z3950Responder->new( { |
85 |
config_dir => $config_dir |
88 |
config_dir => $config_dir |
86 |
}); |
89 |
}); |
87 |
$z->start(); |
90 |
$z->start(); |
|
|
91 |
unlink($config_dir . 'pqf.properties'); |
88 |
exit; |
92 |
exit; |
89 |
} |
93 |
} |
90 |
sleep(1); |
94 |
sleep(1); |
Lines 116-136
subtest 'test_search' => sub {
Link Here
|
116 |
|
120 |
|
117 |
# SRU protocol tests |
121 |
# SRU protocol tests |
118 |
my $base = 'http://localhost:42111'; |
122 |
my $base = 'http://localhost:42111'; |
119 |
my $ns = 'http://docs.oasis-open.org/ns/search-ws/sruResponse'; |
123 |
my $ns = 'http://www.loc.gov/zing/srw/'; |
120 |
my $marc_ns = 'http://www.loc.gov/MARC21/slim'; |
124 |
my $marc_ns = 'http://www.loc.gov/MARC21/slim'; |
121 |
my $agent = Test::WWW::Mechanize->new( autocheck => 1 ); |
125 |
my $agent = Test::WWW::Mechanize->new( autocheck => 1 ); |
122 |
|
126 |
|
123 |
$agent->get_ok("$base", 'Retrieve explain response'); |
127 |
$agent->get_ok("$base?version=1.1", 'Retrieve explain response'); |
124 |
my $dom = XML::LibXML->load_xml(string => $agent->content()); |
128 |
my $dom = XML::LibXML->load_xml(string => $agent->content()); |
125 |
my @nodes = $dom->getElementsByTagNameNS($ns, 'explainResponse'); |
129 |
my @nodes = $dom->getElementsByTagNameNS($ns, 'explainResponse'); |
126 |
is(scalar(@nodes), 1, 'explainResponse returned'); |
130 |
is(scalar(@nodes), 1, 'explainResponse returned'); |
127 |
|
131 |
|
128 |
$agent->get_ok("$base/biblios?operation=searchRetrieve&recordSchema=marcxml&maximumRecords=10&query=", 'Try bad search query'); |
132 |
$agent->get_ok("$base/biblios?operation=searchRetrieve&recordSchema=marcxml&version=1.1&maximumRecords=10&query=", 'Try bad search query'); |
129 |
$dom = XML::LibXML->load_xml(string => $agent->content()); |
133 |
$dom = XML::LibXML->load_xml(string => $agent->content()); |
130 |
@nodes = $dom->getElementsByTagNameNS($ns, 'diagnostics'); |
134 |
@nodes = $dom->getElementsByTagNameNS($ns, 'diagnostics'); |
131 |
is(scalar(@nodes), 1, 'diagnostics returned for bad query'); |
135 |
is(scalar(@nodes), 1, 'diagnostics returned for bad query'); |
132 |
|
136 |
|
133 |
$agent->get_ok("$base/biblios?operation=searchRetrieve&recordSchema=marcxml&maximumRecords=10&query=(dc.author%3dauthor AND (dc.title%3d\"title(s)\" OR dc.title%3danother))", 'Retrieve search results'); |
137 |
$agent->get_ok("$base/biblios?operation=searchRetrieve&recordSchema=marcxml&version=1.1&maximumRecords=10&query=(dc.author%3dauthor AND (dc.title%3d\"title(s)\" OR dc.title%3danother))", 'Retrieve search results'); |
134 |
$dom = XML::LibXML->load_xml(string => $agent->content()); |
138 |
$dom = XML::LibXML->load_xml(string => $agent->content()); |
135 |
@nodes = $dom->getElementsByTagNameNS($ns, 'searchRetrieveResponse'); |
139 |
@nodes = $dom->getElementsByTagNameNS($ns, 'searchRetrieveResponse'); |
136 |
is(scalar(@nodes), 1, 'searchRetrieveResponse returned'); |
140 |
is(scalar(@nodes), 1, 'searchRetrieveResponse returned'); |