Add DBI in e2e-tests

This commit is contained in:
Xavier Guimard 2017-02-26 08:04:39 +00:00
parent 11977f19c1
commit 38365b94ee
5 changed files with 52 additions and 4 deletions

View File

@ -401,13 +401,21 @@ e2e-tests/conf/apache2.pid: start_web_server
start_web_server: all prepare_test_server
# Clean old server if launched
@if test "$(TESTBACKEND)" = "DBI"; then \
if test "$(TESTBACKEND)" = "DBI"; then \
echo 'create table lmConfig (cfgNum int, data text);'|sqlite3 e2e-tests/conf/config.db; \
echo 'create table sessions (id text, a_session text, LastUpdated int);'|sqlite3 e2e-tests/conf/sessions.db; \
perl -Ilemonldap-ng-common/blib/lib ./lemonldap-ng-common/scripts/convertConfig \
--current=e2e-tests/conf/lemonldap-ng.ini \
--new=e2e-tests/conf/lemonldap-ng-sql.ini; \
mv e2e-tests/conf/lemonldap-ng-sql.ini e2e-tests/conf/lemonldap-ng.ini; \
LLNG_DEFAULTCONFFILE=e2e-tests/conf/lemonldap-ng.ini \
perl -Ilemonldap-ng-common/blib/lib -Ilemonldap-ng-manager/blib/lib -Ilemonldap-ng-handler/blib/lib \
lemonldap-ng-common/scripts/lemonldap-ng-cli --yes 1 \
set globalStorage Apache::Session::SQLite3; \
LLNG_DEFAULTCONFFILE=e2e-tests/conf/lemonldap-ng.ini \
perl -Ilemonldap-ng-common/blib/lib -Ilemonldap-ng-manager/blib/lib -Ilemonldap-ng-handler/blib/lib \
lemonldap-ng-common/scripts/lemonldap-ng-cli --yes 1 \
addKey globalStorageOptions DataSource 'dbi:SQLite:dbname='`pwd`'/e2e-tests/conf/sessions.db'; \
fi
-@[ -e e2e-tests/conf/apache2.pid ] && kill `cat e2e-tests/conf/apache2.pid` || true
-@[ -e e2e-tests/conf/nginx.pid ] && kill `cat e2e-tests/conf/nginx.pid` || true

View File

@ -0,0 +1,39 @@
[all]
logLevel = debug
;globalStorage = Apache::Session::SQLite3
;globalStorageOptions = { DataSource => 'dbi:SQLite:dbname=__pwd__/e2e-tests/conf/sessions.db' }
[configuration]
type=CDBI
dbiChain = dbi:SQLite:dbname=__pwd__/e2e-tests/conf/config.db
[portal]
notification = 0
checkXSS = 0
portalSkin = bootstrap
staticPrefix = /static
languages = fr, en
templateDir = __pwd__/lemonldap-ng-portal/site/templates
;u2fActivation = 1
;u2fSelfRegistration = 1
[handler]
https = 0
status = 1
useRedirectOnError = 0
[manager]
protection = manager
staticPrefix = /static
languages = fr, en
templateDir = __pwd__/lemonldap-ng-manager/site/templates
[node-handler]
nodeVhosts = test2.example.com

View File

@ -39,5 +39,6 @@ staticPrefix = /static
languages = fr, en
templateDir = __pwd__/lemonldap-ng-manager/site/templates
[apply]
[node-handler]
nodeVhosts = test2.example.com

View File

@ -36,7 +36,7 @@ sub populate {
$self = $self->$backend(@_);
}
if ( $backend =~
/^Apache::Session::(?:(?:Postgre|Redi)s|(?:Oracl|Sybas)e|(?:My|No)SQL|F(?:ile|lex)|Cassandra|LDAP)/
/^Apache::Session::(?:(?:Postgre|Redi)s|S(?:QLite3|ybase)|(?:My|No)SQL|F(?:ile|lex)|Cassandra|Oracle|LDAP)/
and !$self->{args}->{useStorable} )
{
$self->{serialize} =

View File

@ -24,7 +24,7 @@ $action ||= "help";
if ( $action =~ /^(?:[gs]et|(?:add|del)Key)$/ ) {
eval { require Lemonldap::NG::Manager::Cli; };
die 'Manager libraries not available, aborting' if ($@);
die "Manager libraries not available, aborting ($@)" if ($@);
Lemonldap::NG::Manager::Cli->run(@ARGV);
}
elsif ( $action =~ /^(?:info|update-cache)$/ ) {