solusvm 1.0.0.beta3 → 1.1.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/.travis.yml +10 -4
- data/LICENSE +1 -1
- data/README.markdown +1 -1
- data/lib/solusvm.rb +2 -2
- data/lib/solusvm/base.rb +10 -32
- data/lib/solusvm/cli/base_cli.rb +30 -5
- data/lib/solusvm/cli/client_cli.rb +9 -9
- data/lib/solusvm/cli/general_cli.rb +5 -5
- data/lib/solusvm/cli/node_cli.rb +8 -8
- data/lib/solusvm/cli/reseller_cli.rb +7 -7
- data/lib/solusvm/cli/server_cli.rb +31 -31
- data/lib/solusvm/solusvm_errors.rb +22 -0
- data/lib/solusvm/version.rb +1 -1
- data/solusvm.gemspec +2 -0
- data/test/cli/test_base_cli.rb +32 -0
- data/test/cli/test_client_cli.rb +38 -21
- data/test/cli/test_general_cli.rb +13 -4
- data/test/cli/test_node_cli.rb +28 -14
- data/test/cli/test_reseller_cli.rb +69 -58
- data/test/cli/test_server_cli.rb +128 -39
- data/test/solusvm/test_base.rb +103 -0
- data/test/{test_cli.rb → solusvm/test_cli.rb} +1 -1
- data/test/solusvm/test_client.rb +109 -0
- data/test/solusvm/test_general.rb +69 -0
- data/test/{test_hash.rb → solusvm/test_hash.rb} +1 -1
- data/test/solusvm/test_node.rb +120 -0
- data/test/solusvm/test_reseller.rb +93 -0
- data/test/solusvm/test_server.rb +253 -0
- data/test/{helper.rb → test_helper.rb} +19 -4
- data/test/test_solusvm.rb +1 -1
- data/test/vcr_cassettes/base/invalid_key.yml +19 -0
- data/test/vcr_cassettes/base/invalid_status.yml +19 -0
- data/test/vcr_cassettes/base/nonexistent_node.yml +19 -0
- data/test/vcr_cassettes/base/parse_response.yml +28 -0
- data/test/vcr_cassettes/base/statusmsg.yml +28 -0
- data/test/vcr_cassettes/base/successful.yml +45 -0
- data/test/vcr_cassettes/base/unauthorized_ip.yml +19 -0
- data/test/vcr_cassettes/client/authenticate.yml +37 -0
- data/test/vcr_cassettes/client/change_password.yml +39 -0
- data/test/vcr_cassettes/client/create.yml +42 -0
- data/test/vcr_cassettes/client/delete.yml +37 -0
- data/test/vcr_cassettes/client/exists.yml +20 -0
- data/test/vcr_cassettes/client/list.yml +66 -0
- data/test/vcr_cassettes/general/isos.yml +38 -0
- data/test/vcr_cassettes/general/plans.yml +38 -0
- data/test/vcr_cassettes/general/templates.yml +38 -0
- data/test/vcr_cassettes/node/available_ips.yml +41 -0
- data/test/vcr_cassettes/node/ids.yml +21 -0
- data/test/vcr_cassettes/node/list.yml +38 -0
- data/test/vcr_cassettes/node/statistics.yml +32 -0
- data/test/vcr_cassettes/node/virtualservers.yml +67 -0
- data/test/vcr_cassettes/node/xenresources.yml +22 -0
- data/test/vcr_cassettes/reseller/change_resources.yml +27 -0
- data/test/vcr_cassettes/reseller/create.yml +27 -0
- data/test/vcr_cassettes/reseller/delete.yml +15 -0
- data/test/vcr_cassettes/reseller/info.yml +27 -0
- data/test/vcr_cassettes/reseller/list.yml +27 -0
- data/test/vcr_cassettes/server/.yml +1017 -0
- data/test/vcr_cassettes/server/boot.yml +15 -0
- data/test/vcr_cassettes/server/change_bootorder.yml +15 -0
- data/test/vcr_cassettes/server/change_consolepass.yml +16 -0
- data/test/vcr_cassettes/server/change_hostname.yml +15 -0
- data/test/vcr_cassettes/server/change_owner.yml +15 -0
- data/test/vcr_cassettes/server/change_plan.yml +15 -0
- data/test/vcr_cassettes/server/change_rootpassword.yml +15 -0
- data/test/vcr_cassettes/server/change_vncpass.yml +15 -0
- data/test/vcr_cassettes/server/console.yml +15 -0
- data/test/vcr_cassettes/server/create.yml +27 -0
- data/test/vcr_cassettes/server/exists.yml +15 -0
- data/test/vcr_cassettes/server/info.yml +27 -0
- data/test/vcr_cassettes/server/info_all.yml +15 -0
- data/test/vcr_cassettes/server/mountiso.yml +15 -0
- data/test/vcr_cassettes/server/network_disable.yml +15 -0
- data/test/vcr_cassettes/server/network_enable.yml +15 -0
- data/test/vcr_cassettes/server/pae_disable.yml +15 -0
- data/test/vcr_cassettes/server/pae_enable.yml +15 -0
- data/test/vcr_cassettes/server/reboot.yml +15 -0
- data/test/vcr_cassettes/server/rebuild.yml +15 -0
- data/test/vcr_cassettes/server/resume.yml +15 -0
- data/test/vcr_cassettes/server/shutdown.yml +15 -0
- data/test/vcr_cassettes/server/status.yml +15 -0
- data/test/vcr_cassettes/server/suspend.yml +15 -0
- data/test/vcr_cassettes/server/terminate.yml +27 -0
- data/test/vcr_cassettes/server/tun_disable.yml +15 -0
- data/test/vcr_cassettes/server/tun_enable.yml +15 -0
- data/test/vcr_cassettes/server/unmountiso.yml +15 -0
- data/test/vcr_cassettes/server/vnc.yml +15 -0
- metadata +220 -156
- data/.rbenv-version +0 -1
- data/.rvmrc +0 -47
- data/test/fixtures/base_bad_key.txt +0 -1
- data/test/fixtures/base_node_does_not_exist.txt +0 -1
- data/test/fixtures/base_unauthorized_ip.txt +0 -1
- data/test/fixtures/client_authenticate_error.txt +0 -2
- data/test/fixtures/client_authenticate_success.txt +0 -2
- data/test/fixtures/client_change_password_error.txt +0 -2
- data/test/fixtures/client_change_password_success.txt +0 -4
- data/test/fixtures/client_create_error.txt +0 -2
- data/test/fixtures/client_create_success.txt +0 -7
- data/test/fixtures/client_delete_success.txt +0 -2
- data/test/fixtures/client_exists_success.txt +0 -2
- data/test/fixtures/client_list_success.txt +0 -14
- data/test/fixtures/client_list_success_empty.txt +0 -2
- data/test/fixtures/error.txt +0 -2
- data/test/fixtures/general_isos_success.txt +0 -3
- data/test/fixtures/general_plans_success.txt +0 -3
- data/test/fixtures/general_templates_success.txt +0 -3
- data/test/fixtures/node_list_all_ips_available.txt +0 -4
- data/test/fixtures/node_list_all_ips_not_available.txt +0 -4
- data/test/fixtures/node_statistics_success.txt +0 -14
- data/test/fixtures/node_virtualservers_success.txt +0 -15
- data/test/fixtures/node_virtualservers_success_empty.txt +0 -2
- data/test/fixtures/node_xenresources_success.txt +0 -4
- data/test/fixtures/nodes_ids_success.txt +0 -3
- data/test/fixtures/nodes_list_success.txt +0 -3
- data/test/fixtures/reseller_change_resources_success.txt +0 -16
- data/test/fixtures/reseller_create_success.txt +0 -23
- data/test/fixtures/reseller_delete_success.txt +0 -2
- data/test/fixtures/reseller_info_success.txt +0 -23
- data/test/fixtures/reseller_list_success.txt +0 -3
- data/test/fixtures/server_boot_success.txt +0 -2
- data/test/fixtures/server_bootorder_success.txt +0 -2
- data/test/fixtures/server_change_consolepass_success.txt +0 -3
- data/test/fixtures/server_change_owner_success.txt +0 -2
- data/test/fixtures/server_change_success.txt +0 -2
- data/test/fixtures/server_change_vncpass_success.txt +0 -3
- data/test/fixtures/server_console_success.txt +0 -7
- data/test/fixtures/server_create_success.txt +0 -10
- data/test/fixtures/server_exists_success.txt +0 -2
- data/test/fixtures/server_hostname_success.txt +0 -3
- data/test/fixtures/server_info_success.txt +0 -10
- data/test/fixtures/server_infoall_success.txt +0 -13
- data/test/fixtures/server_mountiso_success.txt +0 -2
- data/test/fixtures/server_network_disable_success.txt +0 -2
- data/test/fixtures/server_network_enable_success.txt +0 -2
- data/test/fixtures/server_pae_success.txt +0 -2
- data/test/fixtures/server_reboot_success.txt +0 -2
- data/test/fixtures/server_rebuild_success.txt +0 -2
- data/test/fixtures/server_resume_success.txt +0 -2
- data/test/fixtures/server_rootpassword_success.txt +0 -3
- data/test/fixtures/server_shutdown_success.txt +0 -2
- data/test/fixtures/server_status_success.txt +0 -2
- data/test/fixtures/server_suspend_success.txt +0 -2
- data/test/fixtures/server_terminate_success.txt +0 -2
- data/test/fixtures/server_tun_disable_success.txt +0 -2
- data/test/fixtures/server_tun_enable_success.txt +0 -2
- data/test/fixtures/server_unmountiso_success.txt +0 -2
- data/test/fixtures/server_vnc_success.txt +0 -6
- data/test/test_base.rb +0 -115
- data/test/test_client.rb +0 -98
- data/test/test_general.rb +0 -70
- data/test/test_node.rb +0 -112
- data/test/test_reseller.rb +0 -80
- data/test/test_server.rb +0 -227
data/test/test_base.rb
DELETED
@@ -1,115 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
class TestBase < Test::Unit::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
FakeWeb.allow_net_connect = false
|
7
|
-
FakeWeb.clean_registry
|
8
|
-
setup_solusvm
|
9
|
-
@base = Solusvm::Base.new
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_valid_server_types
|
13
|
-
assert_equal 3, Solusvm::Base::VALID_SERVER_TYPES.size
|
14
|
-
assert_equal ['openvz', 'xen', 'xen hvm'].sort, Solusvm::Base::VALID_SERVER_TYPES.sort
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_parse_response
|
18
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=test&vserverid=1", :body => load_response('server_create_success'))
|
19
|
-
assert_nil @base.returned_parameters
|
20
|
-
@base.perform_request(:action => 'test', :vserverid => 1)
|
21
|
-
params = @base.returned_parameters
|
22
|
-
|
23
|
-
assert_equal 10, params.size
|
24
|
-
assert_equal '123.123.123.123', params['mainipaddress']
|
25
|
-
assert_equal 'console-123', params['consoleuser']
|
26
|
-
assert_equal '100', params['vserverid']
|
27
|
-
assert_equal 'Virtual server created', params['statusmsg']
|
28
|
-
assert_equal 'vm101|101', params['virtid']
|
29
|
-
assert_equal '123456', params['consolepassword']
|
30
|
-
assert_equal '122.122.122.122,111.111.111.111', params['extraipaddress']
|
31
|
-
assert_equal 'server.hostname.com', params['hostname']
|
32
|
-
assert_equal '123456', params['rootpassword']
|
33
|
-
assert_equal 'success', params['status']
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_successful
|
37
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=testsuccess&vserverid=1", :body => load_response('server_create_success'))
|
38
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=testfail&vserverid=1", :body => load_response('error'))
|
39
|
-
|
40
|
-
@base.perform_request(:action => 'testsuccess', :vserverid => 1)
|
41
|
-
assert @base.successful?
|
42
|
-
|
43
|
-
assert ! @base.perform_request(:action => 'testfail', :vserverid => 1)
|
44
|
-
assert_equal "error message", @base.statusmsg
|
45
|
-
end
|
46
|
-
|
47
|
-
def test_api_login
|
48
|
-
assert_equal api_login, @base.api_login
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_statusmsg
|
52
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=testsuccess&vserverid=1", :body => load_response('server_create_success'))
|
53
|
-
@base.perform_request(:action => 'testsuccess', :vserverid => 1)
|
54
|
-
assert_equal 'Virtual server created', @base.statusmsg
|
55
|
-
end
|
56
|
-
|
57
|
-
def test_validate_server_type
|
58
|
-
Solusvm::Base::VALID_SERVER_TYPES.each do |type|
|
59
|
-
assert_nothing_raised do
|
60
|
-
@base.validate_server_type!(type)
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
begin
|
65
|
-
@base.validate_server_type!('bob')
|
66
|
-
flunk "Shouldn't get here"
|
67
|
-
rescue Solusvm::SolusvmError => e
|
68
|
-
assert_equal 'Invalid Virtual Server type: bob', e.message
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_unautorized_ip
|
73
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=unauthorized", :body => load_response('base_unauthorized_ip'))
|
74
|
-
message = ""
|
75
|
-
begin
|
76
|
-
@base.perform_request(:action => 'unauthorized')
|
77
|
-
rescue Exception => e
|
78
|
-
message = e
|
79
|
-
end
|
80
|
-
assert_equal "This IP is not authorized to use the API", message.to_s
|
81
|
-
end
|
82
|
-
|
83
|
-
def test_invalid_key_or_id
|
84
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=badkey", :body => load_response('base_bad_key'))
|
85
|
-
message = ""
|
86
|
-
begin
|
87
|
-
@base.perform_request(:action => 'badkey')
|
88
|
-
rescue Exception => e
|
89
|
-
message = e
|
90
|
-
end
|
91
|
-
assert_equal "Invalid ID or key", message.to_s
|
92
|
-
end
|
93
|
-
|
94
|
-
def test_node_does_not_exist
|
95
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=nodeexist", :body => load_response('base_node_does_not_exist'))
|
96
|
-
message = ""
|
97
|
-
begin
|
98
|
-
@base.perform_request(:action => 'nodeexist')
|
99
|
-
rescue Exception => e
|
100
|
-
message = e
|
101
|
-
end
|
102
|
-
assert_equal "Node does not exist", message.to_s
|
103
|
-
end
|
104
|
-
|
105
|
-
def test_invalid_http_status
|
106
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=httperror", :body => "", :status => ["404", "Not Found"])
|
107
|
-
message = ""
|
108
|
-
begin
|
109
|
-
@base.perform_request(:action => 'httperror')
|
110
|
-
rescue Solusvm::SolusvmError => e
|
111
|
-
message = e
|
112
|
-
end
|
113
|
-
assert_equal "Bad HTTP Status: 404", message.to_s
|
114
|
-
end
|
115
|
-
end
|
data/test/test_client.rb
DELETED
@@ -1,98 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
class TestClient < Test::Unit::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
setup_solusvm
|
7
|
-
FakeWeb.allow_net_connect = false
|
8
|
-
FakeWeb.clean_registry
|
9
|
-
@client = Solusvm::Client.new
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_create
|
13
|
-
options = {:username => 'vps123', :password=> '123456', :email=> 'email@address.com', :firstname => 'phill', :lastname => 'smith'}
|
14
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=client-create&#{options.to_query}", :body => load_response('client_create_success'))
|
15
|
-
|
16
|
-
params = @client.create(options)
|
17
|
-
assert params
|
18
|
-
assert_equal options[:username], params['username']
|
19
|
-
assert_equal options[:firstname], params['firstname']
|
20
|
-
assert_equal options[:lastname], params['lastname']
|
21
|
-
assert_equal options[:password], params['password']
|
22
|
-
assert_equal options[:email], params['email']
|
23
|
-
assert_equal 'Successfully added client', params['statusmsg']
|
24
|
-
assert_equal 'success', params['status']
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_create_fail
|
28
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=client-create", :body => load_response('client_create_error'))
|
29
|
-
assert ! @client.create
|
30
|
-
assert_equal 'Empty username field', @client.statusmsg
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_exists
|
34
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=client-checkexists&username=vps123", :body => load_response('client_exists_success'))
|
35
|
-
assert @client.exists?("vps123")
|
36
|
-
assert_equal 'Client exists', @client.statusmsg
|
37
|
-
end
|
38
|
-
|
39
|
-
def test_change_password
|
40
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=client-updatepassword&username=vps123&password=123456", :body => load_response('client_change_password_success'))
|
41
|
-
assert @client.change_password("vps123","123456")
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_change_password_fail
|
45
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=client-updatepassword&username=vps13&password=thecake", :body => load_response('client_change_password_error'))
|
46
|
-
assert !@client.change_password("vps13","thecake")
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_authenticate
|
50
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=client-authenticate&username=u&password=p", :body => load_response('client_authenticate_success'))
|
51
|
-
assert @client.authenticate('u', 'p')
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_authenticate_fail
|
55
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=client-authenticate&username=u&password=notp", :body => load_response('client_authenticate_error'))
|
56
|
-
assert ! @client.authenticate('u', 'notp')
|
57
|
-
assert_equal 'invalid username or password', @client.statusmsg
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_delete
|
61
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=client-delete&username=vps123", :body => load_response('client_delete_success'))
|
62
|
-
assert @client.delete("vps123")
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_delete_fail
|
66
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=client-delete&username=vps123", :body => load_response('error'))
|
67
|
-
assert !@client.delete("vps123")
|
68
|
-
end
|
69
|
-
|
70
|
-
def test_list
|
71
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=client-list", :body => load_response('client_list_success'))
|
72
|
-
|
73
|
-
clients = @client.list
|
74
|
-
assert_equal 1, clients.size
|
75
|
-
|
76
|
-
client = clients.first
|
77
|
-
assert_equal "1", client["id"]
|
78
|
-
assert_equal "vps123", client["username"]
|
79
|
-
assert_equal "vps123@email.com", client["email"]
|
80
|
-
assert_equal "phill", client["firstname"]
|
81
|
-
assert_equal "smith", client["lastname"]
|
82
|
-
assert_equal "VPS Co", client["company"]
|
83
|
-
assert_equal "Client", client["level"]
|
84
|
-
assert_equal "Active", client["status"]
|
85
|
-
assert_equal "2009-01-01", client["created"]
|
86
|
-
assert_equal "2010-04-23", client["lastlogin"]
|
87
|
-
end
|
88
|
-
|
89
|
-
def test_list_empty
|
90
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=client-list", :body => load_response('client_list_success_empty'))
|
91
|
-
assert @client.list.empty?
|
92
|
-
end
|
93
|
-
|
94
|
-
def test_list_fail
|
95
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=client-list", :body => load_response('error'))
|
96
|
-
assert_nil @client.list
|
97
|
-
end
|
98
|
-
end
|
data/test/test_general.rb
DELETED
@@ -1,70 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
class TestGeneral < Test::Unit::TestCase
|
4
|
-
def setup
|
5
|
-
FakeWeb.allow_net_connect = false
|
6
|
-
FakeWeb.clean_registry
|
7
|
-
setup_solusvm
|
8
|
-
@general = Solusvm::General.new
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_templates
|
12
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=listtemplates&type=xen", :body => load_response('general_templates_success'))
|
13
|
-
assert_equal %w(template1 template2 template3), @general.templates('xen')
|
14
|
-
end
|
15
|
-
|
16
|
-
def test_templates_empty
|
17
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=listtemplates&type=xen", :body => load_response('error'))
|
18
|
-
assert !@general.templates('xen')
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_templates_with_invalid_type
|
22
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=listtemplates&type=whatever", :body => load_response('error'))
|
23
|
-
begin
|
24
|
-
@general.templates('whatever')
|
25
|
-
flunk "Shouldn't get here"
|
26
|
-
rescue Solusvm::SolusvmError => e
|
27
|
-
assert e.message.match /Invalid Virtual Server type/
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_plans
|
32
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=listplans&type=xen", :body => load_response('general_plans_success'))
|
33
|
-
assert_equal %w(plan1 plan2 plan3 plan4), @general.plans('xen')
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_plans_empty
|
37
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=listplans&type=xen", :body => load_response('error'))
|
38
|
-
assert !@general.plans('xen')
|
39
|
-
end
|
40
|
-
|
41
|
-
def test_plans_with_invalid_type
|
42
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=listplans&type=whatever", :body => load_response('error'))
|
43
|
-
begin
|
44
|
-
@general.plans('whatever')
|
45
|
-
flunk "Shouldn't get here"
|
46
|
-
rescue Solusvm::SolusvmError => e
|
47
|
-
assert e.message.match /Invalid Virtual Server type/
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_isos
|
52
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=listiso&type=xen", :body => load_response('general_isos_success'))
|
53
|
-
assert_equal %w(iso1 iso2 iso3), @general.isos('xen')
|
54
|
-
end
|
55
|
-
|
56
|
-
def test_isos_empty
|
57
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=listiso&type=xen", :body => load_response('error'))
|
58
|
-
assert !@general.isos('xen')
|
59
|
-
end
|
60
|
-
|
61
|
-
def test_isos_with_invalid_type
|
62
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=listiso&type=whatever", :body => load_response('error'))
|
63
|
-
begin
|
64
|
-
@general.isos('whatever')
|
65
|
-
flunk "Shouldn't get here"
|
66
|
-
rescue Solusvm::SolusvmError => e
|
67
|
-
assert e.message.match /Invalid Virtual Server type/
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
data/test/test_node.rb
DELETED
@@ -1,112 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
class TestNode < Test::Unit::TestCase
|
4
|
-
def setup
|
5
|
-
FakeWeb.allow_net_connect = false
|
6
|
-
FakeWeb.clean_registry
|
7
|
-
setup_solusvm
|
8
|
-
@nodes = Solusvm::Node.new
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_list
|
12
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=listnodes&type=xen", :body => load_response('nodes_list_success'))
|
13
|
-
assert_equal %w(node1 node2 node3 node4), @nodes.list('xen')
|
14
|
-
end
|
15
|
-
|
16
|
-
def test_list_empty
|
17
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=listnodes&type=xen", :body => load_response('error'))
|
18
|
-
assert !@nodes.list('xen')
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_nodes_with_invalid_type
|
22
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=listnodes&type=whatever", :body => load_response('error'))
|
23
|
-
begin
|
24
|
-
@nodes.list('whatever')
|
25
|
-
flunk "Shouldn't get here"
|
26
|
-
rescue Solusvm::SolusvmError => e
|
27
|
-
assert e.message.match /Invalid Virtual Server type/
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_statistics
|
32
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=node-statistics&nodeid=1", :body => load_response('node_statistics_success'))
|
33
|
-
node_statistics = @nodes.statistics(1)
|
34
|
-
|
35
|
-
assert_equal '1000', node_statistics['freedisk']
|
36
|
-
assert_equal '22', node_statistics['sshport']
|
37
|
-
assert_equal 'city', node_statistics['city']
|
38
|
-
assert_equal 'name', node_statistics['name']
|
39
|
-
assert_equal '0', node_statistics['freeips']
|
40
|
-
assert_equal 'country', node_statistics['country']
|
41
|
-
assert_equal 'x86_64', node_statistics['arch']
|
42
|
-
assert_equal '1', node_statistics['id']
|
43
|
-
assert_equal '10', node_statistics['freememory']
|
44
|
-
assert_equal '2', node_statistics['virtualservers']
|
45
|
-
assert_equal '127.0.0.1', node_statistics['ip']
|
46
|
-
assert_equal 'hostname.com', node_statistics['hostname']
|
47
|
-
assert_equal 'success', node_statistics['status']
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_list_all_ips_available
|
51
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=node-iplist&nodeid=1", :body => load_response('node_list_all_ips_available'))
|
52
|
-
assert_equal %w(123.123.123.123 124.124.124.124 125.125.125.125).sort, @nodes.available_ips(1).sort
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_list_all_ips_not_available
|
56
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=node-iplist&nodeid=1", :body => load_response('node_list_all_ips_not_available'))
|
57
|
-
assert @nodes.available_ips(1).empty?
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_ids
|
61
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=node-idlist&type=xen", :body => load_response('nodes_ids_success'))
|
62
|
-
assert_equal %w(nodeid1 nodeid2 nodeid3 nodeid4), @nodes.ids('xen')
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_nodes_ids_error
|
66
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=node-idlist&type=whatever", :body => load_response('error'))
|
67
|
-
begin
|
68
|
-
@nodes.ids('whatever')
|
69
|
-
flunk "Shouldn't get here"
|
70
|
-
rescue Solusvm::SolusvmError => e
|
71
|
-
assert e.message.match /Invalid Virtual Server type/
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
def test_virtualservers
|
76
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=node-virtualservers&nodeid=1", :body => load_response('node_virtualservers_success'))
|
77
|
-
|
78
|
-
servers = @nodes.virtualservers(1)
|
79
|
-
assert_equal 1, servers.size
|
80
|
-
|
81
|
-
server = servers.first
|
82
|
-
assert_equal "theid", server["vserverid"]
|
83
|
-
assert_equal "thexid", server["ctid-xid"]
|
84
|
-
assert_equal "theclientid", server["clientid"]
|
85
|
-
assert_equal "theip", server["ipaddress"]
|
86
|
-
assert_equal "thehostname", server["hostname"]
|
87
|
-
assert_equal "thetemplate", server["template"]
|
88
|
-
assert_equal "thediskspace", server["hdd"]
|
89
|
-
assert_equal "thememory", server["memory"]
|
90
|
-
assert_equal "theswap", server["swap-burst"]
|
91
|
-
assert_equal "thetype", server["type"]
|
92
|
-
assert_equal "themac", server["mac"]
|
93
|
-
end
|
94
|
-
|
95
|
-
def test_virtualservers_empty
|
96
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=node-virtualservers&nodeid=1", :body => load_response('node_virtualservers_success_empty'))
|
97
|
-
assert @nodes.virtualservers(1).empty?
|
98
|
-
end
|
99
|
-
|
100
|
-
def test_virtualservers_fail
|
101
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=node-virtualservers&nodeid=1", :body => load_response('error'))
|
102
|
-
assert_nil @nodes.virtualservers(1)
|
103
|
-
end
|
104
|
-
|
105
|
-
def test_xenresources
|
106
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=node-xenresources&nodeid=1", :body => load_response('node_xenresources_success'))
|
107
|
-
node_resources = @nodes.xenresources(1)
|
108
|
-
|
109
|
-
assert_equal 'thefreememory', node_resources['freememory']
|
110
|
-
assert_equal 'thefreehdd', node_resources['freehdd']
|
111
|
-
end
|
112
|
-
end
|
data/test/test_reseller.rb
DELETED
@@ -1,80 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
class TestReseller < Test::Unit::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
setup_solusvm
|
7
|
-
FakeWeb.allow_net_connect = false
|
8
|
-
FakeWeb.clean_registry
|
9
|
-
@reseller = Solusvm::Reseller.new
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_create
|
13
|
-
options = {:username => 'reseller123', :password=> '123456', :email=> 'reseller3@email.com', :firstname => 'Phill', :lastname => 'Smith'}
|
14
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=reseller-create&#{options.to_query}", :body => load_response('reseller_create_success'))
|
15
|
-
|
16
|
-
params = @reseller.create(options)
|
17
|
-
|
18
|
-
assert params
|
19
|
-
assert_equal options[:username], params['username']
|
20
|
-
assert_equal options[:firstname], params['firstname']
|
21
|
-
assert_equal options[:lastname], params['lastname']
|
22
|
-
assert_equal options[:password], params['password']
|
23
|
-
assert_equal options[:email], params['email']
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_create_fail
|
27
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=reseller-create", :body => load_response('error'))
|
28
|
-
assert ! @reseller.create
|
29
|
-
assert_equal 'error message', @reseller.statusmsg
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_change_resources
|
33
|
-
options = {:maxvps => 10}
|
34
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=reseller-modifyresources&username=vps123&#{options.to_query}", :body => load_response('reseller_change_resources_success'))
|
35
|
-
|
36
|
-
params = @reseller.change_resources("vps123", options)
|
37
|
-
|
38
|
-
assert params
|
39
|
-
assert "10", params['maxvps']
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_change_resources_fail
|
43
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=reseller-modifyresources&username=vps13", :body => load_response('error'))
|
44
|
-
assert !@reseller.change_resources("vps13")
|
45
|
-
end
|
46
|
-
|
47
|
-
def test_info
|
48
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=reseller-info&username=vps123", :body => load_response('reseller_info_success'))
|
49
|
-
|
50
|
-
params = @reseller.info("vps123")
|
51
|
-
|
52
|
-
assert params
|
53
|
-
assert_equal "reseller123", params['username']
|
54
|
-
assert_equal "Phill", params['firstname']
|
55
|
-
assert_equal "Smith", params['lastname']
|
56
|
-
assert_equal "123456", params['password']
|
57
|
-
assert_equal "reseller3@email.com", params['email']
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_info_fail
|
61
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=reseller-info&username=vps13", :body => load_response('error'))
|
62
|
-
assert !@reseller.info("vps13")
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_list
|
66
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=reseller-list", :body => load_response('reseller_list_success'))
|
67
|
-
assert_equal %w(username1 username2 username3), @reseller.list
|
68
|
-
end
|
69
|
-
|
70
|
-
def test_list_empty
|
71
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=reseller-list", :body => load_response('error'))
|
72
|
-
assert !@reseller.list
|
73
|
-
end
|
74
|
-
|
75
|
-
def test_delete
|
76
|
-
FakeWeb.register_uri(:get, "#{base_uri}&action=reseller-delete&username=vps123", :body => load_response('reseller_delete_success'))
|
77
|
-
assert @reseller.delete("vps123")
|
78
|
-
end
|
79
|
-
|
80
|
-
end
|