kivitendo/t/Support/TestSetup.pm @ 7a803ab2
1d64d7e5 | Sven Schöling | package Support::TestSetup;
|
||
use strict;
|
||||
use Data::Dumper;
|
||||
use CGI qw( -no_xhtml);
|
||||
a67ad20f | Moritz Bunkus | use IO::File;
|
||
1d64d7e5 | Sven Schöling | use SL::Auth;
|
||
use SL::Form;
|
||||
use SL::Locale;
|
||||
use SL::LXDebug;
|
||||
use Data::Dumper;
|
||||
dac8a136 | Moritz Bunkus | use SL::Layout::None;
|
||
1d64d7e5 | Sven Schöling | use SL::LxOfficeConf;
|
||
use SL::InstanceConfiguration;
|
||||
dac8a136 | Moritz Bunkus | use SL::Request;
|
||
1d64d7e5 | Sven Schöling | |||
8317b7aa | Moritz Bunkus | sub login {
|
||
51c2badb | Moritz Bunkus | $Data::Dumper::Sortkeys = 1;
|
||
$Data::Dumper::Indent = 2;
|
||||
8317b7aa | Moritz Bunkus | SL::LxOfficeConf->read;
|
||
1d64d7e5 | Sven Schöling | |||
8317b7aa | Moritz Bunkus | my $client = 'Unit-Tests';
|
||
my $login = 'unittests';
|
||||
1d64d7e5 | Sven Schöling | |||
package main;
|
||||
5b4b9d4b | Sven Schöling | $::lxdebug = LXDebug->new(target => LXDebug::STDERR_TARGET);
|
||
$::lxdebug->disable_sub_tracing;
|
||||
1d64d7e5 | Sven Schöling | $::locale = Locale->new($::lx_office_conf{system}->{language});
|
||
de8da5ba | Moritz Bunkus | $::form = Support::TestSetup->create_new_form;
|
||
ef9698b3 | Moritz Bunkus | $::auth = SL::Auth->new(unit_tests_database => 1);
|
||
d31f77ea | Sven Schöling | die "Cannot find client with ID or name '$client'" if !$::auth->set_client($client);
|
||
1d64d7e5 | Sven Schöling | $::instance_conf = SL::InstanceConfiguration->new;
|
||
9c6cbe0f | Moritz Bunkus | $::request = Support::TestSetup->create_new_request;
|
||
1d64d7e5 | Sven Schöling | |||
die 'cannot reach auth db' unless $::auth->session_tables_present;
|
||||
$::auth->restore_session;
|
||||
require "bin/mozilla/common.pl";
|
||||
4531a6c7 | Sven Schöling | die "cannot find user $login" unless %::myconfig = $::auth->read_user(login => $login);
|
||
1d64d7e5 | Sven Schöling | |||
die "cannot find locale for user $login" unless $::locale = Locale->new($::myconfig{countrycode});
|
||||
ff049c83 | Moritz Bunkus | $SIG{__DIE__} = sub { Carp::confess( @_ ) } if $::lx_office_conf{debug}->{backtrace_on_die};
|
||
bbc0a6b8 | Moritz Bunkus | |||
1d64d7e5 | Sven Schöling | return 1;
|
||
}
|
||||
9c6cbe0f | Moritz Bunkus | sub create_new_form { Form->new('') }
|
||
sub create_new_request {
|
||||
my $self = shift;
|
||||
my $request = SL::Request->new(
|
||||
cgi => CGI->new({}),
|
||||
layout => SL::Layout::None->new,
|
||||
@_,
|
||||
);
|
||||
$request->presenter->{template} = Template->new(template_config()) || die;
|
||||
return $request;
|
||||
bbc0a6b8 | Moritz Bunkus | }
|
||
a67ad20f | Moritz Bunkus | |||
bbc0a6b8 | Moritz Bunkus | sub template_config {
|
||
return {
|
||||
INTERPOLATE => 0,
|
||||
EVAL_PERL => 0,
|
||||
ABSOLUTE => 1,
|
||||
CACHE_SIZE => 0,
|
||||
PLUGIN_BASE => 'SL::Template::Plugin',
|
||||
INCLUDE_PATH => '.:templates/webpages/',
|
||||
COMPILE_DIR => 'users/templates-cache-for-tests',
|
||||
COMPILE_EXT => '.tcc',
|
||||
ENCODING => 'utf8',
|
||||
};
|
||||
a67ad20f | Moritz Bunkus | }
|
||
1d64d7e5 | Sven Schöling | 1;
|