diff options
author | Eric Wong (Contractor, The Linux Foundation) <e@80x24.org> | 2018-03-19 23:24:50 +0000 |
---|---|---|
committer | Eric Wong (Contractor, The Linux Foundation) <e@80x24.org> | 2018-03-20 04:30:55 +0000 |
commit | dfed6cc6f2881c77478174dd5eb9b93352b1f1c1 (patch) | |
tree | 2b57e97d45f8442ffaf0d2e80be0b9033dc76c2d /t/v2writable.t | |
parent | 0a254eeea41cf5c0afde2ce188d7d367df5d4d95 (diff) | |
download | public-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.t | 10 |
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'); |