]> Dogcows Code - chaz/groupsecret/blob - t/02-file.t
initial commit
[chaz/groupsecret] / t / 02-file.t
1 #!/usr/bin/env perl
2
3 use warnings;
4 use strict;
5
6 use FindBin qw($Bin);
7
8 use Test::More tests => 7;
9
10 use App::GroupSecret::File;
11
12 my $nonexistent = App::GroupSecret::File->new("$Bin/keyfiles/nonexistent.yml");
13
14 is_deeply $nonexistent->info, {
15 version => 1,
16 keys => {},
17 secret => undef,
18 }, 'newly initialized file is empty';
19
20 my $empty = App::GroupSecret::File->new("$Bin/keyfiles/empty.yml");
21
22 is_deeply $empty->info, {
23 version => 1,
24 keys => {},
25 secret => undef,
26 }, 'empty file info matches';
27
28 is $empty->secret, undef, 'empty secret is undef';
29 is $empty->version, 1, 'empty version is one';
30
31 my $key1 = $empty->add_key("$Bin/keys/foo_rsa.pub");
32 is_deeply $key1, {
33 comment => 'foo',
34 filename => 'foo_rsa.pub',
35 secret_passphrase => undef,
36 type => 'rsa',
37 }, 'add_key in scalar context works';
38
39 $empty->delete_key('89b3fb766cf9568ea81adfba1cba7d05');
40 is_deeply $empty->keys, {}, 'file is empty again after delete_key';
41
42 my $basic = App::GroupSecret::File->new("$Bin/keyfiles/basic.yml");
43
44 is_deeply $basic->keys, {
45 '89b3fb766cf9568ea81adfba1cba7d05' => {
46 comment => 'foo',
47 filename => 'foo_rsa.pub',
48 secret_passphrase => undef,
49 type => 'rsa',
50 },
51 }, 'keys accessor works';
52
This page took 0.036799 seconds and 4 git commands to generate.