From b66b53809698130ec4758066f373ca7362fba375 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 22 Jun 2017 21:25:39 +0000 Subject: test for PublicInbox::Filter::RubyLang This will make it easier to prevent breakage in the future. --- t/filter_rubylang.t | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 t/filter_rubylang.t (limited to 't') diff --git a/t/filter_rubylang.t b/t/filter_rubylang.t new file mode 100644 index 00000000..bfccc35b --- /dev/null +++ b/t/filter_rubylang.t @@ -0,0 +1,58 @@ +# Copyright (C) 2017 all contributors +# License: AGPL-3.0+ +use strict; +use warnings; +use Test::More; +use Email::MIME; +use File::Temp qw/tempdir/; +use_ok 'PublicInbox::Filter::RubyLang'; + +my $f = PublicInbox::Filter::RubyLang->new; +ok($f, 'created PublicInbox::Filter::RubyLang object'); +my $msg = <<'EOF'; +Subject: test + +keep this + +Unsubscribe: + +EOF +my $mime = Email::MIME->new($msg); +my $ret = $f->delivery($mime); +is($ret, $mime, "delivery successful"); +is($mime->body, "keep this\n", 'normal message filtered OK'); + +SKIP: { + eval 'require DBD::SQLite'; + skip 'DBD::SQLite missing for altid mapping', 4 if $@; + use_ok 'PublicInbox::Inbox'; + my $git_dir = tempdir('pi-filter_rubylang-XXXXXX', + TMPDIR => 1, CLEANUP => 1); + is(mkdir("$git_dir/public-inbox"), 1, "created public-inbox dir"); + my $altid = [ "serial:ruby-core:file=msgmap.sqlite3" ]; + my $ibx = PublicInbox::Inbox->new({ mainrepo => $git_dir, + altid => $altid }); + $f = PublicInbox::Filter::RubyLang->new(-inbox => $ibx); + $msg = <<'EOF'; +X-Mail-Count: 12 +Message-ID: + +EOF + $mime = Email::MIME->new($msg); + $ret = $f->delivery($mime); + is($ret, $mime, "delivery successful"); + my $mm = PublicInbox::Msgmap->new($git_dir); + is($mm->num_for('a@b'), 12, 'MM entry created based on X-ML-Count'); + + $msg = <<'EOF'; +X-Mail-Cout: 12 +Message-ID: + +EOF + + $mime = Email::MIME->new($msg); + $ret = $f->delivery($mime); + is($ret, 100, "delivery rejected without X-Mail-Count"); +} + +done_testing(); -- cgit v1.2.3-24-ge0c7