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