Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 1d64d7e5

Von Sven Schöling vor mehr als 13 Jahren hinzugefügt

  • ID 1d64d7e59fe964edde711f52beeb291e092459ab
  • Vorgänger 1b83184a
  • Nachfolger e2922ed5

Loginmechanismus für Testscripte

Unterschiede anzeigen:

config/lx_office.conf.default
# to the lx-office log will be put here if triggered from the console
log_file = /tmp/lxoffice_console_debug.log
[testing]
# autologin to use if none is given
login = demo
[debug]
# Use DBIx::Log4perl for logging DBI calls. The string LXDEBUGFILE
# will be replaced by the file name configured for $::lxdebug.
t/Support/TestSetup.pm
package Support::TestSetup;
use strict;
use Data::Dumper;
use CGI qw( -no_xhtml);
use SL::Auth;
use SL::Form;
use SL::Locale;
use SL::LXDebug;
use Data::Dumper;
use SL::LxOfficeConf;
use SL::InstanceConfiguration;
SL::LxOfficeConf->read;
sub _login {
my $login = shift;
die 'need login' unless $login;
package main;
$::lxdebug = LXDebug->new(file => \*STDERR);
$::locale = Locale->new($::lx_office_conf{system}->{language});
$::form = Form->new;
$::auth = SL::Auth->new;
$::instance_conf = SL::InstanceConfiguration->new;
$::request = { cgi => CGI->new({}) };
die 'cannot reach auth db' unless $::auth->session_tables_present;
$::auth->restore_session;
require "bin/mozilla/common.pl";
die "cannot find user $login" unless %::myconfig = $::auth->read_user($login);
$::form->{login} = $login; # normaly implicit at login
die "cannot find locale for user $login" unless $::locale = Locale->new($::myconfig{countrycode});
$::instance_conf->init;
return 1;
}
sub login {
my $login = shift || $::lx_office_conf{testing}{login} || 'demo';
_login($login);
}
1;

Auch abrufbar als: Unified diff