]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/mda.t
xt/mem-imapd-tls: update aliases to DSdeflate subs
[public-inbox.git] / t / mda.t
diff --git a/t/mda.t b/t/mda.t
index 863eaf8fe2dda3d3316b84ddb3737b379efebcce..d20cdb92be30fb8b962dac42585b1e7204c627ee 100644 (file)
--- a/t/mda.t
+++ b/t/mda.t
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2020 all contributors <meta@public-inbox.org>
+# Copyright (C) 2014-2021 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 use strict;
 use warnings;
@@ -62,9 +62,7 @@ local $ENV{GIT_COMMITTER_NAME} = eval {
        use PublicInbox::MDA;
        use PublicInbox::Address;
        use Encode qw/encode/;
-       my $eml = 't/utf8.eml';
-       my $msg = PublicInbox::InboxWritable::mime_from_path($eml) or
-               die "failed to open $eml: $!";
+       my $msg = eml_load 't/utf8.eml';
        my $from = $msg->header('From');
        my ($author) = PublicInbox::Address::names($from);
        my ($email) = PublicInbox::Address::emails($from);
@@ -231,7 +229,7 @@ EOF
                "learned ham idempotently ");
 
        # ensure trained email is filtered, too
-       my $mime = mime_load 't/mda-mime.eml';
+       my $mime = eml_load 't/mda-mime.eml';
        ($mid) = ($mime->header_raw('message-id') =~ /<([^>]+)>/);
        {
                $in = $mime->as_string;
@@ -263,7 +261,7 @@ Subject: this message will be trained as spam
 Date: Thu, 01 Jan 1970 00:00:00 +0000
 
 EOF
-       xsys(qw(git config --file), $pi_config, "$cfgpfx.listid", $list_id);
+       xsys(qw(git config --file), $pi_config, "$cfgpfx.listid", uc $list_id);
        $? == 0 or die "failed to set listid $?";
        ok(run_script(['-mda'], undef, { 0 => \$in }),
                'mda OK with List-Id match');
@@ -301,9 +299,17 @@ EOF
        ok(run_script(['-mda'], undef, $rdr),
                'mda OK with multiple List-Id matches');
        $cur = $git->qx(qw(diff HEAD~1..HEAD));
-       like($cur, qr/Message-ID: <2lids\@example>/,
+       like($cur, qr/^\+Message-ID: <2lids\@example>/sm,
                'multi List-ID match delivered');
        like($err, qr/multiple List-ID/, 'warned about multiple List-ID');
+
+       # ensure -learn rm works after inbox address is updated
+       ($out, $err) = ('', '');
+       xsys(qw(git config --file), $pi_config, "$cfgpfx.address",
+               'updated-address@example.com');
+       ok(run_script(['-learn', 'rm'], undef, $rdr), 'rm-ed via -learn');
+       $cur = $git->qx(qw(diff HEAD~1..HEAD));
+       like($cur, qr/^-Message-ID: <2lids\@example>/sm, 'changed in git');
 }
 
 done_testing();