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 103 104 105 106 107 108 109 110 111 112
|
# --
# Copyright (C) 2001-2021 OTRS AG, https://otrs.com/
# Copyright (C) 2021 Znuny GmbH, https://znuny.org/
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (GPL). If you
# did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt.
# --
use strict;
use warnings;
use utf8;
use vars (qw($Self));
# get helper object
$Kernel::OM->ObjectParamAdd(
'Kernel::System::UnitTest::Helper' => {
RestoreDatabase => 1,
},
);
my $HelperObject = $Kernel::OM->Get('Kernel::System::UnitTest::Helper');
my $CacheObject = $Kernel::OM->Get('Kernel::System::Cache');
my $CommandObject = $Kernel::OM->Get('Kernel::System::Console::Command::Admin::Config::ListInvalid');
my $SysConfigObject = $Kernel::OM->Get('Kernel::System::SysConfig');
my $SysConfigDBObject = $Kernel::OM->Get('Kernel::System::SysConfig::DB');
my ( $Result, $ExitCode );
{
local *STDOUT;
open STDOUT, '>:utf8', \$Result; ## no critic
$ExitCode = $CommandObject->Execute();
}
$Self->Is(
$ExitCode,
0,
"Exit code",
);
$Self->True(
$Result =~ m{All settings are valid\.},
'Check default result.'
);
# Get Setting.
my %Setting = $SysConfigObject->SettingGet(
Name => 'Ticket::Frontend::AgentTicketPhone###Priority',
);
# Lock setting.
my $ExclusiveLockGUID = $SysConfigObject->SettingLock(
Name => $Setting{Name},
Force => 1,
UserID => 1,
);
# Set to invalid value.
my $Success;
if ( $Setting{ModifiedID} ) {
$Success = $SysConfigDBObject->ModifiedSettingUpdate(
ModifiedID => $Setting{ModifiedID},
DefaultID => $Setting{DefaultID},
Name => $Setting{Name},
IsValid => 1,
EffectiveValue => '-123 Invalid priority value',
ExclusiveLockGUID => $ExclusiveLockGUID,
UserID => 1,
);
}
else {
$Success = $SysConfigDBObject->ModifiedSettingAdd(
DefaultID => $Setting{DefaultID},
Name => $Setting{Name},
IsValid => 1,
EffectiveValue => '-123 Invalid priority value',
ExclusiveLockGUID => $ExclusiveLockGUID,
UserID => 1,
);
}
$Self->True(
$Success,
'Setting updated.'
);
{
local *STDOUT;
open STDOUT, '>:utf8', \$Result; ## no critic
$ExitCode = $CommandObject->Execute();
}
$Self->Is(
$ExitCode,
1,
"Exit code",
);
$Self->True(
$Result
=~ m{The following settings have an invalid value:.*?Ticket::Frontend::AgentTicketPhone###Priority = '-123 Invalid priority value';}s
? 1
: 0,
'Check invalid result.'
);
# cleanup cache is done by RestoreDatabase
1;
|