X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=perl%2Ft%2F03_record_update.t;h=3d611d36855f9c5066794c622bc4c92867f49e2b;hb=a9eae0225b1a51b0257f80d9da9f95475dd04f53;hp=15f0bafaffc635ad6c5d4f28cda332cdf52390da;hpb=2f8d4d90ec5eba3725182f83c067e141db160495;p=idzebra-moved-to-github.git diff --git a/perl/t/03_record_update.t b/perl/t/03_record_update.t index 15f0baf..3d611d3 100644 --- a/perl/t/03_record_update.t +++ b/perl/t/03_record_update.t @@ -1,6 +1,6 @@ #!perl # ============================================================================= -# $Id: 03_record_update.t,v 1.1 2003-03-03 00:44:39 pop Exp $ +# $Id: 03_record_update.t,v 1.10 2004-09-15 14:11:06 heikki Exp $ # # Perl API header # ============================================================================= @@ -8,19 +8,20 @@ BEGIN { if ($ENV{PERL_CORE}) { chdir 't' if -d 't'; } - push (@INC,'demo','blib/lib','blib/arch'); + unshift (@INC,'demo','blib/lib','blib/arch'); } use strict; use warnings; -use Test::More tests => 7; +use Test::More tests => 15; # ---------------------------------------------------------------------------- # Session opening and closing BEGIN { use_ok('IDZebra'); - IDZebra::logFile("test.log"); + unlink("test03.log"); + IDZebra::logFile("test03.log"); use_ok('IDZebra::Session'); use_ok('pod'); } @@ -29,44 +30,72 @@ BEGIN { # ---------------------------------------------------------------------------- # Session opening and closing my $sess = IDZebra::Session->open(configFile => 'demo/zebra.cfg', - groupName => 'demo2'); + groupName => 'demo2', + shadow => 1); isa_ok($sess,"IDZebra::Session"); # ---------------------------------------------------------------------------- # per record update my $rec1=`cat lib/IDZebra/Data1.pm`; my $rec2=`cat lib/IDZebra/Filter.pm`; +my $rec3=`cat lib/IDZebra/Session.pm`; -my ($sysno, $stat); +my ($sysno, $stat, $ret); + +$sess->init; +$sess->databases('demo1'); $sess->begin_trans; -$sysno = $sess->update_record(data => $rec1, + +($ret,$sysno) = $sess->insert_record(data => $rec1, recordType => 'grs.perl.pod', - groupName => "demo1", ); + +ok(($ret == 0),"Must return ret=0 (OK)"); + $stat = $sess->end_trans; -ok(($stat->{updated} == 1), "Updated 1 records"); +ok(($stat->{inserted} == 1), "Inserted 1 records"); $sess->begin_trans; -$sysno = $sess->delete_record(data => $rec2, +($ret,$sysno) = $sess->insert_record(data => $rec2, recordType => 'grs.perl.pod', - groupName => "demo1", ); +ok(($ret == 0),"Insert record ok"); + $stat = $sess->end_trans; -ok(($stat->{deleted} == 1), "Deleted 1 records"); +ok(($stat->{inserted} == 1), "Inserted 1 records"); + $sess->begin_trans; -$sysno = $sess->update_record(data => $rec2, - recordType => 'grs.perl.pod', - groupName => "demo1", - ); +($ret,$sysno) = $sess->update_record(data => $rec3, + recordType => 'grs.perl.pod', + sysno => $sysno, + ); + +ok(($ret == 0),"update record ok"); + + $stat = $sess->end_trans; -ok(($stat->{inserted} == 1), "Inserted 1 records"); +ok(($stat->{inserted} == 0), "not inserted"); +ok(($stat->{updated} == 1), "updated ok"); +$sess->commit; + +$sess->begin_trans; +#print STDERR "\nAbout to call delete. sysno=$sysno \n"; #!!! +($ret,$sysno) = $sess->delete_record( data => $rec3, + sysno => $sysno, + recordType => 'grs.perl.pod', + ); +ok(($ret == 0),"delete record ok"); +#print STDERR "\nafter delete ret=$ret sysno=$sysno \n"; #!!! +$stat = $sess->end_trans; +ok(($stat->{inserted} == 0), "not inserted"); +ok(($stat->{updated} == 0), "updated ok"); +ok(($stat->{deleted} == 1), "deleted ok"); +$sess->commit; -# ---------------------------------------------------------------------------- -# Close session $sess->close;