API-DirectAdmin
view release on metacpan or search on metacpan
lib/API/DirectAdmin.pm view on Meta::CPAN
email => $email,
package => $package,
ip => $ip,
});
# Switch off account:
my $suspend_result = $da->user->disable( {
select0 => $user_name,
} );
if ( $suspend_result->{error} == 1 ) {
die "Cannot suspend account $suspend_result->{text}";
}
# Switch on account
my $resume_result = $da->user->enable( {
select0 => $user_name,
} );
if ( $resume_result->{error} == 1 ) {
die "Cannot Resume account $resume_result->{text}";
}
# Delete account
my $delete_result = $da->user->delete( {
select0 => $user_name,
} );
if ( $delete_result->{error} == 1 ) {
die "Cannot delete account $delete_result->{text}";
}
# Custom request
my %params = (
action => 'package',
package => 'package_name',
user => 'username',
);
lib/API/DirectAdmin/User.pm view on Meta::CPAN
# Change package for user
# params: user, package
sub change_package {
my ($self, $params ) = @_;
my $package = $params->{package};
unless ( $self->{fake_answer} ) {
unless ( $package ~~ $self->show_packages() ) {
return {error => 1, text => "No such package $package on server"};
}
}
my %add_params = (
action => 'package',
);
my %params = (%$params, %add_params);
my $responce = $self->directadmin->query(
t/01-test.t view on Meta::CPAN
allow_https => 0,
} ),
'http://'.$connection_params{auth_user}.':'.$connection_params{auth_passwd}.'@'.$connection_params{host}.':2222/CMD?param1=val1¶m2=val2',
$func
);
# IP
use_ok('API::DirectAdmin::Ip');
$da->{fake_answer} = ! $ONLINE ? { list => ['127.0.0.1'], error => 0 } : undef;
my $ip_list = $da->ip->list();
my $main_shared_ip = $ip_list->[0];
ok($ip_list && ref $ip_list eq 'ARRAY' && scalar @$ip_list, 'API::DirectAdmin::Ip::list');
my %answer = (
text => "User $manipulate_user created",
error => 0,
details => 'Unix User created successfully
Users System Quotas set
Users data directory created successfully
Domains directory created successfully
Domains directory created successfully in users home
Domain Created Successfully');
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
# User
t/01-test.t view on Meta::CPAN
passwd2 => 'qwerty',
email => 'test@example.com',
ip => '127.0.0.1',
package => 'newpackage',
}
);
is_deeply( $result, \%answer, 'API::DirectAdmin::User::create' );
%answer = (
text => 'Cannot Create Account',
error => 1,
details => 'That username already exists on the system'
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->user->create(
{
username => $manipulate_user,
domain => 'zse1.ru',
passwd => 'qwerty',
passwd2 => 'qwerty',
email => 'test@example.com',
ip => '127.0.0.1',
package => 'newpackage',
}
);
is_deeply( $result, \%answer, 'API::DirectAdmin::User::create repeat');
%answer = (
text => 'Password Changed',
error => 0,
details => 'Password successfully changed'
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->user->change_password(
{
user => $manipulate_user,
pass => 'sdfdsfsdfhsdfj',
}
);
is_deeply( $result, \%answer, 'API::DirectAdmin::User::change_password');
%answer = (
text => 'Success',
error => 0,
details => 'All selected Users have been suspended',
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->user->disable(
{
user => $manipulate_user,
reason => 'test reason1',
}
t/01-test.t view on Meta::CPAN
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->user->enable(
{
user => $manipulate_user,
}
);
is_deeply( $result, \%answer, 'API::DirectAdmin::User::enable');
$da->{fake_answer} = ! $ONLINE ? { list => ['default','admin'], error => 0, } : undef;
$result = $da->user->list();
ok( ref $result eq 'ARRAY' && scalar @$result, 'API::DirectAdmin::User::list');
%answer = (
text => 'No such package newpackage on server',
error => 1,
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->user->change_package(
{
user => $manipulate_user,
package => 'newpackage',
}
);
is_deeply( $result, \%answer, 'API::DirectAdmin::User::change_package');
%answer = (
text => 'Users deleted',
error => 0,
details => "User $manipulate_user Removed",
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->user->delete(
{
user => $manipulate_user,
}
);
is_deeply( $result, \%answer, 'API::DirectAdmin::User::delete');
%answer = (
text => 'Error while deleting Users',
error => 1,
details => "User $manipulate_user did not exist on the server. Removing it from your list.",
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->user->delete(
{
user => $manipulate_user,
}
);
is_deeply( $result, \%answer , 'API::DirectAdmin::User::delete repeat');
# Mysql
use_ok('API::DirectAdmin::Mysql');
$connection_params{auth_user} .= '|' . $manipulate_user;
%answer = (
text => 'Database Created',
error => 0,
details => 'Database Created',
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->mysql->adddb(
{
name => 'default',
user => 'default',
passwd => 'default_pass',
t/01-test.t view on Meta::CPAN
is_deeply( $result, \%answer, 'API::DirectAdmin::Mysql::adddb');
# Domain
use_ok('API::DirectAdmin::Domain');
my $addondomain = 'ssssss.ru';
%answer = (
text => 'Domain Created',
error => 0,
details => 'Domain Created Successfully'
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->domain->add(
{
domain => $addondomain,
php => 'ON',
cgi => 'ON',
}
);
is_deeply( $result, \%answer , 'API::DirectAdmin::Domain::add');
%answer = (
text => 'Cannot create that domain',
error => 1,
details => 'That domain already exists'
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->domain->add(
{
domain => $addondomain,
php => 'ON',
cgi => 'ON',
}
( run in 0.586 second using v1.01-cache-2.11-cpan-49f99fa48dc )