added zebra_insert_record call, function in perl api, documentation and tests
[idzebra-moved-to-github.git] / perl / t / 03_record_update.t
1 #!perl
2 # =============================================================================
3 # $Id: 03_record_update.t,v 1.3 2003-03-13 04:25:18 pop Exp $
4 #
5 # Perl API header
6 # =============================================================================
7 BEGIN {
8     if ($ENV{PERL_CORE}) {
9         chdir 't' if -d 't';
10     }
11     push (@INC,'demo','blib/lib','blib/arch');
12 }
13
14 use strict;
15 use warnings;
16
17 use Test::More tests => 11;
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
41 my ($sysno, $stat);
42
43 $sess->begin_trans;
44 $sysno = $sess->update_record(data       => $rec1,
45                               recordType => 'grs.perl.pod',
46                               groupName  => "demo1",
47                               );
48 $stat = $sess->end_trans;
49 ok(($stat->{updated} == 1), "Updated 1 records");
50
51 $sess->begin_trans;
52 $sysno = $sess->delete_record(data       => $rec2,
53                               recordType => 'grs.perl.pod',
54                               groupName  => "demo1",
55                               );
56 $stat = $sess->end_trans;
57 ok(($stat->{deleted} == 1), "Deleted 1 records");
58
59 $sess->begin_trans;
60 $sysno = $sess->insert_record(data       => $rec2,
61                               recordType => 'grs.perl.pod',
62                               groupName  => "demo1",
63                               );
64 $stat = $sess->end_trans;
65 ok(($stat->{inserted} == 1), "Inserted 1 records");
66 ok(($sysno > 0),"Inserted record got valid sysno");
67
68 $sess->begin_trans;
69 $sysno = $sess->insert_record(data       => $rec2,
70                               recordType => 'grs.perl.pod',
71                               groupName  => "demo1",
72                               );
73 $stat = $sess->end_trans;
74 ok(($stat->{inserted} == 0), "Inserted 0 records");
75 ok(($stat->{updated} == 0), "Updated 0 records");
76 ok(($sysno < 0),"Inserted record got invalid sysno");
77
78
79
80 # ----------------------------------------------------------------------------
81 # Close session
82
83 $sess->commit;
84 $sess->close;