about summary refs log tree commit homepage
path: root/t/v2writable.t
diff options
context:
space:
mode:
authorEric Wong (Contractor, The Linux Foundation) <e@80x24.org>2018-03-19 23:24:50 +0000
committerEric Wong (Contractor, The Linux Foundation) <e@80x24.org>2018-03-20 04:30:55 +0000
commitdfed6cc6f2881c77478174dd5eb9b93352b1f1c1 (patch)
tree2b57e97d45f8442ffaf0d2e80be0b9033dc76c2d /t/v2writable.t
parent0a254eeea41cf5c0afde2ce188d7d367df5d4d95 (diff)
downloadpublic-inbox-dfed6cc6f2881c77478174dd5eb9b93352b1f1c1.tar.gz
If we need to use content_id, we've already lost hope
in relying on Message-Id as a differentiator.  This
prevents duplicates from showing up repeatedly with
-watch when Message-Ids are reused and we generate
new Message-Ids to disambiguate.
Diffstat (limited to 't/v2writable.t')
-rw-r--r--t/v2writable.t10
1 files changed, 7 insertions, 3 deletions
diff --git a/t/v2writable.t b/t/v2writable.t
index 85b48d2a..6cabf0d5 100644
--- a/t/v2writable.t
+++ b/t/v2writable.t
@@ -61,11 +61,15 @@ if ('ensure git configs are correct') {
 
         @warn = ();
         $mime->header_set('Message-Id', '<a-mid@b>', '<c@d>');
-        ok($im->add($mime), 'secondary MID used');
+        is($im->add($mime), undef, 'secondary MID ignored if first matches');
+        my $sec = PublicInbox::MIME->new($mime->as_string);
+        $sec->header_set('Date');
+        $sec->header_set('Message-Id', '<a-mid@b>', '<c@d>');
+        ok($im->add($sec), 'secondary MID used if data is different');
         like(join(' ', @warn), qr/mismatched/, 'warned about mismatch');
         like(join(' ', @warn), qr/alternative/, 'warned about alternative');
         is_deeply([ '<a-mid@b>', '<c@d>' ],
-                [ $mime->header_obj->header_raw('Message-Id') ],
+                [ $sec->header_obj->header_raw('Message-Id') ],
                 'no new Message-Id added');
 
         my $sane_mid = qr/\A<[\w\-]+\@localhost>\z/;
@@ -85,7 +89,7 @@ if ('ensure git configs are correct') {
         my $gen = PublicInbox::Import::digest2mid(content_digest($mime));
         unlike($gen, qr![\+/=]!, 'no URL-unfriendly chars in Message-Id');
         my $fake = PublicInbox::MIME->new($mime->as_string);
-        $fake->header_set('Message-Id', $gen);
+        $fake->header_set('Message-Id', "<$gen>");
         ok($im->add($fake), 'fake added easily');
         is_deeply(\@warn, [], 'no warnings from a faker');
         ok($im->add($mime), 'random MID made');