]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/search-thr-index.t
www: rework query responses to avoid COUNT in SQLite
[public-inbox.git] / t / search-thr-index.t
index 6c6e4c57639dab2b63dc27d7d4e2ade0f8bc9143..2aa97bffcb89580c6a205eeeff695c612457fec4 100644 (file)
@@ -4,6 +4,7 @@ use strict;
 use warnings;
 use Test::More;
 use File::Temp qw/tempdir/;
+use PublicInbox::MID qw(mids);
 use Email::MIME;
 eval { require PublicInbox::SearchIdx; };
 plan skip_all => "Xapian missing for search" if $@;
@@ -31,8 +32,7 @@ EOF
 
 my $num = 0;
 # nb. using internal API, fragile!
-my $xdb = $rw->_xdb_acquire;
-$xdb->begin_transaction;
+my $xdb = $rw->begin_txn_lazy;
 my @mids;
 
 foreach (reverse split(/\n\n/, $data)) {
@@ -41,7 +41,7 @@ foreach (reverse split(/\n\n/, $data)) {
        $mime->header_set('From' => 'bw@g');
        $mime->header_set('To' => 'git@vger.kernel.org');
        my $bytes = bytes::length($mime->as_string);
-       my $mid = $mime->header('Message-Id');
+       my $mid = mids($mime->header_obj)->[0];
        my $doc_id = $rw->add_message($mime, $bytes, ++$num, 'ignored', $mid);
        push @mids, $mid;
        ok($doc_id, 'message added: '. $mid);
@@ -49,10 +49,12 @@ foreach (reverse split(/\n\n/, $data)) {
 
 my $prev;
 foreach my $mid (@mids) {
-       my $res = $rw->get_thread($mid);
-       is(3, $res->{total}, "got all messages from $mid");
+       my $msgs = $rw->{over}->get_thread($mid);
+       is(3, scalar(@$msgs), "got all messages from $mid");
 }
 
+$rw->commit_txn_lazy;
+
 done_testing();
 
 1;