use strict;
use warnings;
use Path::Class;
use Test::More 'no_plan';
use Test::Exception;
my $thisdir=file($0)->parent->absolute;
BEGIN { use_ok('WebCoso::Config'); }
{
my $conf_file=<<'EOF';
res('src/file1.rest.txt','Id','dst/file.html');
EOF
ok(WebCoso::Config->read_scalar($conf_file,"$thisdir/config-in-test"),'eseguita la configurazione');
my @resources=WebCoso::Config->get_all_resources();
is(scalar @resources,1,'una risorsa definta');
isa_ok($resources[0],'WebCoso::Config::Resource');
is_deeply(
[$resources[0]->axes()],
['filename'],
'un solo asse');
is_deeply(
[$resources[0]->axis('filename')],
["$thisdir/src/file1.rest.txt"],
'filename');
is($resources[0]->datastream(filename=>"$thisdir/src/file1.rest.txt"),
<<'EOF','');
Titolo
======
testo
EOF
is_deeply(
[$resources[0]->properties()],
[],
'no properties');
is_deeply(
[$resources[0]->collections()],
[],
'no collections');
}
WebCoso::Config->clear();
{
my $conf_file=<<'EOF';
res('src/file1.rest.txt','src/nonce.rest.txt','Id','dst/file.html');
EOF
ok(WebCoso::Config->read_scalar($conf_file,"$thisdir/config-in-test"),'eseguita la configurazione');
my @resources=WebCoso::Config->get_all_resources();
is(scalar @resources,1,'una risorsa definta');
is_deeply(
[$resources[0]->axis('filename')],
["$thisdir/src/file1.rest.txt", "$thisdir/src/nonce.rest.txt"],
'filenames');
dies_ok {$resources[0]->datastream(filename=>"$thisdir/src/nonce.rest.txt")} 'muore se non trova il file';
}
WebCoso::Config->clear();
{
my $conf_file=<<'EOF';
coll('coll1');
EOF
ok(WebCoso::Config->read_scalar($conf_file,"$thisdir/config-in-test"),'eseguita la configurazione');
is(scalar WebCoso::Config->get_all_resources(),0,'nessuna risorsa');
my @collections=WebCoso::Config->get_all_collections();
is(scalar @collections,1,'una collezione');
}