BEGIN { use_ok(
'Lemonldap::NG::Common::Conf'
) }
my
$confAcc
;
ok(
$confAcc
= new Lemonldap::NG::Common::Conf( {
type
=>
'Overlay'
,
dirName
=>
't/overlay_test'
,
overlayRealtype
=>
'File'
,
overlayDirectory
=>
't/overlay_test/overlay'
,
overlayWrite
=> 1,
}
),
'type => Overlay'
,
);
my
$cfg
;
unlink
't/overlay_test/lmConf-2.json'
,
't/overlay_test/lmConf-3.json'
;
ok(
$cfg
=
$confAcc
->load(1),
'Load conf'
)
or
print
STDERR
"$Lemonldap::NG::Common::Conf::msg $!"
;
my
$count
= 2;
ok( (
$cfg
->{a} eq
'string'
&&
$cfg
->{b} == 1 ),
'Normal parameters'
);
ok(
$cfg
->{globalStorage} eq
'Test::GlobalStorage'
,
'Scalar override'
);
ok(
ref
$cfg
->{globalStorageOptions} eq
'HASH'
&&
$cfg
->{globalStorageOptions}->{param} eq
'parameter'
,
'Hash override'
);
$count
+= 4;
$cfg
->{cfgNum} = 2;
$cfg
->{globalStorage} =
'Test2'
;
$cfg
->{globalStorageOptions} = {
param
=>
'parameter2'
};
ok(
$confAcc
->store(
$cfg
) == 2,
'Save'
);
$count
+= 1;
ok(
$cfg
=
$confAcc
->load(2),
'Load conf'
)
or
print
STDERR
"$Lemonldap::NG::Common::Conf::msg $!"
;
ok(
$cfg
->{globalStorage} eq
'Test2'
&&
$cfg
->{globalStorageOptions}->{param} eq
'parameter2'
,
'Succeed to update overwrite'
);
$count
+= 2;
$cfg
->{cfgNum} = 3;
$cfg
->{globalStorage} =
'Test::GlobalStorage'
;
$cfg
->{globalStorageOptions} = {
param
=>
'parameter'
};
ok(
$confAcc
->store(
$cfg
) == 3,
'Restore'
);
ok(
$cfg
=
$confAcc
->load(3),
'Load conf'
)
or
print
STDERR
"$Lemonldap::NG::Common::Conf::msg $!"
;
ok(
ref
$cfg
->{globalStorageOptions} eq
'HASH'
&&
$cfg
->{globalStorageOptions}->{param} eq
'parameter'
,
'Hash override'
);
$count
+= 3;
done_testing(
$count
);
unlink
't/overlay_test/lmConf-2.json'
,
't/overlay_test/lmConf-3.json'
;