]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/cgi.t
mda: hoist out mda_filter_adjust
[public-inbox.git] / t / cgi.t
diff --git a/t/cgi.t b/t/cgi.t
index aedd79efbf3e089ac0780095ee72de9296515d92..1b4b06cb5eb47bb205ae128c9b53ee3e6e167307 100644 (file)
--- a/t/cgi.t
+++ b/t/cgi.t
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2018 all contributors <meta@public-inbox.org>
+# Copyright (C) 2014-2019 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 # FIXME: this test is too slow and most non-CGI-requirements
 # should be moved over to things which use test_psgi
@@ -7,7 +7,6 @@ use warnings;
 use Test::More;
 use Email::MIME;
 use File::Temp qw/tempdir/;
-use Cwd;
 eval { require IPC::Run };
 plan skip_all => "missing IPC::Run for t/cgi.t" if $@;
 
@@ -30,7 +29,8 @@ my $cfgpfx = "publicinbox.test";
        close $fh or die "close: $!\n";
        my %cfg = (
                "$cfgpfx.address" => $addr,
-               "$cfgpfx.mainrepo" => $maindir,
+               "$cfgpfx.inboxdir" => $maindir,
+               "$cfgpfx.indexlevel" => 'basic',
        );
        while (my ($k,$v) = each %cfg) {
                is(0, system(qw(git config --file), $pi_config, $k, $v),
@@ -40,9 +40,12 @@ my $cfgpfx = "publicinbox.test";
 
 use_ok 'PublicInbox::Git';
 use_ok 'PublicInbox::Import';
-use_ok 'Email::MIME';
-my $git = PublicInbox::Git->new($maindir);
-my $im = PublicInbox::Import->new($git, 'test', $addr);
+use_ok 'PublicInbox::Inbox';
+use_ok 'PublicInbox::InboxWritable';
+use_ok 'PublicInbox::Config';
+my $cfg = PublicInbox::Config->new($pi_config);
+my $ibx = $cfg->lookup_name('test');
+my $im = PublicInbox::InboxWritable->new($ibx)->importer;
 
 {
        local $ENV{HOME} = $home;
@@ -104,8 +107,9 @@ EOF
        like($res->{head}, qr/^Status: 501 /, "search not-yet-enabled");
        my $indexed;
        eval {
+               require DBD::SQLite;
                require PublicInbox::SearchIdx;
-               my $s = PublicInbox::SearchIdx->new($maindir, 1);
+               my $s = PublicInbox::SearchIdx->new($ibx, 1);
                $s->index_sync;
                $indexed = 1;
        };
@@ -121,6 +125,7 @@ EOF
                };
        } else {
                like($res->{head}, qr/^Status: 501 /, "search not available");
+               SKIP: { skip 'DBD::SQLite not available', 2 };
        }
 
        my $have_xml_feed = eval { require XML::Feed; 1 } if $indexed;
@@ -133,6 +138,8 @@ EOF
                my $p = XML::Feed->parse(\($res->{body}));
                is($p->format, "Atom", "parsed atom feed");
                is(scalar $p->entries, 3, "parsed three entries");
+       } else {
+               SKIP: { skip 'DBD::SQLite or XML::Feed missing', 2 };
        }
 }