X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=perl%2Ft%2F03_record_update.t;h=e34e844e1e796d9cec51b7b2ae3c8e0f9f8fd010;hb=d68c6ec7dcaffc5fcd835ba3f0172374356eed70;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..e34e844 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.5 2003-04-15 20:56:33 pop Exp $ # # Perl API header # ============================================================================= @@ -8,13 +8,13 @@ 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 => 17; # ---------------------------------------------------------------------------- # Session opening and closing @@ -29,13 +29,15 @@ 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); @@ -56,17 +58,85 @@ $stat = $sess->end_trans; ok(($stat->{deleted} == 1), "Deleted 1 records"); $sess->begin_trans; -$sysno = $sess->update_record(data => $rec2, - recordType => 'grs.perl.pod', - groupName => "demo1", - ); +$sysno = $sess->insert_record(data => $rec2, + recordType => 'grs.perl.pod', + groupName => "demo1", + ); $stat = $sess->end_trans; ok(($stat->{inserted} == 1), "Inserted 1 records"); +ok(($sysno > 0),"Inserted record got valid sysno"); +$sess->begin_trans; +$sysno = $sess->insert_record(data => $rec2, + recordType => 'grs.perl.pod', + groupName => "demo1", + ); +$stat = $sess->end_trans; +ok(($stat->{inserted} == 0), "Inserted 0 records"); +ok(($stat->{updated} == 0), "Updated 0 records"); +ok(($sysno < 0),"Inserted record got invalid sysno"); +$sess->begin_trans; +$sysno = $sess->update_record(data => $rec2, + recordType => 'grs.perl.pod', + groupName => "demo1", + ); + +$sysno = $sess->update_record(data => $rec2, + recordType => 'grs.perl.pod', + groupName => "demo1", + ); + +$stat = $sess->end_trans; +ok(($stat->{inserted} == 0), "Inserted 0 records"); +ok(($stat->{updated} == 1), "Updated $stat->{updated} records"); +ok(($sysno > 0),"Inserted got valid sysno"); + +$sess->begin_trans; +$sysno = $sess->delete_record(data => $rec3, + recordType => 'grs.perl.pod', + groupName => "demo1", + ); +$stat = $sess->end_trans; + + +$sess->begin_trans; +$sysno = $sess->update_record(data => $rec2, + recordType => 'grs.perl.pod', + groupName => "demo1", + ); + +foreach my $i (1..100) { + $sysno = $sess->update_record(data => $rec2, + recordType => 'grs.perl.pod', + groupName => "demo1", + force => 1, + ); +} +foreach my $i (1..10) { + $sysno = $sess->update_record(data => $rec3, + recordType => 'grs.perl.pod', + groupName => "demo1", + force => 1, + ); +} +foreach my $i (1..10) { + $sysno = $sess->update_record(data => $rec2, + recordType => 'grs.perl.pod', + groupName => "demo1", + force => 1, + ); +} + + +$stat = $sess->end_trans; +ok(($stat->{inserted} == 1), "Inserted $stat->{inserted} records"); +ok(($stat->{updated} == 120), "Updated $stat->{updated} records"); +ok(($sysno > 0),"Inserted got valid sysno"); # ---------------------------------------------------------------------------- # Close session +$sess->commit; $sess->close;