2 # =============================================================================
3 # $Id: 06_retrieval.t,v 1.5 2004-07-28 08:15:47 adam Exp $
6 # =============================================================================
11 push (@INC,'demo','blib/lib','blib/arch');
17 use Test::More tests => 19;
19 # ----------------------------------------------------------------------------
20 # Session opening and closing
24 IDZebra::logFile("test06.log");
25 use_ok('IDZebra::Session');
30 # ----------------------------------------------------------------------------
31 # Session opening and closing
32 my $sess = IDZebra::Session->open(configFile => 'demo/zebra.cfg',
33 groupName => 'demo2');
34 # ----------------------------------------------------------------------------
38 my ($hits, $expected);
41 my $rs1 = $sess->search(cqlmap => 'demo/cql.map',
43 databases => [qw(demo1)]);
45 $expected = $filecount;
47 ok(($hits == $expected), "CQL search - found $hits/$expected records");
49 foreach my $rec ($rs1->records(from =>1,
51 isa_ok($rec,'IDZebra::RetrievalRecord');
54 my (@recs) = $rs1->records(from=>1,to=>1);
56 ok ($#recs == 0, "Fetched 1 record");
58 my $rec1 = shift(@recs);
60 isa_ok($rec1,'IDZebra::RetrievalRecord');
61 ok (($rec1->{errCode} == 0), "err: $rec1->{errCode}");
62 ok (($rec1->{errString} eq ""), "errString: $rec1->{errString}");
63 ok (($rec1->{position} == 1), "position: $rec1->{position}");
64 ok (($rec1->{base} eq 'demo1'), "base: $rec1->{base}");
65 ok (($rec1->{sysno}), "sysno: $rec1->{sysno}");
66 ok (($rec1->{score}), "score: $rec1->{score}");
67 ok (($rec1->{format} eq 'SUTRS'), "format: $rec1->{format}");
68 ok ((length($rec1->{buf}) > 0), "buf: ". length($rec1->{buf})." bytes");
70 # ----------------------------------------------------------------------------
71 # Close session, check for rs availability
75 eval { my ($rec2) = $rs1->records(from=>1,to=>1); };
77 ok (($@ ne ""), "Resultset is invalidated with session");
79 # ----------------------------------------------------------------------------
81 # foreach my $rec ($rs1->records()) {
82 # print STDERR "REC:$rec\n";
83 # unless ($rec->errCode) {
84 # printf ("Pos:%d, Base: %s, sysno: %d, score %d format: %s\n%s\n\n",