API-ISPManager
view release on metacpan or search on metacpan
t/01-test.t view on Meta::CPAN
'owner' => 'bt',
'dbuser' => 'bt',
'dbtype' => 'MySQL',
'dbkey' => 'MySQL->bt',
'size' => '0.055'
}
}
},
'db list test'
);
### Databases end
### DB users
my $fake_db_user = <<DOC;
<?xml version="1.0" encoding="UTF-8"?>
<doc><plid>MySQL->blog</plid><elem><name>blog</name><read/><write/><manage/></elem></doc>
DOC
is_deeply(
API::ISPManager::db_user::list( { %correct_params, elid => 'MySQL->blog' }, $fake_db_user ), {
'data' => {
'read' => {},
'name' => 'blog',
'manage' => {},
'write' => {}
}
},
'test db_user'
);
### DB users end
### Stats
my $fake_sysinfo = <<DOC;
<?xml version="1.0" encoding="UTF-8"?>
<doc><elem><name>cpu</name><value>AMD Athlon(tm) 64 Processor 3700+ 2199.744 Mhz X 2</value></elem><elem><name>mem</name><value>393364 kB</value></elem><elem><name>swap</name><value>999992 kB</value></elem><elem><name>disk</name><value>49385 Mb</valu...
DOC
is_deeply( API::ISPManager::stat::sysinfo( { %correct_params }, $fake_sysinfo ), {
'data' => {
'proc' => '88',
'disk' => '49385 Mb',
'cpu' => 'AMD Athlon(tm) 64 Processor 3700+ 2199.744 Mhz X 2',
'avg' => '1.39 0.96 0.89',
'uptime' => '55 days 14 hours 5 minutes',
'swap' => '999992 kB',
'mem' => '393364 kB',
}
},
'sysinfo test'
);
my $fake_usagestat = <<DOC;
<?xml version="1.0" encoding="UTF-8"?>
<doc><elem><name>disk</name><value used="1817" limit="4950"/></elem><elem><name>reseller</name><value used="1" limit="0"/></elem><elem><name>user</name><value used="20" limit="0"/></elem><elem><name>bandwidth</name><value used="8170" limit="170000000...
DOC
is_deeply( API::ISPManager::stat::usagestat( { %correct_params }, $fake_usagestat ), {
'data' => {
'ftpuser' => {
'used' => '20',
'limit' => '70220'
},
'disk' => {
'used' => '1817',
'limit' => '4950'
},
'maildomain' => {
'used' => '16',
'limit' => '80017'
},
'database' => {
'used' => '17',
'limit' => '70021'
},
'mailuser' => {
'used' => '4',
'limit' => '60140'
},
'domain' => {
'used' => '23',
'limit' => '70022'
},
'bandwidth' => {
'used' => '8170',
'limit' => '1700000000'
},
'databaseuser' => {
'used' => '17',
'limit' => '70026'
},
'user' => {
'used' => '20',
'limit' => '0'
},
'reseller' => {
'used' => '1',
'limit' => '0'
},
'wwwdomain' => {
'used' => '20',
'limit' => '70022'
}
}
},
'usagestat test'
);
### Stats end
#exit;
no warnings 'once';
$API::ISPManager::DEBUG = 0;
### ONLINE TESTS
exit if !$ONLINE;
$a = 'get_auth_id';
is( get_auth_id(
username => 'root',
password => 'qwerty',
host => $test_host,
path => 'manager',
),
'',
"$a with error password"
);
my $auth_id;
like( $auth_id = get_auth_id(
username => $ENV{username} || 'root',
password => $ENV{password},
host => $test_host,
path => 'manager',
),
qr/\d+/,
"$a with correct password ($auth_id)"
);
=head
is(
scalar keys %{ API::ISPManager::user::list( { %correct_params } )->{elem} },
20,
'user::list test'
);
=cut
my $ip_list = API::ISPManager::ip::list( { %correct_params } );
diag "Get ips from panel: " . Dumper( $ip_list );
if ($ip_list && ref $ip_list eq 'ARRAY' && scalar @$ip_list) {
my $ip = $ip_list->[0];
if ($ip) {
diag $ip;
diag Dumper( API::ISPManager::user::create( {
%correct_params,
name => 'nrgxxxxxapi',
passwd => 'qwerty',
ip => $ip,
preset => 'Host-1',
domain => 'nrg.name',
} ) );
diag Dumper( API::ISPManager::ftp::list( {
%correct_params,
authinfo => 'username:password',
su => 'su_as_username',
} ) );
diag Dumper( API::ISPManager::user::disable( {
%correct_params,
elid => 'nrgxxxxxapi',
} ) );
diag Dumper( API::ISPManager::user::enable( {
%correct_params,
elid => 'nrgxxxxxapi',
} ) );
diag Dumper( API::ISPManager::user::delete( {
%correct_params,
elid => 'nrgxxxxxapi',
} ) );
}
}
# warn Dumper( API::ISPManager::domain::list( { %correct_params } ) );
( run in 0.577 second using v1.01-cache-2.11-cpan-39bf76dae61 )