X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fwatch_maildir_v2.t;h=125464182a82832c14f426affe39b4701fdd234c;hb=80b887f29b2ec71d025b4c266a1c26314758994c;hp=59ec247ecfda337f8c0412231fcafdcf2583b5d5;hpb=b61b55643c617403f8d141cfe9bff22ad47913f7;p=public-inbox.git diff --git a/t/watch_maildir_v2.t b/t/watch_maildir_v2.t index 59ec247e..12546418 100644 --- a/t/watch_maildir_v2.t +++ b/t/watch_maildir_v2.t @@ -14,7 +14,7 @@ my ($tmpdir, $for_destroy) = tmpdir(); my $inboxdir = "$tmpdir/v2"; my $maildir = "$tmpdir/md"; my $spamdir = "$tmpdir/spam"; -use_ok 'PublicInbox::WatchMaildir'; +use_ok 'PublicInbox::Watch'; use_ok 'PublicInbox::Emergency'; my $cfgpfx = "publicinbox.test"; my $addr = 'test-public@example.com'; @@ -47,10 +47,9 @@ EOF my $config = PublicInbox::Config->new(\$orig); my $ibx = $config->lookup_name('test'); ok($ibx, 'found inbox by name'); -my $srch = $ibx->search; -PublicInbox::WatchMaildir->new($config)->scan('full'); -my $total = scalar @{$srch->reopen->query('')}; +PublicInbox::Watch->new($config)->scan('full'); +my $total = scalar @{$ibx->over->recent}; is($total, 1, 'got one revision'); # my $git = PublicInbox::Git->new("$inboxdir/git/0.git"); @@ -69,8 +68,8 @@ my $write_spam = sub { }; $write_spam->(); is(unlink(glob("$maildir/new/*")), 1, 'unlinked old spam'); -PublicInbox::WatchMaildir->new($config)->scan('full'); -is_deeply($srch->reopen->query(''), [], 'deleted file'); +PublicInbox::Watch->new($config)->scan('full'); +is_deeply($ibx->over->recent, [], 'deleted file'); is(unlink(glob("$spamdir/cur/*")), 1, 'unlinked trained spam'); # check with scrubbing @@ -80,16 +79,16 @@ To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo\@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html\n); PublicInbox::Emergency->new($maildir)->prepare(\$msg); - PublicInbox::WatchMaildir->new($config)->scan('full'); - my $msgs = $srch->reopen->query(''); + PublicInbox::Watch->new($config)->scan('full'); + my $msgs = $ibx->over->recent; is(scalar(@$msgs), 1, 'got one file back'); my $mref = $ibx->msg_by_smsg($msgs->[0]); like($$mref, qr/something\n\z/s, 'message scrubbed on import'); is(unlink(glob("$maildir/new/*")), 1, 'unlinked spam'); $write_spam->(); - PublicInbox::WatchMaildir->new($config)->scan('full'); - $msgs = $srch->reopen->query(''); + PublicInbox::Watch->new($config)->scan('full'); + $msgs = $ibx->over->recent; is(scalar(@$msgs), 0, 'inbox is empty again'); is(unlink(glob("$spamdir/cur/*")), 1, 'unlinked trained spam'); } @@ -103,9 +102,9 @@ More majordomo info at http://vger.kernel.org/majordomo-info.html\n); $config->{'publicinboxwatch.spamcheck'} = 'spamc'; { local $SIG{__WARN__} = sub {}; # quiet spam check warning - PublicInbox::WatchMaildir->new($config)->scan('full'); + PublicInbox::Watch->new($config)->scan('full'); } - my $msgs = $srch->reopen->query(''); + my $msgs = $ibx->over->recent; is(scalar(@$msgs), 0, 'inbox is still empty'); is(unlink(glob("$maildir/new/*")), 1); } @@ -117,8 +116,8 @@ More majordomo info at http://vger.kernel.org/majordomo-info.html\n); local $ENV{PATH} = $main_path; PublicInbox::Emergency->new($maildir)->prepare(\$msg); $config->{'publicinboxwatch.spamcheck'} = 'spamc'; - PublicInbox::WatchMaildir->new($config)->scan('full'); - my $msgs = $srch->reopen->query(''); + PublicInbox::Watch->new($config)->scan('full'); + my $msgs = $ibx->over->recent; is(scalar(@$msgs), 1, 'inbox has one mail after spamc OK-ed a message'); my $mref = $ibx->msg_by_smsg($msgs->[0]); like($$mref, qr/something\n\z/s, 'message scrubbed on import'); @@ -130,13 +129,15 @@ More majordomo info at http://vger.kernel.org/majordomo-info.html\n); open my $fh, '<', $patch or die "failed to open $patch: $!\n"; $msg = do { local $/; <$fh> }; PublicInbox::Emergency->new($maildir)->prepare(\$msg); - PublicInbox::WatchMaildir->new($config)->scan('full'); - my $msgs = $srch->reopen->query('dfpost:6e006fd7'); - is(scalar(@$msgs), 1, 'diff postimage found'); - my $post = $msgs->[0]; - $msgs = $srch->query('dfpre:090d998b6c2c'); - is(scalar(@$msgs), 1, 'diff preimage found'); - is($post->{blob}, $msgs->[0]->{blob}, 'same message'); + PublicInbox::Watch->new($config)->scan('full'); + my $post = $ibx->search->reopen->mset('dfpost:6e006fd7'); + is($post->size, 1, 'diff postimage found'); + my $pre = $ibx->search->mset('dfpre:090d998b6c2c'); + is($pre->size, 1, 'diff preimage found'); + $pre = $ibx->search->mset_to_smsg($ibx, $pre); + $post = $ibx->search->mset_to_smsg($ibx, $post); + is(scalar(@$pre), 1, 'diff preimage found'); + is($post->[0]->{blob}, $pre->[0]->{blob}, 'same message'); } # multiple inboxes in the same maildir @@ -161,8 +162,9 @@ Date: Sat, 18 Jun 2016 00:00:00 +0000 both EOF PublicInbox::Emergency->new($maildir)->prepare(\$both); - PublicInbox::WatchMaildir->new($config)->scan('full'); - my $msgs = $srch->reopen->query('m:both@b.com'); + PublicInbox::Watch->new($config)->scan('full'); + my $mset = $ibx->search->reopen->mset('m:both@b.com'); + my $msgs = $ibx->search->mset_to_smsg($ibx, $mset); my $v1 = $config->lookup_name('v1'); my $msg = $v1->git->cat_file($msgs->[0]->{blob}); is($both, $$msg, 'got original message back from v1'); @@ -186,7 +188,7 @@ EOF PublicInbox::Emergency->new($maildir)->prepare(\$want); PublicInbox::Emergency->new($maildir)->prepare(\$do_not_want); my $config = PublicInbox::Config->new(\$cfg); - PublicInbox::WatchMaildir->new($config)->scan('full'); + PublicInbox::Watch->new($config)->scan('full'); $ibx = $config->lookup_name('test'); my $num = $ibx->mm->num_for('do.want@example.com'); ok(defined $num, 'List-ID matched for watch'); @@ -195,7 +197,7 @@ EOF $cfg = $orig."$cfgpfx.watchheader=X-Mailing-List:no\@example.com\n"; $config = PublicInbox::Config->new(\$cfg); - PublicInbox::WatchMaildir->new($config)->scan('full'); + PublicInbox::Watch->new($config)->scan('full'); $ibx = $config->lookup_name('test'); $num = $ibx->mm->num_for('do.not.want@example.com'); ok(defined $num, 'X-Mailing-List matched');