Add pubkey importing support
[app-edwardng.git] / t / App-EdwardNG.t
1 #!/usr/bin/perl -w
2 use strict;
3 use warnings;
4
5 use constant KEYID => '34B22806';
6 use constant EMAIL => 'EdwardNG (Key for testing EdwardNG) <edwardng@ieval.ro>';
7
8 use Test::More tests => 20;
9 BEGIN { use_ok('App::EdwardNG', qw/import_pubkeys process_message/) };
10 $ENV{EDWARDNG_DEBUG} = $ENV{TEST_VERBOSE};
11 $ENV{EDWARDNG_KEYDIR} = 't/keydir';
12
13 my $contains_pubkey = App::EdwardNG::mp->parse_open('t/data/contains-pubkey');
14 my @keys = import_pubkeys ($contains_pubkey, App::EdwardNG::mg);
15 is $keys[0], 'DE12658069C2F09BF996CC855AAF79E969137654', 'import_pubkeys';
16
17 my ($tmpl, %params);
18
19 sub process {
20 my ($name, $expected) = @_;
21 ($tmpl, %params) = process_message("t/data/$name");
22 is $tmpl, $expected, "Result for $name is $expected" or diag "GnuPG said: $params{message}"
23 }
24
25 process 'mime-signed', 'sign';
26 is $params{keyid}, KEYID, 'mime-signed keyid';
27 is $params{email}, EMAIL, 'mime-signed email';
28
29 process 'mime-encrypted', 'encrypt';
30 like $params{plaintext}, qr/MIME encrypted/, 'mime-signed plaintext';
31
32 process 'mime-signed-encrypted', 'signencrypt';
33 is $params{keyid}, KEYID, 'mime-signed-encrypted keyid';
34 is $params{email}, EMAIL, 'mime-signed-encrypted email';
35 like $params{plaintext}, qr/MIME signed & encrypted/, 'mime-signed-encrypted plaintext';
36
37 process 'inline-signed', 'sign';
38 is $params{keyid}, KEYID, 'inline-signed keyid';
39 is $params{email}, EMAIL, 'inline-signed email';
40
41 process 'inline-encrypted', 'encrypt';
42 like $params{plaintext}, qr/Inline encrypted/, 'inline-signed plaintext';
43
44 process 'inline-signed-encrypted', 'signencrypt';
45 is $params{keyid}, KEYID, 'inline-signed-encrypted keyid';
46 is $params{email}, EMAIL, 'inline-signed-encrypted email';
47 like $params{plaintext}, qr/Inline signed & encrypted/, 'inline-signed-encrypted plaintext';
This page took 0.025788 seconds and 4 git commands to generate.