aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2017-10-18 21:12:49 +1300
committerTom Ryder <tom@sanctum.geek.nz>2017-10-18 21:19:14 +1300
commita188c5a5ceb9df03da1640af7287db67eb81b6b7 (patch)
treec7f3ff85005f2c6c8e5e5ebb6f64c30e49c1b18a
parentAdd encrypt-sign build test (diff)
downloadMail-Run-Crypt-a188c5a5ceb9df03da1640af7287db67eb81b6b7.tar.gz
Mail-Run-Crypt-a188c5a5ceb9df03da1640af7287db67eb81b6b7.zip
Add test that signing requires key and passphrase
-rw-r--r--MANIFEST1
-rw-r--r--t/require-key-data.t39
2 files changed, 40 insertions, 0 deletions
diff --git a/MANIFEST b/MANIFEST
index 379a55b..9ec0ce3 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -7,6 +7,7 @@ MANIFEST
README
t/encrypt.t
t/encrypt-sign.t
+t/require-key-data.t
t/require-mailto.t
xt/manifest.t
xt/pod-coverage.t
diff --git a/t/require-key-data.t b/t/require-key-data.t
new file mode 100644
index 0000000..198e7ea
--- /dev/null
+++ b/t/require-key-data.t
@@ -0,0 +1,39 @@
+#!perl -T
+
+use strict;
+use warnings;
+use utf8;
+
+use English '-no_match_vars';
+use Test::More tests => 4;
+
+use Mail::Run::Crypt;
+
+our $VERSION = '0.06';
+
+{
+ my $mrc;
+ my $error;
+ my %opts = (
+ mailto => 'nobody@example.com',
+ sign => 1,
+ passphrase => 'faster than the fastest horse alive'
+ );
+ eval { $mrc = Mail::Run::Crypt->new(%opts) } or $error = $EVAL_ERROR;
+ ok( defined $error, 'no_keyid_failed' );
+ ok( $error =~ m/^\Qkeyid required for signing/msx, 'no_keyid_errorstr' );
+}
+
+{
+ my $mrc;
+ my $error;
+ my %opts = (
+ mailto => 'nobody@example.com',
+ sign => 1,
+ keyid => '0x12345678DEADBEEF'
+ );
+ eval { $mrc = Mail::Run::Crypt->new(%opts) } or $error = $EVAL_ERROR;
+ ok( defined $error, 'no_passphrase_failed' );
+ ok( $error =~ m/^\Qpassphrase required for signing/msx,
+ 'no_passphrase_errorstr' );
+}