From 50a35e75885bb8105bd0cd074c0be0aeedbfc833 Mon Sep 17 00:00:00 2001 From: Christophe Maudoux Date: Sat, 2 Jan 2021 23:08:56 +0100 Subject: [PATCH] Improve unit test (#1976) --- lemonldap-ng-portal/t/68-FindUser-with-DBI.t | 43 +++++++++++++++----- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/lemonldap-ng-portal/t/68-FindUser-with-DBI.t b/lemonldap-ng-portal/t/68-FindUser-with-DBI.t index f5e6612a0..c83969519 100644 --- a/lemonldap-ng-portal/t/68-FindUser-with-DBI.t +++ b/lemonldap-ng-portal/t/68-FindUser-with-DBI.t @@ -5,7 +5,7 @@ use IO::String; require 't/test-lib.pm'; -my $maintests = 41; +my $maintests = 46; my $userdb = tempdb(); SKIP: { @@ -18,26 +18,26 @@ SKIP: { my $request; my $dbh = DBI->connect("dbi:SQLite:dbname=$userdb"); $dbh->do( -'CREATE TABLE users (uid text,password text,cn text,type text,guy text)' +'CREATE TABLE users (uid text,password text,cn text,type text,guy text, room text)' ); $dbh->do( -"INSERT INTO users VALUES ('dwho','dwho','Doctor who', 'character','good')" +"INSERT INTO users VALUES ('dwho','dwho','Doctor who', 'character','good','0')" ); $dbh->do( -"INSERT INTO users VALUES ('rtyler','rtyler','Rose Tyler','character','good')" +"INSERT INTO users VALUES ('rtyler','rtyler','Rose Tyler','character','good','0')" ); $dbh->do( -"INSERT INTO users VALUES ('davros','davros','Bad Guy','character','bad')" +"INSERT INTO users VALUES ('davros','davros','Bad Guy','character','bad','0')" ); $dbh->do( -"INSERT INTO users VALUES ('msmith','msmith','Mr Smith','character','good')" +"INSERT INTO users VALUES ('msmith','msmith','Mr Smith','character','good','0')" ); $dbh->do( -"INSERT INTO users VALUES ('dalek','dalek', 'The Daleks','mutant','bad')" +"INSERT INTO users VALUES ('dalek','dalek', 'The Daleks','mutant','bad','1')" ); my $client = LLNG::Manager::Test->new( { ini => { - logLevel => 'error', + logLevel => 'debug', authentication => 'DBI', userDB => 'Same', dbiAuthChain => "dbi:SQLite:dbname=$userdb", @@ -53,7 +53,7 @@ SKIP: { findUser => 1, impersonationRule => 1, findUserSearchingAttributes => - { uid => 'Login', guy => 'Kind', cn => 'Name' }, + { uid => 'Login', guy => 'Kind', cn => 'Name', room => 'Room' }, findUserExcludingAttributes => { type => 'mutant', uid => 'rtyler' }, } @@ -65,7 +65,7 @@ SKIP: { my ( $host, $url, $query ) = expectForm( $res, '#', undef, 'user', 'password', 'spoofId' ); ( $host, $url, $query ) = - expectForm( $res, '#', undef, 'uid', 'guy', 'cn' ); + expectForm( $res, '#', undef, 'uid', 'guy', 'cn', 'room' ); $request = ''; ok( $res = $client->_post( @@ -78,7 +78,7 @@ SKIP: { ( $host, $url, $query ) = expectForm( $res, '#', undef, 'user', 'password', 'spoofId' ); ( $host, $url, $query ) = - expectForm( $res, '#', undef, 'uid', 'guy', 'cn' ); + expectForm( $res, '#', undef, 'uid', 'guy', 'cn', 'room' ); ok( $res->[2]->[0] =~ m%%, 'id="findUser_cn"' ) or explain( $res->[2]->[0], 'id="findUser_cn"' ); + ok( + $res->[2]->[0] =~ +m%%, + 'id="findUser_room"' + ) or explain( $res->[2]->[0], 'id="findUser_room"' ); $request = 'uid=dwho'; ok( @@ -252,6 +257,22 @@ m%{result} == 1, ' Good result' ) + or explain( $json, 'result => 1' ); + ok( $json->{user} =~ /^(dwho|msmith|davros)$/, " Good user ($1)" ) + or explain( $json, "user => ?" ); } count($maintests); done_testing( count() );