1#
2# Test cases for ssh2 keys
3#
4use Net::SSH::AuthorizedKey;
5use Net::SSH::AuthorizedKey::SSH2;
6use Test::More;
7use Log::Log4perl qw(:easy);
8
9# Log::Log4perl->easy_init($DEBUG);
10
11plan tests => 3;
12
13my $t2key = 'ssh-rsa AAAAB3NzaCKK7696k6U= bar@foo.ms.com';
14
15  # specific
16my $pk = Net::SSH::AuthorizedKey::SSH2->parse($t2key);
17
18$pk->option( "no-port-forwarding", 1 );
19$pk->option( "no-agent-forwarding", 1 );
20$pk->option( "no-x11-forwarding", 1 );
21$pk->option( "no-pty", 1 );
22$pk->option( "no-user-rc", 1 );
23$pk->option( "command", "blah blah" );
24$pk->option( "environment", "moo" );
25$pk->option( "from", "here,there" );
26$pk->option( "permitopen", "oink" );
27$pk->option( "tunnel", "yes, please" );
28
29like $pk->as_string(), qr/no-port-forwarding,no-agent-forwarding,no-x11-forwarding,no-pty,no-user-rc,command="blah blah",environment="moo",from="here,there",permitopen="oink",tunnel="yes, please" ssh-rsa/, "options in order";
30
31$pk->option_delete( "command");
32$pk->option_delete( "no-pty");
33
34like $pk->as_string(), qr/no-port-forwarding,no-agent-forwarding,no-x11-forwarding,no-user-rc,environment="moo",from="here,there",permitopen="oink",tunnel="yes, please" ssh-rsa/, "options in order after delete";
35
36my $t3key = 'from="a,b",no-pty,environment="moo",no-agent-forwarding ssh-rsa AAAAB3NzaCKK7696k6U= bar@foo.ms.com';
37
38  # specific
39$pk = Net::SSH::AuthorizedKey::SSH2->parse($t3key);
40like $pk->as_string(), qr/from="a,b",no-pty,environment="moo",no-agent-forwarding ssh-rsa/;
41