Projekt

Allgemein

Profil

Herunterladen (2 KB) Statistiken
| Zweig: | Markierung: | Revision:
package Support::TestSetup;

use strict;

use Data::Dumper;
use CGI qw( -no_xhtml);
use IO::File;
use SL::Auth;
use SL::Form;
use SL::Locale;
use SL::LXDebug;
use Data::Dumper;
use SL::Layout::None;
use SL::LxOfficeConf;
use SL::InstanceConfiguration;
use SL::Request;

sub login {
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Indent = 2;

SL::LxOfficeConf->read;

my $client = 'Unit-Tests';
my $login = 'unittests';

package main;

$::lxdebug = LXDebug->new(target => LXDebug::STDERR_TARGET);
$::lxdebug->disable_sub_tracing;
$::locale = Locale->new($::lx_office_conf{system}->{language});
$::form = Support::TestSetup->create_new_form;
$::auth = SL::Auth->new(unit_tests_database => 1);
die "Cannot find client with ID or name '$client'" if !$::auth->set_client($client);

$::instance_conf = SL::InstanceConfiguration->new;
$::request = Support::TestSetup->create_new_request;

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 => $login);

die "cannot find locale for user $login" unless $::locale = Locale->new($::myconfig{countrycode});

$SIG{__DIE__} = sub { Carp::confess( @_ ) } if $::lx_office_conf{debug}->{backtrace_on_die};


return 1;
}

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;
}

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',
};
}

1;
(6-6/6)