1 |
#!/usr/bin/perl -w |
2 |
|
3 |
use strict; |
4 |
|
5 |
use Test::More tests => 11; |
6 |
use Test::Exception; |
7 |
use Cwd qw/abs_path/; |
8 |
use File::Temp qw/tempdir/; |
9 |
use Data::Dumper; |
10 |
use blib; |
11 |
|
12 |
BEGIN { |
13 |
use_ok( 'WebPAC::Output::Estraier' ); |
14 |
use_ok( 'WebPAC::Search::Estraier' ); |
15 |
use_ok( 'Log::Log4perl' ); |
16 |
} |
17 |
|
18 |
Log::Log4perl::init('./conf/log.conf'); |
19 |
ok(my $log = Log::Log4perl->get_logger('WebPAC.test'), "get_logger"); |
20 |
|
21 |
my $config = { |
22 |
masterurl => 'http://localhost:1978/', |
23 |
user => 'admin', |
24 |
passwd => 'admin', |
25 |
database => 'webpac2test', |
26 |
encoding => 'iso-8859-2', |
27 |
log => $log, |
28 |
debug => 0, |
29 |
}; |
30 |
|
31 |
ok(my $est = new WebPAC::Output::Estraier( %{ $config } ), "new WebPAC::Output::Estraier"); |
32 |
|
33 |
ok(my $list = $est->est_master( action => 'nodelist' ), "nodelist"); |
34 |
|
35 |
like($list , qr/$config->{database}/, "found $config->{database}"); |
36 |
|
37 |
my $ds = { |
38 |
'Source' => { |
39 |
'name' => 'Izvor: ', |
40 |
'tag' => 'Source', |
41 |
'display' => [ 'foo' ], |
42 |
'search' => [ 'demo source '], |
43 |
}, |
44 |
'ID' => { |
45 |
'name' => 'ID', |
46 |
'tag' => 'IDths', |
47 |
'search' => [ 'bar' ], |
48 |
'lookup_key' => [ 'bar' ], |
49 |
}, |
50 |
'filename' => [ 'out/thes/001.html' ], |
51 |
'name' => 'filename', |
52 |
'tag' => 'filename' |
53 |
}; |
54 |
|
55 |
ok($est->add( id => 42, ds => $ds, type => 'search' ), "add"); |
56 |
|
57 |
ok($est = new WebPAC::Search::Estraier( %{ $config } ), "new WebPAC::Search::Estraier"); |
58 |
|
59 |
my $query = 'demo'; |
60 |
my $max = 1; |
61 |
|
62 |
ok(my @res = $est->search( |
63 |
phrase => $query, |
64 |
get_attr => [ qw/ID Source/ ], |
65 |
max => $max, |
66 |
), "search $query, max: $max"); |
67 |
|
68 |
cmp_ok(($#res + 1), '==', $max, "$max hits"); |
69 |
|
70 |
diag Dumper(\@res); |
71 |
|