@@ -37,7 +37,7 @@ EXCEPTIONS: {
37
37
subtest ' dies if missing any of the config keys' => sub {
38
38
plan tests => 4;
39
39
40
- foreach my $required ( keys %{ $config_expected } ) {
40
+ foreach my $required ( sort keys %{ $config_expected } ) {
41
41
my $stored = delete $config_expected -> { $required };
42
42
43
43
dies_ok { Pasteburn::Config::_validate( $config_expected ) }
@@ -50,8 +50,8 @@ EXCEPTIONS: {
50
50
subtest ' dies if missing any of the config sub keys' => sub {
51
51
plan tests => 5;
52
52
53
- foreach my $required ( keys %{ $config_expected } ) {
54
- foreach my $required_sub_key ( keys %{ $config_expected -> {$required } } ) {
53
+ foreach my $required ( sort keys %{ $config_expected } ) {
54
+ foreach my $required_sub_key ( sort keys %{ $config_expected -> {$required } } ) {
55
55
my $stored = delete $config_expected -> {$required }{$required_sub_key };
56
56
57
57
dies_ok { Pasteburn::Config::_validate( $config_expected ) }
@@ -86,6 +86,57 @@ EXCEPTIONS: {
86
86
87
87
$config_expected -> {cookie }{secret_key } = $stored ;
88
88
};
89
+
90
+ subtest ' dies if secret_key is empty string' => sub {
91
+ plan tests => 1;
92
+
93
+ my $stored = delete $config_expected -> {cookie }{secret_key };
94
+ $config_expected -> {cookie }{secret_key } = ' ' ;
95
+
96
+ dies_ok { Pasteburn::Config::_validate( $config_expected ) }
97
+ " dies if cookie secret_key is default empty string" ;
98
+
99
+ $config_expected -> {cookie }{secret_key } = $stored ;
100
+ };
101
+
102
+ subtest ' dies if secret scrub does not validate value' => sub {
103
+ plan tests => 3;
104
+
105
+ my $secret_scrub = $config_expected -> {secret }{scrub };
106
+ foreach my $value ( qw{ -1 2 a } ) {
107
+ $config_expected -> {secret }{scrub } = $value ;
108
+ dies_ok { Pasteburn::Config::_validate( $config_expected ) }
109
+ " dies if secret scrub is $value " ;
110
+
111
+ $config_expected -> {secret }{scrub } = $secret_scrub ;
112
+ }
113
+ };
114
+
115
+ subtest ' dies if passphrase allow_blank does not validate value' => sub {
116
+ plan tests => 3;
117
+
118
+ my $allow_blank = $config_expected -> {passphrase }{allow_blank };
119
+ foreach my $value ( qw{ -1 2 a } ) {
120
+ $config_expected -> {passphrase }{allow_blank } = $value ;
121
+ dies_ok { Pasteburn::Config::_validate( $config_expected ) }
122
+ " dies if passphrase allow_blank is $value " ;
123
+
124
+ $config_expected -> {passphrase }{allow_blank } = $allow_blank ;
125
+ }
126
+ };
127
+
128
+ subtest ' dies if footer links does not validate value' => sub {
129
+ plan tests => 3;
130
+
131
+ my $links = $config_expected -> {footer }{links };
132
+ foreach my $value ( qw{ -1 2 a } ) {
133
+ $config_expected -> {footer }{links } = $value ;
134
+ dies_ok { Pasteburn::Config::_validate( $config_expected ) }
135
+ " dies if footer links is $value " ;
136
+
137
+ $config_expected -> {footer }{links } = $links ;
138
+ }
139
+ };
89
140
}
90
141
91
142
done_testing;
0 commit comments