diff options
author | Eric Wong <e@80x24.org> | 2021-02-06 12:18:34 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-02-07 03:34:32 +0000 |
commit | 4113bc92d0c4aacc4f95676de74bed63a5687bdf (patch) | |
tree | c4c183e2e9f4ff83007ae15fe40e654985bc305c /t | |
parent | 316b81377cfea565de03a5c51d988c1652b85c08 (diff) | |
download | public-inbox-4113bc92d0c4aacc4f95676de74bed63a5687bdf.tar.gz |
This will make it easier to maintain and test lei going forward, we need to be testing against existing read-only daemons. We'll also save ourselves some boilerplate by exporting all the Test::More methods directly in TestCommon We'll start using this by splitting out the latest "lei import" tests into its own file.
Diffstat (limited to 't')
-rw-r--r-- | t/lei-import.t | 39 | ||||
-rw-r--r-- | t/lei.t | 35 |
2 files changed, 39 insertions, 35 deletions
diff --git a/t/lei-import.t b/t/lei-import.t new file mode 100644 index 00000000..709d89fa --- /dev/null +++ b/t/lei-import.t @@ -0,0 +1,39 @@ +#!perl -w +# Copyright (C) 2020-2021 all contributors <meta@public-inbox.org> +# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> +use strict; use v5.10.1; use PublicInbox::TestCommon; +test_lei(sub { + +ok($lei->(qw(q s:boolean)), 'search miss before import'); +unlike($lei_out, qr/boolean/i, 'no results, yet'); +open my $fh, '<', 't/data/0001.patch' or BAIL_OUT $!; +ok($lei->([qw(import -f eml -)], undef, { %$lei_opt, 0 => $fh }), + 'import single file from stdin'); +close $fh; +ok($lei->(qw(q s:boolean)), 'search hit after import'); +ok($lei->(qw(import -f eml), 't/data/message_embed.eml'), + 'import single file by path'); + +my $str = <<''; +From: a@b +Message-ID: <x@y> +Status: RO + +my $opt = { %$lei_opt, 0 => \$str }; +ok($lei->([qw(import -f eml -)], undef, $opt), + 'import single file with keywords from stdin'); +$lei->(qw(q m:x@y)); +my $res = json_utf8->decode($lei_out); +is($res->[1], undef, 'only one result'); +is_deeply($res->[0]->{kw}, ['seen'], "message `seen' keyword set"); + +$str =~ tr/x/v/; # v@y +ok($lei->([qw(import --no-kw -f eml -)], undef, $opt), + 'import single file with --no-kw from stdin'); +$lei->(qw(q m:v@y)); +$res = json_utf8->decode($lei_out); +is($res->[1], undef, 'only one result'); +is_deeply($res->[0]->{kw}, [], 'no keywords set'); + +}); +done_testing; @@ -41,7 +41,6 @@ local $ENV{GIT_COMMITTER_EMAIL} = 'lei@example.com'; local $ENV{GIT_COMMITTER_NAME} = 'lei user'; local $ENV{XDG_RUNTIME_DIR} = "$home/xdg_run"; local $ENV{HOME} = $home; -local $ENV{FOO} = 'BAR'; mkdir "$home/xdg_run", 0700 or BAIL_OUT "mkdir: $!"; my $home_trash = [ "$home/.local", "$home/.config", "$home/junk" ]; my $cleanup = sub { rmtree([@$home_trash, @_]) }; @@ -395,39 +394,6 @@ SKIP: { }; # /SKIP }; -my $test_import = sub { - $cleanup->(); - ok($lei->(qw(q s:boolean)), 'search miss before import'); - unlike($out, qr/boolean/i, 'no results, yet'); - open my $fh, '<', 't/data/0001.patch' or BAIL_OUT $!; - ok($lei->([qw(import -f eml -)], undef, { %$opt, 0 => $fh }), - 'import single file from stdin'); - close $fh; - ok($lei->(qw(q s:boolean)), 'search hit after import'); - ok($lei->(qw(import -f eml), 't/data/message_embed.eml'), - 'import single file by path'); - - my $str = <<''; -From: a@b -Message-ID: <x@y> -Status: RO - - ok($lei->([qw(import -f eml -)], undef, { %$opt, 0 => \$str }), - 'import single file with keywords from stdin'); - $lei->(qw(q m:x@y)); - my $res = $json->decode($out); - is($res->[1], undef, 'only one result'); - is_deeply($res->[0]->{kw}, ['seen'], "message `seen' keyword set"); - - $str =~ tr/x/v/; # v@y - ok($lei->([qw(import --no-kw -f eml -)], undef, { %$opt, 0 => \$str }), - 'import single file with --no-kw from stdin'); - $lei->(qw(q m:v@y)); - $res = $json->decode($out); - is($res->[1], undef, 'only one result'); - is_deeply($res->[0]->{kw}, [], 'no keywords set'); -}; - my $test_lei_common = sub { $test_help->(); $test_config->(); @@ -435,7 +401,6 @@ my $test_lei_common = sub { $test_external->(); $test_completion->(); $test_fail->(); - $test_import->(); }; if ($ENV{TEST_LEI_ONESHOT}) { |