about summary refs log tree commit homepage
path: root/t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-02-06 12:18:34 +0000
committerEric Wong <e@80x24.org>2021-02-07 03:34:32 +0000
commit4113bc92d0c4aacc4f95676de74bed63a5687bdf (patch)
treec4c183e2e9f4ff83007ae15fe40e654985bc305c /t
parent316b81377cfea565de03a5c51d988c1652b85c08 (diff)
downloadpublic-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.t39
-rw-r--r--t/lei.t35
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;
diff --git a/t/lei.t b/t/lei.t
index df333957..9f92d895 100644
--- a/t/lei.t
+++ b/t/lei.t
@@ -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}) {