# Copyright (C) 2020-2021 all contributors # License: AGPL-3.0+ use strict; use Test::More; use PublicInbox::Config; use PublicInbox::TestCommon; require_git(2.6); require_mods(qw(Search::Xapian DBD::SQLite)); my ($tmpdir, $for_destroy) = tmpdir(); my $inboxdir = "$tmpdir/v2"; my $maildir = "$tmpdir/md"; use_ok 'PublicInbox::Watch'; use_ok 'PublicInbox::Emergency'; my $cfgpfx = "publicinbox.test"; my $addr = 'test-public@example.com'; my @cmd = ('-init', '-V2', 'test', $inboxdir, 'http://example.com/list', $addr); local $ENV{PI_CONFIG} = "$tmpdir/pi_config"; ok(run_script(\@cmd), 'public-inbox init OK'); my $msg_to = < Date: Sat, 18 Apr 2020 00:00:00 +0000 content1 EOF my $msg_cc = < Date: Sat, 18 Apr 2020 00:01:00 +0000 content2 EOF my $msg_none = < Date: Sat, 18 Apr 2020 00:02:00 +0000 content3 EOF PublicInbox::Emergency->new($maildir)->prepare(\$msg_to); PublicInbox::Emergency->new($maildir)->prepare(\$msg_cc); PublicInbox::Emergency->new($maildir)->prepare(\$msg_none); my $raw = <new(\$raw); PublicInbox::Watch->new($cfg)->scan('full'); my $ibx = $cfg->lookup_name('test'); ok($ibx, 'found inbox by name'); my $num = $ibx->mm->num_for('to@a.com'); ok(defined $num, 'Matched for address in To:'); $num = $ibx->mm->num_for('cc@a.com'); ok(defined $num, 'Matched for address in Cc:'); $num = $ibx->mm->num_for('none@a.com'); is($num, undef, 'No match without address in To: or Cc:'); done_testing;