API-Plesk

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

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
2.00 2012-06-25
 
    - Improved is_connection_error function
    - Added user component (bgmilne)
    - Added mock module for testing without sending requests to real api
    - Fixed bug in service_plan->get method
 
2.00_3 2011-08-01
 
    - Added site-alias component
    - Fixed add and set webspace
    - Added tests
    - Fixed site component
    - Added sitebuilder component
    - Added ftp-user component
    - Fixed hosting ftp_password bug
    - Added dns component
    - Added mail component
    - Fixed is_connection_error function
    - Added set and del opetations to service-plan
    - Added test of service-plan component
    - Reformated Changes
    - Fixed Pod
 
2.00_2 2011-05-16
     
    - Fixed xml renderer
 
2.00_1 20 Apr 2011 10:52:43

lib/API/Plesk.pm  view on Meta::CPAN

104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
my $ua = new LWP::UserAgent( parse_head => 0 );
my $req = new HTTP::Request POST => $self->{url};
 
if ($self->{secret_key}) {
    $req->push_header(':KEY'$self->{secret_key});
} else {
    $req->push_header(':HTTP_AUTH_LOGIN'$self->{username});
    $req->push_header(':HTTP_AUTH_PASSWD', $self->{password});
}
$req->content_type('text/xml; charset=UTF-8');
$req->content($xml);
 
# LWP6 hack to prevent verification of hostname
$ua->ssl_opts(verify_hostname => 0) if $ua->can('ssl_opts');
 
warn $req->as_string   if defined $self->{debug}  &&  $self->{debug} > 1;
 
my $res = eval {
    local $SIG{ALRM} = sub { die "connection timeout" };
    alarm $self->{timeout};

lib/API/Plesk/Component.pm  view on Meta::CPAN

128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
API::Plesk::Component -  Base class for components.
 
=head1 SYNOPSIS
 
package API::Plesk::Customer;
 
use base 'API::Plesk::Component';
 
sub get { ... }
sub set { ... }
 
1;
 
=head1 DESCRIPTION
 
Base class for components.
 
=head1 METHODS
 
=over 3

lib/API/Plesk/Customer.pm  view on Meta::CPAN

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
    return $bulk_send ? $data :
        $self->plesk->send('customer', 'add', $data);
}
 
sub get {
    my ($self, %filter) = @_;
    my $bulk_send = delete $filter{bulk_send};
 
    my $data = {
        filter => @_ > 2 ? \%filter : '',
        dataset => [ {gen_info => ''}, {stat => ''} ]
    };
 
    return $bulk_send ? $data :
        $self->plesk->send('customer', 'get', $data);
}
 
sub set {
    my ( $self, %params ) = @_;
    my $bulk_send = delete $params{bulk_send};
    my $filter    = $params{filter}   || '';
    my $gen_info  = $params{gen_info} || '';
 
    $gen_info || confess "Required gen_info or stat parameter!";
 
    my $data = {
        filter  => $filter,
        values => {
            gen_info => $gen_info,
        }
    };
 
    return $bulk_send ? $data :
        $self->plesk->send('customer', 'set', $data);
}
 
sub del {
    my ($self, %filter) = @_;
    my $bulk_send = delete $filter{bulk_send};
 
    my $data = {
        filter  => @_ > 2 ? \%filter : ''
    };

lib/API/Plesk/Customer.pm  view on Meta::CPAN

90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
=head1 NAME
 
API::Plesk::Customer -  Managing customer accounts.
 
=head1 SYNOPSIS
 
    $api = API::Plesk->new(...);
    $response = $api->customer->add(..);
    $response = $api->customer->get(..);
    $response = $api->customer->set(..);
    $response = $api->customer->del(..);
 
=head1 DESCRIPTION
 
Module manage customer accounts.
 
=head1 METHODS
 
=over 3

lib/API/Plesk/Customer.pm  view on Meta::CPAN

123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
    );
 
=item get(%params)
 
Method gets customer data.
 
    %params = (
        filter => {...}
    );
 
=item set(%params)
 
Method sets customer data.
 
    %params = (
        filter   => {...},
        gen_info => {...}
    );
 
=item del(%params)
 
Method deletes customer from Plesk Panel.

lib/API/Plesk/FTPUser.pm  view on Meta::CPAN

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
    my ($self, %filter) = @_;
    my $bulk_send = delete $filter{bulk_send};
    my $data = {
        filter  => @_ > 2 ? \%filter : '',
    };
 
    return $bulk_send ? $data :
        $self->plesk->send('ftp-user', 'get', $data);
}
 
sub set {
    my ( $self, %params ) = @_;
    my $bulk_send = delete $params{bulk_send};
    my $filter    = delete $params{filter} || '';
    
     my @sort_fields = (
        'name',
        'password',
        'home',
        'create_non_existent',
        'quota',
        'permissions',
    );
 
    my $data = {
        filter  => $filter,
        values  => $self->sort_params(\%params, @sort_fields),
    };
 
    return $bulk_send ? $data :
        $self->plesk->send('ftp-user', 'set', $data);
}
 
sub del {
    my ($self, %filter) = @_;
    my $bulk_send = delete $filter{bulk_send};
 
    my $data = {
        filter  => @_ > 2 ? \%filter : ''
    };

lib/API/Plesk/FTPUser.pm  view on Meta::CPAN

101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
Module manage sites (domains).
 
=head1 METHODS
 
=over 3
 
=item add(%params)
 
=item get(%params)
 
=item set(%params)
 
=item del(%params)
 
=item get_physical_hosting_descriptor(%params)
 
=back
 
=head1 AUTHOR
 
Ivan Sokolov <lt>ivsokolov@cpan.org<gt>

lib/API/Plesk/ServicePlan.pm  view on Meta::CPAN

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
    my $filter = delete $params{filter} || '';
    my $data = [
        { filter => $filter },
        @{ $self->sort_params( \%params, @main_fields ) },
    ];
 
    return $bulk_send ? $data :
        $self->plesk->send('service-plan', 'get', $data);
}
 
sub set {
    my ( $self, %params ) = @_;
    my $bulk_send = delete $params{bulk_send};
    my $filter    = delete $params{filter} || '';
     
    $self->check_hosting(\%params);
 
    my $data = [
        { filter  => $filter },
        @{$self->sort_params(\%params, @main_fields)},
    ];
 
    return $bulk_send ? $data :
        $self->plesk->send('service-plan', 'set', $data);
}
 
sub del {
    my ($self, %filter) = @_;
    my $bulk_send = delete $filter{bulk_send};
 
    my $data = {
        filter  => @_ > 2 ? \%filter : ''
    };

lib/API/Plesk/ServicePlan.pm  view on Meta::CPAN

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
__END__
 
=head1 NAME
 
API::Plesk::ServicePlan -  Managing service plans.
 
=head1 SYNOPSIS
 
    $api = API::Plesk->new(...);
    $response = $api->service_plan->get(...);
    $response = $api->service_plan->set(...);
    $response = $api->service_plan->del(...);
 
=head1 DESCRIPTION
 
Module manage service plans.
 
=head1 METHODS
 
=over 3
 
=item get(%params)
 
=item setarams)
 
=item del(%params)
 
=back
 
=head1 AUTHOR
 
Ivan Sokolov <lt>ivsokolov@cpan.org<gt>
 
=cut

lib/API/Plesk/Site.pm  view on Meta::CPAN

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
use Carp;
 
 
#TODO
sub add {
    my ( $self, %params ) = @_;
    my $bulk_send = delete $params{bulk_send};
    my $gen_setup = $params{gen_setup} || confess "Required gen_setup parameter!";
 
    my @fields = (
        'name',
        [qw(webspace-name webspace-id webspace-guid)]
    );
 
    $self->check_required_params($gen_setup, @fields);
    $self->check_hosting(\%params);
 
    $params{gen_setup} = $self->sort_params($gen_setup, @fields);
     
    my $data = $self->sort_params(\%params, qw(gen_setup hosting prefs));
 
    return $bulk_send ? $data :
        $self->plesk->send('site', 'add', $data);
}
 
sub get {
    my ($self, %filter) = @_;
    my $bulk_send = delete $filter{bulk_send};
    my $dataset   = {gen_info => ''};
     
    if ( my $add = delete $filter{dataset} ) {
        $dataset = { map { ( $_ => '' ) } ref $add ? @$add : ($add) };
        $dataset->{gen_info} = '';
    }
 
    my $data = {
        filter  => @_ > 2 ? \%filter : '',
        dataset => $dataset,
    };
 
    return $bulk_send ? $data :
        $self->plesk->send('site', 'get', $data);
}
 
sub set {
    my ( $self, %params ) = @_;
    my $bulk_send = delete $params{bulk_send};
    my $filter    = delete $params{filter} || '';
     
    $self->check_hosting(\%params);
 
 
    my $data = {
        filter  => $filter,
        values  => $self->sort_params(\%params, qw(gen_setup prefs hosting disk_usage)),
    };
 
    return $bulk_send ? $data :
        $self->plesk->send('site', 'set', $data);
}
 
sub del {
    my ($self, %filter) = @_;
    my $bulk_send = delete $filter{bulk_send};
 
    my $data = {
        filter  => @_ > 2 ? \%filter : ''
    };

lib/API/Plesk/Site.pm  view on Meta::CPAN

113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
Module manage sites (domains).
 
=head1 METHODS
 
=over 3
 
=item add(%params)
 
=item get(%params)
 
=item set(%params)
 
=item del(%params)
 
=item get_physical_hosting_descriptor(%params)
 
=back
 
=head1 AUTHOR
 
Ivan Sokolov <lt>ivsokolov@cpan.org<gt>

lib/API/Plesk/SiteAlias.pm  view on Meta::CPAN

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
    my $bulk_send = delete $filter{bulk_send};
 
    my $data = {
        filter  => @_ > 2 ? \%filter : '',
    };
 
    return $bulk_send ? $data :
        $self->plesk->send('site-alias', 'get', $data);
}
 
sub set {
    my ( $self, %params ) = @_;
    my $bulk_send = delete $params{bulk_send};
     
    return $bulk_send ? \%params :
        $self->plesk->send('site-alias', 'set', \%params);
}
 
sub del {
    my ($self, %filter) = @_;
    my $bulk_send = delete $filter{bulk_send};
 
    my $data = {
        filter  => @_ > 2 ? \%filter : ''
    };

lib/API/Plesk/SiteAlias.pm  view on Meta::CPAN

69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
Module manage sites (domains).
 
=head1 METHODS
 
=over 3
 
=item create(%params)
 
=item get(%params)
 
=item set(%params)
 
=item del(%params)
 
=back
 
=head1 AUTHOR
 
Ivan Sokolov <lt>ivsokolov@cpan.org<gt>
 
=cut

lib/API/Plesk/User.pm  view on Meta::CPAN

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
    return $bulk_send ? $data :
        $self->plesk->send('user', 'add', $data);
}
 
sub get {
    my ($self, %filter) = @_;
    my $bulk_send = delete $filter{bulk_send};
 
    my $data = {
        filter => @_ > 2 ? \%filter : '',
        dataset => [ {'gen-info' => ''}, {roles => ''} ]
    };
 
    return $bulk_send ? $data :
        $self->plesk->send('user', 'get', $data);
}
 
sub set {
    my ( $self, %params ) = @_;
    my $bulk_send = delete $params{bulk_send};
    my $filter    = $params{filter}   || '';
    my $gen_info  = $params{gen_info} || '';
 
    $gen_info || confess "Required gen_info or stat parameter!";
 
    my $data = {
        filter  => $filter,
        values => {
            gen_info => $gen_info,
        }
    };
 
    return $bulk_send ? $data :
        $self->plesk->send('user', 'set', $data);
}
 
sub del {
    my ($self, %filter) = @_;
    my $bulk_send = delete $filter{bulk_send};
 
    my $data = {
        filter  => @_ > 2 ? \%filter : ''
    };

lib/API/Plesk/User.pm  view on Meta::CPAN

88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
=head1 NAME
 
API::Plesk::Customer -  Managing user (e.g. auxiliary) accounts.
 
=head1 SYNOPSIS
 
    $api = API::Plesk->new(...);
    $response = $api->user->add(..);
    $response = $api->user->get(..);
    $response = $api->user->set(..);
    $response = $api->user->del(..);
 
=head1 DESCRIPTION
 
Module manage user (e.g. auxiliary) accounts.
 
Filters used by get,del etc. are as follows:
%filter => {
        guid => xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
        # or

lib/API/Plesk/User.pm  view on Meta::CPAN

137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
            name => 'WebMaster',
            ...
    );
 
=item get(%params)
 
Method gets user data.
 
    %params = ( %filter );
 
=item set(%params)
 
Method sets user data.
 
    %params = (
        filter   => {...},
        gen_info => {...}
    );
 
=item del(%params)
 
Method deletes user from Plesk Panel.

lib/API/Plesk/WebUser.pm  view on Meta::CPAN

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
    my $bulk_send = delete $filter{bulk_send};
 
    my $data = {
        filter  => @_ > 2 ? \%filter : '',
    };
 
    return $bulk_send ? $data :
        $self->plesk->send('webuser', 'get-prefs', $data);
}
 
sub set {
    my ( $self, %params ) = @_;
    my $bulk_send = delete $params{bulk_send};
    my $filter    = delete $params{filter} || '';
     
    my $data = {
        filter  => $filter,
        values  => $self->sort_params(\%params, qw(password password-type ftp-quota services)),
    };
 
    return $bulk_send ? $data :
        $self->plesk->send('webuser', 'set', $data);
}
 
sub del {
    my ($self, %filter) = @_;
    my $bulk_send = delete $filter{bulk_send};
 
    my $data = {
        filter  => @_ > 2 ? \%filter : ''
    };

lib/API/Plesk/WebUser.pm  view on Meta::CPAN

92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
=head1 METHODS
 
=over 3
 
=item add(%params)
 
=item get(%params)
 
=item get_prefs(%params)
 
=item set(%params)
 
=item del(%params)
 
=back
 
=head1 AUTHOR
 
Ivan Sokolov <lt>ivsokolov@cpan.org<gt>
 
=cut

lib/API/Plesk/Webspace.pm  view on Meta::CPAN

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
 
use strict;
 
use Carp;
 
 
my @gen_setup_fields = qw(
    name
    owner-id
    owner-login
    owner-guid
    owner-external-id
    htype
    ip_address
    status
    external-id
);
 
my @main_fields = qw(
    gen_setup
    hosting   
    limits    
    prefs     
    performance
    permissions
    plan-id
    plan-name
    plan-guid
    plan-external-id
);
 
sub add {
    my ( $self, %params ) = @_;
    my $bulk_send = delete $params{bulk_send};
    my $gen_setup = $params{gen_setup} || confess "Required gen_setup parameter!";
 
    $self->check_hosting(\%params);
 
    $self->check_required_params(\%params, [qw(plan-id plan-name plan-guid plan-external-id)]);
    $self->check_required_params($gen_setup, qw(name ip_address));
 
    $params{gen_setup} = $self->sort_params($gen_setup, @gen_setup_fields);
     
    my $data = $self->sort_params(\%params, @main_fields);
 
    return $bulk_send ? $data :
        $self->plesk->send('webspace', 'add', $data);
}
 
sub get {
    my ($self, %filter) = @_;
    my $bulk_send = delete $filter{bulk_send};
    my $dataset   = {gen_info => ''};
     
    if ( my $add = delete $filter{dataset} ) {
        $dataset = { map { ( $_ => '' ) } ref $add ? @$add : ($add) };
        $dataset->{gen_info} = '';
    }
 
    my $data = {
        filter  => @_ > 2 ? \%filter : '',
        dataset => $dataset,
    };
 
    return $bulk_send ? $data :
        $self->plesk->send('webspace', 'get', $data);
}
 
sub set {
    my ( $self, %params ) = @_;
    my $bulk_send = delete $params{bulk_send};
    my $filter    = delete $params{filter} || '';
    my $gen_setup = $params{gen_setup};
     
    $params{gen_setup} = $self->sort_params($gen_setup, @gen_setup_fields) if $gen_setup;
    $self->check_hosting(\%params);
 
    my $data = [
        { filter  => $filter },
        { values  => $self->sort_params(\%params, @main_fields) },
    ];
 
    return $bulk_send ? $data :
        $self->plesk->send('webspace', 'set', $data);
}
 
sub del {
    my ($self, %filter) = @_;
    my $bulk_send = delete $filter{bulk_send};
 
    my $data = {
        filter  => @_ > 2 ? \%filter : ''
    };

lib/API/Plesk/Webspace.pm  view on Meta::CPAN

176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
Module manage subscriptions (webspaces).
 
=head1 METHODS
 
=over 3
 
=item add(%params)
 
=item get(%params)
 
=item set(%params)
 
=item del(%params)
 
=item add_plan_item(%params)
 
=item add_subscription(%params)
 
=item remove_subscription(%params)
 
=item switch_subscription(%params)

t/customer.t  view on Meta::CPAN

18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
my $api = API::Plesk->new( %TestData::plesk_valid_params );
 
my $customers = API::Plesk::Customer->new( plesk => $api );
 
isa_ok($customers, 'API::Plesk::Customer');
 
is_deeply(
    $customers->get(id => 1, bulk_send => 1),
    {
        filter => {id => 1},
        dataset => [ {gen_info => ''}, {stat => ''} ]
    },
    'get'
);
    

t/plesk.t  view on Meta::CPAN

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
my $yet_another_api = $api->new( %TestData::plesk_valid_params );
 
isa_ok( $api, 'API::Plesk', 'INSTANCE call new' );
isnt( $api, $yet_another_api, 'object compare' );
 
# render_xml
 
is($api->render_xml({
    webspace => {
        add => [
            { gen_setup => [
                { qq => sub { 'ddd' } },
                { name => 'sample.com' },
                { ddd => sub { {lll => 1234567} } },
            ]},
            { hosting => {
                name => '123',
                value => 'erty'
            }}
        ]
    }
}), '<?xml version="1.0" encoding="UTF-8"?><packet version="1.6.3.0"><webspace><add><gen_setup><qq>ddd&lt;/qq>&lt;name>sample.com</name><ddd><lll>1234567</lll></ddd></gen_setup><hosting><value>erty</value><name>123</name></hosting></add></webspace></packet...
 
is ( $api->render_xml({ prop => [
    {value1 => '0'},
    {value2 => ''},
    {value3 => undef},
]}), '<?xml version="1.0" encoding="UTF-8"?><packet version="1.6.3.0"><prop><value1>0</value1><value2/><value3/></prop></packet>', 'render_xml');
# compoments
 
$api = API::Plesk->new(
    api_version   => '1.6.3.1',

t/service-plan.t  view on Meta::CPAN

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
BEGIN {
    plan tests => 5;
    use_ok('API::Plesk::ServicePlan');
}
 
my $api = API::Plesk->new( %TestData::plesk_valid_params );
 
isa_ok($api->service_plan, 'API::Plesk::ServicePlan');
 
is_deeply(
    $api->service_plan->set(
        filter => { name => '123' },
        hosting     => {
            type       => 'vrt_hst',
            ftp_login  => '123',
            ftp_password => '123',
            ip_address => '123',
        },
        limits => '',
        bulk_send   => 1,
    ),

t/service-plan.t  view on Meta::CPAN

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
        {
            hosting     => {
                vrt_hst => [
                    { property => [ {name => 'ftp_login'}, {value  => '123'} ] },
                    { property => [ {name => 'ftp_password'}, {value => '123'} ] },
                    { ip_address => '123' },
                ]
            },
        },
    ],
    'set'
);
 
is_deeply(
    $api->service_plan->del(
        name      => 'test.ru',
        bulk_send => 1
    ),
    {
        filter => {name => 'test.ru'},
    },

t/site-alias.t  view on Meta::CPAN

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
        bulk_send => 1
    ),
    {
        'site-id' => 12345,
         name     => 'www.ru',
    },
    'create'
);
 
is_deeply(
    $api->site_alias->set(
        filter    => {'site-id' => 'test.ru'},
        settings  => { status => 1 },
        bulk_send => 1
    ),
    {
        filter   => {'site-id' => 'test.ru'},
        settings => { status => 1 },
    },
    'set'
);
 
is_deeply(
    $api->site_alias->del(
        'site-id' => 123,
        bulk_send => 1
    ),
    {
        filter => {'site-id' => 123},
    },

t/site.t  view on Meta::CPAN

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
    plan tests => 5;
    use_ok('API::Plesk::Site');
}
 
my $api = API::Plesk->new( %TestData::plesk_valid_params );
 
isa_ok($api->site, 'API::Plesk::Site');
 
is_deeply(
    $api->site->add(
        gen_setup => {
            name => 'test.ru',
            'webspace-name' => 'main.ru',
        },
        hosting => {
            type => 'std_fwd',
            ip_address => '12.34.56.78',
            dest_url => 'fwd.ru',
        },
        bulk_send => 1
    ),
    [
        {gen_setup => [
            {name => 'test.ru'},
            {'webspace-name' => 'main.ru'},
        ]},
        {hosting => {
            std_fwd => {
                dest_url => 'fwd.ru',
                ip_address => '12.34.56.78',
            }
        }}
 
    ],
    'add'
);
 
is_deeply(
    $api->site->set(
        filter => {name => 'test.ru'},
        gen_setup => {
            name => 'test.ru',
        },
        hosting => {
            type => 'vrt_hst',
            ip_address => '12.34.56.78',
            ftp_login => 'qwerty',
            ftp_password => '12345',
            ip_address => '12.34.56.78',
        },
        bulk_send => 1
    ),
    {
        filter => {name => 'test.ru'},
        values => [
            {gen_setup => {
                name => 'test.ru',
            }},
            {hosting => {
                vrt_hst => [
                    { property => [
                        {name => 'ftp_login'},
                        {value => 'qwerty'}
                    ]},
                    { property => [
                        {name => 'ftp_password'},
                        {value => '12345'}
                    ]},
                    {ip_address => '12.34.56.78'},
                ]
            }}
        ]
 
    },
    'set'
);
 
is_deeply(
    $api->site->del(
        name      => 'test.ru',
        bulk_send => 1
    ),
    {
        filter => {name => 'test.ru'},
    },

t/user.t  view on Meta::CPAN

18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
my $api = API::Plesk->new( %TestData::plesk_valid_params );
 
my $users = $api->user;
 
isa_ok($users, 'API::Plesk::User');
 
is_deeply(
    $users->get(guid => 1, bulk_send => 1),
    {
        filter => {guid => 1},
        dataset => [ {'gen-info' => ''}, {roles => ''} ]
    },
    'get'
);
    

t/webspace.t  view on Meta::CPAN

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
    use_ok('API::Plesk::Webspace');
}
 
my $api = API::Plesk->new( %TestData::plesk_valid_params );
 
isa_ok($api->webspace, 'API::Plesk::Webspace');
 
is_deeply(
    $api->webspace->add(
        'plan-name' => '123',
        gen_setup   => {
            name          => '123',
            ip_address    => '123',
            'owner-login' => '123',
        },
        hosting     => {
            type       => 'vrt_hst',
            ftp_login  => '123',
            ftp_password => '123',
            ip_address => '123',
        },
        prefs => { www => 'true' },
        bulk_send   => 1,
    ),
    [
        {
            gen_setup   => [
                {name          => '123'},
                {'owner-login' => '123'},
                {ip_address    => '123'},
            ],
        },
        {
            hosting     => {
                vrt_hst => [
                    { property => [ {name => 'ftp_login'}, {value  => '123'} ] },
                    { property => [ {name => 'ftp_password'}, {value => '123'} ] },

t/webspace.t  view on Meta::CPAN

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
                ]
            },
        },
        {   prefs => { www => 'true' } },
        { 'plan-name' => '123' },
    ],
    'add'
);
 
is_deeply(
    $api->webspace->set(
        filter => { name => '123' },
        gen_setup   => {
            name          => '123',
            ip_address    => '123',
            'owner-login' => '123',
        },
        hosting     => {
            type       => 'vrt_hst',
            ftp_login  => '123',
            ftp_password => '123',
            ip_address => '123',
        },
        prefs => { www => 'true' },
        bulk_send   => 1,
    ),
    [
        { filter => { name => '123' } },
        { values => [
            {
                gen_setup   => [
                    {name          => '123'},
                    {'owner-login' => '123'},
                    {ip_address    => '123'},
                ],
            },
            {
                hosting     => {
                    vrt_hst => [
                        { property => [ {name => 'ftp_login'}, {value  => '123'} ] },
                        { property => [ {name => 'ftp_password'}, {value => '123'} ] },
                        { ip_address => '123' },
                    ]
                },
            },
            { prefs => { www => 'true' } },
       ]},
    ],
    'set'
);
 
 
is_deeply(
    $api->webspace->add_subscription(
        'plan-guid' => 'wervqwef',
        bulk_send   => 1
    ),
    [
        {'plan-guid' => 'wervqwef'},



( run in 0.631 second using v1.01-cache-2.11-cpan-26ccb49234f )