1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
use strict;
use warnings;
$ENV{RT_TEST_WEB_HANDLER} = 'plack+rt-server';
use RT::Test
tests => undef,
nodb => 1,
server_ok => 1;
my ($base, $m) = RT::Test->started_ok;
$m->warning_like(qr/If this is a new installation of RT/,
"Got startup warning");
$m->get_ok($base);
like $m->uri, qr/Install/, 'at installer';
diag "Testing language change";
{
$m->submit_form_ok(
{
with_fields => {
Lang => 'fr',
},
button => 'ChangeLang',
},
'change language to french'
);
$m->content_like(qr/RT\s+pour\s+example\.com/i);
$m->submit_form_ok(
{
with_fields => {
Lang => 'en',
},
button => 'ChangeLang',
},
'change language to english'
);
$m->content_like(qr/RT\s+for\s+example\.com/i);
}
diag "Walking through install screens setting defaults";
{
$m->click_ok('Run');
# Database type
$m->content_contains('DatabaseType');
$m->content_contains($_, "found database $_")
for qw(MySQL PostgreSQL Oracle SQLite);
$m->submit();
# Database details
$m->content_contains('DatabaseName');
if (RT->Config->Get('DatabaseType') eq 'SQLite') {
$m->submit;
} else {
$m->submit_form(with_fields => {
DatabaseAdmin => $ENV{RT_DBA_USER},
DatabaseAdminPassword => $ENV{RT_DBA_PASSWORD},
});
}
$m->content_contains('Connection succeeded');
$m->submit_form_ok({ button => 'Next' });
# Basic options
$m->submit_form_ok({
with_fields => {
Password => 'password',
}
}, 'set root password');
# Mail options
$m->submit_form_ok({
with_fields => {
OwnerEmail => 'admin@example.com',
},
}, 'set admin email');
# Mail addresses
$m->submit_form_ok({
with_fields => {
CorrespondAddress => 'rt@example.com',
CommentAddress => 'rt-comment@example.com',
},
}, 'set addresses');
# Initialize database
$m->content_contains('database');
$m->submit();
# Finish
$m->content_contains('/RT_SiteConfig.pm');
$m->content_contains('Finish');
$m->submit();
$m->content_contains('Login');
ok $m->login(), 'logged in';
}
RT::Test::__drop_database();
undef $m;
done_testing;
|