a try at mocking of inputs in WebPAC::Input::Test
[webpac2] / t / 1-config.t
index 7385022..dae78d5 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 8;
+use Test::More tests => 28;
 use Test::Exception;
 use blib;
 
@@ -19,16 +19,32 @@ $abs_path =~ s#/[^/]*$#/#;
 
 my $path = "$abs_path/conf/test.yml";
 
-ok(my $c = new WebPAC::Config( path => $path ), "new");
+ok(my $config = new WebPAC::Config( path => $path ), "new");
 
-cmp_ok($c->{path}, 'eq', $path, "path $path");
+cmp_ok($config->{path}, 'eq', $path, "path $path");
 
-ok($c->{config}, "config exist");
+ok($config->{config}, "config exist");
 
-isa_ok($c->databases, 'HASH', "databases");
-
-my @names = $c->databases;
+# $config->databases
 
+isa_ok($config->databases, 'HASH', "databases");
+my @names = $config->databases;
 isa_ok(\@names, 'ARRAY', "databases names");
-
 cmp_ok(@names, '==', 3, "got 3 names");
+isa_ok($config->databases, 'HASH', "databases");
+
+diag '$config->webpac = ', dump($config->webpac) if ($debug);
+
+isa_ok($config->webpac, 'HASH', "webpac");
+my @inputs = $config->webpac('inputs');
+diag "inputs = ",dump( @inputs ) if ($debug);
+isa_ok(\@inputs, 'ARRAY', "inputs");
+cmp_ok(@inputs, '==', 2, "got 2 webpac inputs");
+
+$config->iterate_inputs(sub {
+       my ($input,$database,$db_config) = @_;
+       isa_ok($input, 'HASH', 'input');
+       ok($database, 'database');
+       isa_ok($db_config, 'HASH', 'database config');
+       isa_ok($input->{normalize}, 'ARRAY', 'normalize');
+});