Append unit test (#1741)
This commit is contained in:
parent
c210333908
commit
ec7ae5f3d6
65
lemonldap-ng-manager/t/11-save-appCat-changed-conf.t
Normal file
65
lemonldap-ng-manager/t/11-save-appCat-changed-conf.t
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
# Verify that an unmodified configuration is rejected
|
||||||
|
|
||||||
|
use Data::Dumper;
|
||||||
|
use Test::More;
|
||||||
|
use strict;
|
||||||
|
use JSON;
|
||||||
|
require 't/test-lib.pm';
|
||||||
|
|
||||||
|
my @struct =
|
||||||
|
qw[t/jsonfiles/03-base-tree-appCat-modifed.json];
|
||||||
|
my @desc = ( 'Changed conf with deleted Category' );
|
||||||
|
my $confFiles = [ 't/conf/lmConf-1.json', 't/conf/lmConf-2.json' ];
|
||||||
|
|
||||||
|
sub body {
|
||||||
|
return 0 unless (@struct);
|
||||||
|
my $t = shift @struct;
|
||||||
|
return IO::File->new( $t, 'r' );
|
||||||
|
}
|
||||||
|
|
||||||
|
# Delete lmConf-2.json if exists
|
||||||
|
eval { unlink $confFiles->[1]; };
|
||||||
|
mkdir 't/sessions';
|
||||||
|
|
||||||
|
# Try to save a modified conf
|
||||||
|
while ( my $body = &body() ) {
|
||||||
|
my $desc = shift @desc;
|
||||||
|
my ( $res, $resBody );
|
||||||
|
ok(
|
||||||
|
$res =
|
||||||
|
&client->_post( '/confs/', 'cfgNum=1', $body, 'application/json' ),
|
||||||
|
"$desc: positive result"
|
||||||
|
);
|
||||||
|
ok( $res->[0] == 200, "$desc: result code is 200" )
|
||||||
|
or print STDERR Dumper($res);
|
||||||
|
ok(
|
||||||
|
$resBody = from_json( $res->[2]->[0] ),
|
||||||
|
"$desc: result body contains JSON text"
|
||||||
|
);
|
||||||
|
|
||||||
|
#print STDERR Dumper($resBody);
|
||||||
|
ok( $resBody->{result} == 1, "$desc: JSON response contains \"result:1\"" );
|
||||||
|
ok( @{ $resBody->{details}->{__changes__} } eq 1,
|
||||||
|
"$desc: conf has changed" )
|
||||||
|
or print STDERR Dumper($resBody);
|
||||||
|
ok( $resBody->{details}->{__changes__}->[0]->{new} eq 'categoryList, Administration, Documentation',
|
||||||
|
"$desc: new key received" )
|
||||||
|
or print STDERR Dumper($resBody);
|
||||||
|
ok( $resBody->{details}->{__changes__}->[0]->{old} eq 'categoryList, Administration, Documentation, Sample applications',
|
||||||
|
"$desc: old key received" )
|
||||||
|
or print STDERR Dumper($resBody);
|
||||||
|
ok( $resBody->{details}->{__changes__}->[0]->{key} eq 'Deletes in cat(s), Sample applications',
|
||||||
|
"$desc: key received" )
|
||||||
|
or print STDERR Dumper($resBody);
|
||||||
|
ok( -e $confFiles->[1], "$desc: file is created" );
|
||||||
|
|
||||||
|
#print STDERR Dumper($resBody);
|
||||||
|
count(9);
|
||||||
|
}
|
||||||
|
eval { unlink $confFiles->[1]; rmdir 't/sessions'; };
|
||||||
|
|
||||||
|
done_testing( count() );
|
||||||
|
|
||||||
|
# Remove sessions directory
|
||||||
|
`rm -rf t/sessions`;
|
||||||
|
|
|
@ -39,7 +39,7 @@ foreach my $i ( 0 .. 1 ) {
|
||||||
|
|
||||||
ok(
|
ok(
|
||||||
@{ $resBody->{details}->{__changes__} } == 20,
|
@{ $resBody->{details}->{__changes__} } == 20,
|
||||||
'JSON response contains 24 changes'
|
'JSON response contains 20 changes'
|
||||||
) or print STDERR Dumper($resBody);
|
) or print STDERR Dumper($resBody);
|
||||||
|
|
||||||
#print STDERR Dumper($resBody);
|
#print STDERR Dumper($resBody);
|
||||||
|
|
2208
lemonldap-ng-manager/t/jsonfiles/03-base-tree-appCat-modifed.json
Normal file
2208
lemonldap-ng-manager/t/jsonfiles/03-base-tree-appCat-modifed.json
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user