Fixed logging in record_update test
[idzebra-moved-to-github.git] / perl / t / 03_record_update.t
1 #!perl
2 # =============================================================================
3 # $Id: 03_record_update.t,v 1.5 2003-04-15 20:56:33 pop 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 => 17;
18
19 # ----------------------------------------------------------------------------
20 # Session opening and closing
21 BEGIN {
22     use_ok('IDZebra');
23     IDZebra::logFile("test.log");
24     use_ok('IDZebra::Session'); 
25     use_ok('pod');
26 }
27
28
29 # ----------------------------------------------------------------------------
30 # Session opening and closing
31 my $sess = IDZebra::Session->open(configFile => 'demo/zebra.cfg',
32                                   groupName => 'demo2',
33                                   shadow    => 1);
34 isa_ok($sess,"IDZebra::Session");
35
36 # ----------------------------------------------------------------------------
37 # per record update
38 my $rec1=`cat lib/IDZebra/Data1.pm`;
39 my $rec2=`cat lib/IDZebra/Filter.pm`;
40 my $rec3=`cat lib/IDZebra/Session.pm`;
41
42 my ($sysno, $stat);
43
44 $sess->begin_trans;
45 $sysno = $sess->update_record(data       => $rec1,
46                               recordType => 'grs.perl.pod',
47                               groupName  => "demo1",
48                               );
49 $stat = $sess->end_trans;
50 ok(($stat->{updated} == 1), "Updated 1 records");
51
52 $sess->begin_trans;
53 $sysno = $sess->delete_record(data       => $rec2,
54                               recordType => 'grs.perl.pod',
55                               groupName  => "demo1",
56                               );
57 $stat = $sess->end_trans;
58 ok(($stat->{deleted} == 1), "Deleted 1 records");
59
60 $sess->begin_trans;
61 $sysno = $sess->insert_record(data       => $rec2,
62                               recordType => 'grs.perl.pod',
63                               groupName  => "demo1",
64                               );
65 $stat = $sess->end_trans;
66 ok(($stat->{inserted} == 1), "Inserted 1 records");
67 ok(($sysno > 0),"Inserted record got valid sysno");
68
69 $sess->begin_trans;
70 $sysno = $sess->insert_record(data       => $rec2,
71                               recordType => 'grs.perl.pod',
72                               groupName  => "demo1",
73                               );
74 $stat = $sess->end_trans;
75 ok(($stat->{inserted} == 0), "Inserted 0 records");
76 ok(($stat->{updated} == 0), "Updated 0 records");
77 ok(($sysno < 0),"Inserted record got invalid sysno");
78
79
80 $sess->begin_trans;
81 $sysno = $sess->update_record(data       => $rec2,
82                               recordType => 'grs.perl.pod',
83                               groupName  => "demo1",
84                               );
85
86 $sysno = $sess->update_record(data       => $rec2,
87                               recordType => 'grs.perl.pod',
88                               groupName  => "demo1",
89                               );
90
91 $stat = $sess->end_trans;
92 ok(($stat->{inserted} == 0), "Inserted 0 records");
93 ok(($stat->{updated} == 1), "Updated $stat->{updated} records");
94 ok(($sysno > 0),"Inserted got valid sysno");
95
96 $sess->begin_trans;
97 $sysno = $sess->delete_record(data       => $rec3,
98                               recordType => 'grs.perl.pod',
99                               groupName  => "demo1",
100                               );
101 $stat = $sess->end_trans;
102
103
104 $sess->begin_trans;
105 $sysno = $sess->update_record(data       => $rec2,
106                               recordType => 'grs.perl.pod',
107                               groupName  => "demo1",
108                               );
109
110 foreach my $i (1..100) {
111     $sysno = $sess->update_record(data       => $rec2,
112                                   recordType => 'grs.perl.pod',
113                                   groupName  => "demo1",
114                                   force      => 1,
115                                   );
116 }
117 foreach my $i (1..10) {
118     $sysno = $sess->update_record(data       => $rec3,
119                                   recordType => 'grs.perl.pod',
120                                   groupName  => "demo1",
121                                   force      => 1,
122                                   );
123 }
124 foreach my $i (1..10) {
125     $sysno = $sess->update_record(data       => $rec2,
126                                   recordType => 'grs.perl.pod',
127                                   groupName  => "demo1",
128                                   force      => 1,
129                                   );
130 }
131
132
133 $stat = $sess->end_trans;
134 ok(($stat->{inserted} == 1), "Inserted $stat->{inserted} records");
135 ok(($stat->{updated} == 120), "Updated $stat->{updated} records");
136 ok(($sysno > 0),"Inserted got valid sysno");
137
138 # ----------------------------------------------------------------------------
139 # Close session
140
141 $sess->commit;
142 $sess->close;