049cc47f5e7c80c9d5c33cf3ef07d6217dc4f0d8
[idzebra-moved-to-github.git] / perl / t / 03_record_update.t
1 #!perl
2 # =============================================================================
3 # $Id: 03_record_update.t,v 1.9 2004-09-09 15:23:07 heikki Exp $
4 #
5 # Perl API header
6 # =============================================================================
7 BEGIN {
8     if ($ENV{PERL_CORE}) {
9         chdir 't' if -d 't';
10     }
11     unshift (@INC,'demo','blib/lib','blib/arch');
12 }
13
14 use strict;
15 use warnings;
16
17 use Test::More tests => 18;
18
19 # ----------------------------------------------------------------------------
20 # Session opening and closing
21 BEGIN {
22     use_ok('IDZebra');
23     unlink("test03.log");
24     IDZebra::logFile("test03.log");
25     use_ok('IDZebra::Session'); 
26     use_ok('pod');
27 }
28
29
30 # ----------------------------------------------------------------------------
31 # Session opening and closing
32 my $sess = IDZebra::Session->open(configFile => 'demo/zebra.cfg',
33                                   groupName => 'demo2',
34                                   shadow    => 1);
35 isa_ok($sess,"IDZebra::Session");
36
37 # ----------------------------------------------------------------------------
38 # per record update
39 my $rec1=`cat lib/IDZebra/Data1.pm`;
40 my $rec2=`cat lib/IDZebra/Filter.pm`;
41 my $rec3=`cat lib/IDZebra/Session.pm`;
42
43 my ($sysno, $stat, $ret);
44
45 $sess->init;
46
47 # ADAM: we must set database separately (cant be set from group)
48 $sess->databases('demo1');
49
50 $sess->begin_trans;
51 ($ret,$sysno) = $sess->insert_record(data       => $rec1,
52                               recordType => 'grs.perl.pod',
53                               groupName  => "demo1",
54                               );
55
56 print STDERR "\nAfter first insert_record. ret=$ret sysno=$sysno\n";
57
58 ok(($ret == 0),"Must return ret=0 (OK)");
59
60 $stat = $sess->end_trans;
61 ok(($stat->{inserted} == 1), "Inserted 1 records");
62 die;
63
64 $sess->begin_trans;
65 $sysno=-42;
66 $ret = $sess->insert_record(data       => $rec2,
67                               recordType => 'grs.perl.pod',
68                               groupName  => "demo1",
69                               sysno => \$sysno,
70                               );
71 ok(($ret == 0 && $sysno != 42),"Inserted record got valid sysno");
72
73 $stat = $sess->end_trans;
74 ok(($stat->{inserted} == 1), "Inserted 1 records");
75
76 $sess->commit;
77 $sess->close;