X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fprecheck.t;h=360dc74f88f748d0bd081929f6d786be193d3849;hb=4452b5ebd8f202d72260325768512230c93ef6f2;hp=3f2c5d5b76230dab8bee16128da41ddc607d9cab;hpb=f76f265a851944b5dedcc3be5f3b5224b6ebda89;p=public-inbox.git
diff --git a/t/precheck.t b/t/precheck.t
index 3f2c5d5b..360dc74f 100644
--- a/t/precheck.t
+++ b/t/precheck.t
@@ -1,79 +1,88 @@
-# Copyright (C) 2014-2015 all contributors
-# License: AGPLv3 or later (https://www.gnu.org/licenses/agpl-3.0.txt)
+# Copyright (C) 2014-2021 all contributors
+# License: AGPL-3.0+
use strict;
use warnings;
use Test::More;
-use Email::Simple;
-use Email::Filter;
+use PublicInbox::Eml;
use PublicInbox::MDA;
sub do_checks {
my ($s) = @_;
- my $f = Email::Filter->new(data => $s->as_string);
-
my $recipient = 'foo@example.com';
- ok(!PublicInbox::MDA->precheck($f, $recipient),
+ ok(!PublicInbox::MDA->precheck($s, $recipient),
"wrong ORIGINAL_RECIPIENT rejected");
$recipient = 'b@example.com';
- ok(PublicInbox::MDA->precheck($f, $recipient),
+ ok(PublicInbox::MDA->precheck($s, $recipient),
"ORIGINAL_RECIPIENT in To: is OK");
$recipient = 'c@example.com';
- ok(PublicInbox::MDA->precheck($f, $recipient),
+ ok(PublicInbox::MDA->precheck($s, $recipient),
"ORIGINAL_RECIPIENT in Cc: is OK");
$recipient = [ 'c@example.com', 'd@example.com' ];
- ok(PublicInbox::MDA->precheck($f, $recipient),
+ ok(PublicInbox::MDA->precheck($s, $recipient),
"alias list is OK");
}
{
- do_checks(Email::Simple->create(
- header => [
- From => 'a@example.com',
- To => 'b@example.com',
- Cc => 'c@example.com',
- 'Content-Type' => 'text/plain',
- Subject => 'this is a subject',
- 'Message-ID' => '',
- Date => 'Wed, 09 Apr 2014 01:28:34 +0000',
- ],
- body => "hello world\n",
- ));
+ my $s = PublicInbox::Eml->new(<<'EOF');
+From: abc@example.com
+To: abc@example.com
+Cc: c@example.com, another-list@example.com
+Content-Type: text/plain
+Subject: list is fine
+Message-ID:
+Date: Wed, 09 Apr 2014 01:28:34 +0000
+
+hello world
+EOF
+ my $addr = [ 'c@example.com', 'd@example.com' ];
+ ok(PublicInbox::MDA->precheck($s, $addr), 'Cc list is OK');
+}
+
+{
+ do_checks(PublicInbox::Eml->new(<<'EOF'));
+From: a@example.com
+To: b@example.com
+Cc: c@example.com
+Content-Type: text/plain
+Subject: this is a subject
+Message-ID:
+Date: Wed, 09 Apr 2014 01:28:34 +0000
+
+hello world
+EOF
}
{
- do_checks(Email::Simple->create(
- header => [
- From => 'a@example.com',
- To => 'b+plus@example.com',
- Cc => 'John Doe ',
- 'Content-Type' => 'text/plain',
- Subject => 'this is a subject',
- 'Message-ID' => '',
- Date => 'Wed, 09 Apr 2014 01:28:34 +0000',
- ],
- body => "hello world\n",
- ));
+ do_checks(PublicInbox::Eml->new(<<'EOF'));
+From: a@example.com
+To: b+plus@example.com
+Cc: John Doe
+Content-Type: text/plain
+Subject: this is a subject
+Message-ID:
+Date: Wed, 09 Apr 2014 01:28:34 +0000
+
+hello world
+EOF
}
{
my $recipient = 'b@example.com';
- my $s = Email::Simple->create(
- header => [
- To => 'b@example.com',
- Cc => 'c@example.com',
- 'Content-Type' => 'text/plain',
- Subject => 'this is a subject',
- 'Message-ID' => '',
- Date => 'Wed, 09 Apr 2014 01:28:34 +0000',
- ],
- body => "hello world\n",
- );
- my $f = Email::Filter->new(data => $s->as_string);
- ok(!PublicInbox::MDA->precheck($f, $recipient),
+ my $s = PublicInbox::Eml->new(<<'EOF');
+To: b@example.com
+Cc: c@example.com
+Content-Type: text/plain
+Subject: this is a subject
+Message-ID:
+Date: Wed, 09 Apr 2014 01:28:34 +0000
+
+hello world
+EOF
+ ok(!PublicInbox::MDA->precheck($s, $recipient),
"missing From: is rejected");
}