X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fv1-add-remove-add.t;h=a94bf7fd048743deaf2bfb02d9032d51e4ba5034;hb=refs%2Fheads%2Fmaster;hp=cd6e281105c18ee9dd0b8616ea0ae1303b6ac9af;hpb=017fed7bc4d33ac474a19356994be5bd0bfe68ba;p=public-inbox.git diff --git a/t/v1-add-remove-add.t b/t/v1-add-remove-add.t index cd6e2811..ae045dfa 100644 --- a/t/v1-add-remove-add.t +++ b/t/v1-add-remove-add.t @@ -1,43 +1,38 @@ -# Copyright (C) 2018 all contributors +# Copyright (C) 2018-2021 all contributors # License: AGPL-3.0+ use strict; use warnings; use Test::More; -use PublicInbox::MIME; use PublicInbox::Import; -use PublicInbox::SearchIdx; -use File::Temp qw/tempdir/; - -foreach my $mod (qw(DBD::SQLite Search::Xapian)) { - eval "require $mod"; - plan skip_all => "$mod missing for v1-add-remove-add.t" if $@; -} -my $mainrepo = tempdir('pi-add-remove-add-XXXXXX', TMPDIR => 1, CLEANUP => 1); -is(system(qw(git init --bare), $mainrepo), 0); +use PublicInbox::TestCommon; +use PublicInbox::Eml; +require_mods(qw(DBD::SQLite Search::Xapian)); +require PublicInbox::SearchIdx; +my ($inboxdir, $for_destroy) = tmpdir(); my $ibx = { - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => 'test-add-remove-add', -primary_address => 'test@example.com', }; $ibx = PublicInbox::Inbox->new($ibx); -my $mime = PublicInbox::MIME->create( - header => [ - From => 'a@example.com', - To => 'test@example.com', - Subject => 'this is a subject', - Date => 'Fri, 02 Oct 1993 00:00:00 +0000', - 'Message-ID' => '', - ], - body => "hello world\n", -); +my $mime = PublicInbox::Eml->new(<<'EOF'); +From: a@example.com +To: test@example.com +Subject: this is a subject +Message-ID: +Date: Fri, 02 Oct 1993 00:00:00 +0000 + +hello world +EOF my $im = PublicInbox::Import->new($ibx->git, undef, undef, $ibx); +$im->init_bare; ok($im->add($mime), 'message added'); -ok($im->remove($mime), 'message added'); +ok($im->remove($mime), 'message removed'); ok($im->add($mime), 'message added again'); $im->done; my $rw = PublicInbox::SearchIdx->new($ibx, 1); $rw->index_sync; -my $msgs = $ibx->recent({limit => 10}); +my $msgs = $ibx->over->recent({limit => 10}); is($msgs->[0]->{mid}, 'a-mid@b', 'message exists in history'); is(scalar @$msgs, 1, 'only one message in history'); is($ibx->mm->num_for('a-mid@b'), 2, 'exists with second article number');