X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Flei-import.t;h=6e9a853cf421d8a6ce6c2fbbe1bb06c45b65c7b3;hb=1c3e60b66e01df89afdf74990a849a5a7386f9c7;hp=33ce490d59f1e976dfa8db29351d06253fd578b8;hpb=aca6555ed4696ba1f24296a63afa7450a5afde2a;p=public-inbox.git diff --git a/t/lei-import.t b/t/lei-import.t index 33ce490d..6e9a853c 100644 --- a/t/lei-import.t +++ b/t/lei-import.t @@ -4,7 +4,7 @@ use strict; use v5.10.1; use PublicInbox::TestCommon; test_lei(sub { ok(!lei(qw(import -F bogus), 't/plack-qp.eml'), 'fails with bogus format'); -like($lei_err, qr/\bbogus unrecognized/, 'gave error message'); +like($lei_err, qr/\bis `eml', not --in-format/, 'gave error message'); lei_ok(qw(q s:boolean), \'search miss before import'); unlike($lei_out, qr/boolean/i, 'no results, yet'); @@ -79,6 +79,38 @@ is($res->[1], undef, 'only one result'); is($res->[0]->{'m'}, 'k@y', 'got expected message'); is_deeply($res->[0]->{kw}, ['seen'], "`seen' keywords set"); +# no From, Sender, or Message-ID +$eml_str = <<'EOM'; +Subject: draft message with no sender +References: +Resent-Message-ID: + +No use for a name +EOM +lei_ok([qw(import -F eml -)], undef, { %$lei_opt, 0 => \$eml_str }); +lei_ok(['q', 's:draft message with no sender']); +my $draft_a = json_utf8->decode($lei_out); +ok(!exists $draft_a->[0]->{'m'}, 'no fake mid stored or exposed'); +lei_ok([qw(tag -F eml - +kw:draft)], undef, { %$lei_opt, 0 => \$eml_str }); +lei_ok(['q', 's:draft message with no sender']); +my $draft_b = json_utf8->decode($lei_out); +my $kw = delete $draft_b->[0]->{kw}; +is_deeply($kw, ['draft'], 'draft kw set'); +is_deeply($draft_a, $draft_b, 'fake Message-ID lookup') or + diag explain($draft_a, $draft_b); +lei_ok('blob', '--mail', $draft_b->[0]->{blob}); +is($lei_out, $eml_str, 'draft retrieved by blob'); + + +$eml_str = "Message-ID: \nSubject: label-this\n\n"; +lei_ok([qw(import -F eml - +kw:seen +L:inbox)], + undef, { %$lei_opt, 0 => \$eml_str }); +lei_ok(qw(q m:inbox@example.com)); +$res = json_utf8->decode($lei_out); +is_deeply($res->[0]->{kw}, ['seen'], 'keyword set'); +is_deeply($res->[0]->{L}, ['inbox'], 'label set'); + + # see t/lei_to_mail.t for "import -F mbox*" }); done_testing;