1 |
dpavlin |
681 |
#!/usr/bin/perl -w |
2 |
|
|
|
3 |
|
|
use strict; |
4 |
dpavlin |
700 |
use Test::More tests => 28; |
5 |
dpavlin |
681 |
use Test::Exception; |
6 |
|
|
use blib; |
7 |
|
|
|
8 |
|
|
use Data::Dump qw/dump/; |
9 |
|
|
use Cwd qw/abs_path/; |
10 |
|
|
|
11 |
|
|
BEGIN { |
12 |
|
|
use_ok( 'WebPAC::Config' ); |
13 |
|
|
} |
14 |
|
|
|
15 |
|
|
my $debug = shift @ARGV; |
16 |
|
|
|
17 |
|
|
ok(my $abs_path = abs_path($0), "abs_path"); |
18 |
|
|
$abs_path =~ s#/[^/]*$#/#; |
19 |
|
|
|
20 |
|
|
my $path = "$abs_path/conf/test.yml"; |
21 |
|
|
|
22 |
dpavlin |
682 |
ok(my $config = new WebPAC::Config( path => $path ), "new"); |
23 |
dpavlin |
681 |
|
24 |
dpavlin |
682 |
cmp_ok($config->{path}, 'eq', $path, "path $path"); |
25 |
dpavlin |
681 |
|
26 |
dpavlin |
682 |
ok($config->{config}, "config exist"); |
27 |
dpavlin |
681 |
|
28 |
dpavlin |
682 |
# $config->databases |
29 |
dpavlin |
681 |
|
30 |
dpavlin |
682 |
isa_ok($config->databases, 'HASH', "databases"); |
31 |
|
|
my @names = $config->databases; |
32 |
dpavlin |
681 |
isa_ok(\@names, 'ARRAY', "databases names"); |
33 |
dpavlin |
682 |
cmp_ok(@names, '==', 3, "got 3 names"); |
34 |
|
|
isa_ok($config->databases, 'HASH', "databases"); |
35 |
dpavlin |
681 |
|
36 |
dpavlin |
682 |
diag '$config->webpac = ', dump($config->webpac) if ($debug); |
37 |
|
|
|
38 |
|
|
isa_ok($config->webpac, 'HASH', "webpac"); |
39 |
|
|
my @inputs = $config->webpac('inputs'); |
40 |
|
|
diag "inputs = ",dump( @inputs ) if ($debug); |
41 |
|
|
isa_ok(\@inputs, 'ARRAY', "inputs"); |
42 |
|
|
cmp_ok(@inputs, '==', 2, "got 2 webpac inputs"); |
43 |
dpavlin |
685 |
|
44 |
|
|
$config->iterate_inputs(sub { |
45 |
dpavlin |
688 |
my ($input,$database,$db_config) = @_; |
46 |
|
|
isa_ok($input, 'HASH', 'input'); |
47 |
|
|
ok($database, 'database'); |
48 |
|
|
isa_ok($db_config, 'HASH', 'database config'); |
49 |
dpavlin |
700 |
isa_ok($input->{normalize}, 'ARRAY', 'normalize'); |
50 |
dpavlin |
685 |
}); |