API-Plesk
view release on metacpan or search on metacpan
t/TestData.pm view on Meta::CPAN
'ad@fdsf.fsdf.dsf.nrg.name'
],
country => [ # two characters only
'RU',
#'TEST',
'US',
'UG'
],
};
my $plesk_url = 'https://192.168.1.1:8443/enterprise/control/agent.php';
our %plesk_valid_params = (
api_version => '1.6.3.0',
username => 'admin',
password => 'qwerty',
url => $plesk_url,
debug => 0,
);
my $manual_created_template_name = $ENV{'template_name'} || 'name';
my $manual_created_template_id = $ENV{'template_id'} || 1;
sub iterate {
my $hash = shift;
my $plesk_client = shift;
my $result_hash = { };
# initial data
for (keys %$hash) {
$result_hash->{$_} = $hash->{$_}->[0];
}
check_input_data($result_hash, $plesk_client);
foreach my $key (keys %$hash) {
my $old_value = $result_hash->{$key}; # rewrite
for my $index (1 .. scalar @{$hash->{$key}} - 1){
$result_hash->{$key} = $hash->{$key}->[$index];
check_input_data($result_hash, $plesk_client);
# warn Dumper $result_hash;
}
$result_hash->{$key} = $old_value;
}
return $result_hash;
}
sub check_input_data {
my $params = shift;
my $plesk_client = shift;
my $general_info = {
pname => $params->{pname}, # utf8 string
login => $params->{login},
passwd => $params->{passwd},
phone => $params->{phone},
email => $params->{email},
country => $params->{country}, # optional field
};
my $result_add_by_id = $plesk_client->Accounts->create(
general_info => $general_info,
'template-name' => $manual_created_template_name
);
delete_all_accounts($plesk_client);
# warn Dumper($general_info) . "\n" . $result_add_by_id->get_error_string unless
unless (like(
$result_add_by_id->get_id,
qr/^\d+$/,
'Create account input data check'
)) {
warn $result_add_by_id->get_error_string . "\n" .
Dumper $general_info;
}
}
sub gen_passwd {
my $passwd='';
for (my $i=0; $i<8; $i++) {
$passwd .= chr(rand( 0x3E ));
}
$passwd =~ tr/\x00-\x3D/A-Za-z0-9/;
return $passwd;
}
# Delete all accounts
# STATIC(plesk_client)
sub delete_all_accounts {
my $client = shift;
is_deeply(
$client->Accounts->delete( all => 1)->is_success,
1,
'Delete all accounts'
);
}
# Sub for create accounts online test
sub create_work_logins {
my $plesk_client = shift;
my $data_accumulator_for_online_tests = shift;
my $result_add_by_id = $plesk_client->Accounts->create(
general_info => create_unique_user_data('crby_login'),
'template-name' => $manual_created_template_name
);
like(
( run in 0.637 second using v1.01-cache-2.11-cpan-39bf76dae61 )