use utf-8 encoding
[webpac2] / t / 1-config.t
1 #!/usr/bin/perl -w
2
3 use strict;
4 use lib 'lib';
5
6 use Test::More tests => 28;
7
8 BEGIN {
9 use_ok( 'WebPAC::Test' );
10 use_ok( 'WebPAC::Config' );
11 }
12
13 my $path = "$abs_path/conf/test.yml";
14
15 ok(my $config = new WebPAC::Config( path => $path ), "new");
16
17 cmp_ok($config->{path}, 'eq', $path, "path $path");
18
19 ok($config->{config}, "config exist");
20
21 # $config->databases
22
23 isa_ok($config->databases, 'HASH', "databases");
24 my @names = $config->databases;
25 isa_ok(\@names, 'ARRAY', "databases names");
26 cmp_ok(@names, '==', 3, "got 3 names");
27 isa_ok($config->databases, 'HASH', "databases");
28
29 diag '$config->webpac = ', dump($config->webpac) if ($debug);
30
31 isa_ok($config->webpac, 'HASH', "webpac");
32 my @inputs = $config->webpac('inputs');
33 diag "inputs = ",dump( @inputs ) if ($debug);
34 isa_ok(\@inputs, 'ARRAY', "inputs");
35 cmp_ok(@inputs, '==', 2, "got 2 webpac inputs");
36
37 $config->iterate_inputs(sub {
38         my ($input,$database,$db_config) = @_;
39         isa_ok($input, 'HASH', 'input');
40         ok($database, 'database');
41         isa_ok($db_config, 'HASH', 'database config');
42         isa_ok($input->{normalize}, 'ARRAY', 'normalize');
43 });