modify test to test export of OpenPGP_to_OpenSSH_pub
[monkeysphere-validation-agent.git] / unit-tests / 40.keytrans / 10.openpgp2ssh.t
1 # -*- perl -*-
2 use Test::More;
3
4 use Crypt::Monkeysphere::Keytrans qw(GnuPGKey_to_OpenSSH_pub);
5 use GnuPG::Interface;
6 use File::Temp qw(tempdir);
7
8 plan tests => 1;
9
10 my $tempdir = tempdir("unitXXXXX", CLEANUP => 1);
11 my $gnupg = new GnuPG::Interface();
12 $gnupg->options->hash_init(homedir=>$tempdir);
13
14 my $openpgpdata = "
15 -----BEGIN PGP PUBLIC KEY BLOCK-----
16 Version: GnuPG v1.4.11 (GNU/Linux)
17
18 mI0ETa5YiwEEALJhsHgLEokvKM+d1oAAy+oaDywLWsbqzuCCqu5h9Hu7MYxeGmTA
19 tg8fXatgXEBUUe+e1i1aF94kTqcqcS5M+71ce2yHNyxl7U0pGVMOPiFiRVKK8x/7
20 wE2LTaPHhskc8kkKrxoJMbXmn0Oq5wn8xLkidIsVE+AyQ+HbD9C7UAnhABEBAAG0
21 NXRlc3Qga2V5IChETyBOT1QgVVNFISkgPHRlc3RAZXhhbXBsZS5uZXQ+IChJTlNF
22 Q1VSRSEpiL4EEwECACgFAk2uWIsCGwMFCQABUYAGCwkIBwMCBhUIAgkKCwQWAgMB
23 Ah4BAheAAAoJEEi/A6Yee54PGcID/iL1tRDgFnNaNNdEpChbjrWcoCIQOIw2VvYH
24 UJY3oiKPWv/f8NMOylFLBG9pjDUd96wkimUvAKccPDwuhwMQq+KTcDPZXm8AeeUX
25 IMHmPE33qqvifV9dFGlIGa4a3tmGjJvjhKmNSJGJWG9wRK3C2BrJdQVF9sk2FHXd
26 1nlddMRV
27 =MxOB
28 -----END PGP PUBLIC KEY BLOCK-----
29 ";
30
31
32 my $sshdata = "AAAAB3NzaC1yc2EAAAADAQABAAAAgQCyYbB4CxKJLyjPndaAAMvqGg8sC1rG6s7ggqruYfR7uzGMXhpkwLYPH12rYFxAVFHvntYtWhfeJE6nKnEuTPu9XHtshzcsZe1NKRlTDj4hYkVSivMf+8BNi02jx4bJHPJJCq8aCTG15p9DqucJ/MS5InSLFRPgMkPh2w/Qu1AJ4Q==";
33
34
35 my $input = IO::Handle->new();
36 my $output = IO::Handle->new();
37 my $handles = GnuPG::Handles->new(stdin => $input,
38                                   stdout => $output,
39                                   stderr => $output);
40
41 my $pid = $gnupg->import_keys(handles => $handles);
42
43 $input->write($openpgpdata);
44 $input->close();
45 waitpid($pid, 0);
46
47 my @keys = $gnupg->get_public_keys();
48
49 foreach $key (@keys) {
50   my $output = GnuPGKey_to_OpenSSH_pub($key);
51   is($sshdata, $output);
52 }
53
54
55
56
57