solusvm 1.0.0.beta3 → 1.1.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/cli/test_server_cli.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'test_helper'
|
|
2
2
|
require 'solusvm/cli'
|
|
3
3
|
|
|
4
4
|
class TestServerCli < Test::Unit::TestCase
|
|
@@ -11,7 +11,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
11
11
|
|
|
12
12
|
def test_should_delegate_server_status_to_server
|
|
13
13
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
14
|
-
Solusvm::Server.stubs(:new => mock
|
|
14
|
+
Solusvm::Server.stubs(:new => mock do
|
|
15
|
+
expects(:successful?).returns(true)
|
|
16
|
+
expects(:status).with("thevserverid").returns("theresult")
|
|
17
|
+
end)
|
|
15
18
|
|
|
16
19
|
$stdout.expects(:puts).with("theresult")
|
|
17
20
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "status", "thevserverid"]))
|
|
@@ -19,7 +22,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
19
22
|
|
|
20
23
|
def test_should_delegate_server_change_plan_to_server
|
|
21
24
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
22
|
-
Solusvm::Server.stubs(:new => mock
|
|
25
|
+
Solusvm::Server.stubs(:new => mock do
|
|
26
|
+
expects(:successful?).returns(true)
|
|
27
|
+
expects(:change_plan).with("thevserverid", "thenewplan").returns("theresult")
|
|
28
|
+
end)
|
|
23
29
|
|
|
24
30
|
$stdout.expects(:puts).with("theresult")
|
|
25
31
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "change-plan", "thevserverid", "thenewplan"]))
|
|
@@ -27,7 +33,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
27
33
|
|
|
28
34
|
def test_should_delegate_server_change_owner_to_server
|
|
29
35
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
30
|
-
Solusvm::Server.stubs(:new => mock
|
|
36
|
+
Solusvm::Server.stubs(:new => mock do
|
|
37
|
+
expects(:successful?).returns(true)
|
|
38
|
+
expects(:change_owner).with("thevserverid", "thenewowner").returns("theresult")
|
|
39
|
+
end)
|
|
31
40
|
|
|
32
41
|
$stdout.expects(:puts).with("theresult")
|
|
33
42
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "change-owner", "thevserverid", "thenewowner"]))
|
|
@@ -35,7 +44,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
35
44
|
|
|
36
45
|
def test_should_delegate_server_change_consolepass_to_server
|
|
37
46
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
38
|
-
Solusvm::Server.stubs(:new => mock
|
|
47
|
+
Solusvm::Server.stubs(:new => mock do
|
|
48
|
+
expects(:successful?).returns(true)
|
|
49
|
+
expects(:change_consolepass).with("thevserverid", "thenewpass").returns("theresult")
|
|
50
|
+
end)
|
|
39
51
|
|
|
40
52
|
$stdout.expects(:puts).with("theresult")
|
|
41
53
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "change-consolepass", "thevserverid", "thenewpass"]))
|
|
@@ -43,7 +55,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
43
55
|
|
|
44
56
|
def test_should_delegate_server_change_vncpass_to_server
|
|
45
57
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
46
|
-
Solusvm::Server.stubs(:new => mock
|
|
58
|
+
Solusvm::Server.stubs(:new => mock do
|
|
59
|
+
expects(:successful?).returns(true)
|
|
60
|
+
expects(:change_vncpass).with("thevserverid", "thenewpass").returns("theresult")
|
|
61
|
+
end)
|
|
47
62
|
|
|
48
63
|
$stdout.expects(:puts).with("theresult")
|
|
49
64
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "change-vncpass", "thevserverid", "thenewpass"]))
|
|
@@ -51,7 +66,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
51
66
|
|
|
52
67
|
def test_should_delegate_server_change_rootpass_to_server
|
|
53
68
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
54
|
-
Solusvm::Server.stubs(:new => mock
|
|
69
|
+
Solusvm::Server.stubs(:new => mock do
|
|
70
|
+
expects(:successful?).returns(true)
|
|
71
|
+
expects(:change_rootpassword).with("thevserverid", "thenewpass").returns("theresult")
|
|
72
|
+
end)
|
|
55
73
|
|
|
56
74
|
$stdout.expects(:puts).with("theresult")
|
|
57
75
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "change-rootpass", "thevserverid", "thenewpass"]))
|
|
@@ -59,7 +77,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
59
77
|
|
|
60
78
|
def test_should_delegate_server_change_bootorder_to_server
|
|
61
79
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
62
|
-
Solusvm::Server.stubs(:new => mock
|
|
80
|
+
Solusvm::Server.stubs(:new => mock do
|
|
81
|
+
expects(:successful?).returns(true)
|
|
82
|
+
expects(:change_bootorder).with("thevserverid", "theneworder").returns("theresult")
|
|
83
|
+
end)
|
|
63
84
|
|
|
64
85
|
$stdout.expects(:puts).with("theresult")
|
|
65
86
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "change-bootorder", "thevserverid", "theneworder"]))
|
|
@@ -67,7 +88,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
67
88
|
|
|
68
89
|
def test_should_delegate_server_change_hostname_to_server
|
|
69
90
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
70
|
-
Solusvm::Server.stubs(:new => mock
|
|
91
|
+
Solusvm::Server.stubs(:new => mock do
|
|
92
|
+
expects(:successful?).returns(true)
|
|
93
|
+
expects(:change_hostname).with("thevserverid", "thenewhostname").returns("theresult")
|
|
94
|
+
end)
|
|
71
95
|
|
|
72
96
|
$stdout.expects(:puts).with("theresult")
|
|
73
97
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "change-hostname", "thevserverid", "thenewhostname"]))
|
|
@@ -75,7 +99,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
75
99
|
|
|
76
100
|
def test_should_delegate_server_add_ip_to_server
|
|
77
101
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
78
|
-
Solusvm::Server.stubs(:new => mock
|
|
102
|
+
Solusvm::Server.stubs(:new => mock do
|
|
103
|
+
expects(:successful?).returns(true)
|
|
104
|
+
expects(:add_ip).with("thevserverid").returns("theresult")
|
|
105
|
+
end)
|
|
79
106
|
|
|
80
107
|
$stdout.expects(:puts).with("theresult")
|
|
81
108
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "addip", "thevserverid"]))
|
|
@@ -83,7 +110,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
83
110
|
|
|
84
111
|
def test_should_delegate_server_boot_to_server
|
|
85
112
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
86
|
-
Solusvm::Server.stubs(:new => mock
|
|
113
|
+
Solusvm::Server.stubs(:new => mock do
|
|
114
|
+
expects(:successful?).returns(true)
|
|
115
|
+
expects(:boot).with("thevserverid").returns("theresult")
|
|
116
|
+
end)
|
|
87
117
|
|
|
88
118
|
$stdout.expects(:puts).with("theresult")
|
|
89
119
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "boot", "thevserverid"]))
|
|
@@ -91,7 +121,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
91
121
|
|
|
92
122
|
def test_should_delegate_server_reboot_to_server
|
|
93
123
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
94
|
-
Solusvm::Server.stubs(:new => mock
|
|
124
|
+
Solusvm::Server.stubs(:new => mock do
|
|
125
|
+
expects(:successful?).returns(true)
|
|
126
|
+
expects(:reboot).with("thevserverid").returns("theresult")
|
|
127
|
+
end)
|
|
95
128
|
|
|
96
129
|
$stdout.expects(:puts).with("theresult")
|
|
97
130
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "reboot", "thevserverid"]))
|
|
@@ -99,7 +132,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
99
132
|
|
|
100
133
|
def test_should_delegate_server_shutdown_to_server
|
|
101
134
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
102
|
-
Solusvm::Server.stubs(:new => mock
|
|
135
|
+
Solusvm::Server.stubs(:new => mock do
|
|
136
|
+
expects(:successful?).returns(true)
|
|
137
|
+
expects(:shutdown).with("thevserverid").returns("theresult")
|
|
138
|
+
end)
|
|
103
139
|
|
|
104
140
|
$stdout.expects(:puts).with("theresult")
|
|
105
141
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "shutdown", "thevserverid"]))
|
|
@@ -107,7 +143,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
107
143
|
|
|
108
144
|
def test_should_delegate_server_suspend_to_server
|
|
109
145
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
110
|
-
Solusvm::Server.stubs(:new => mock
|
|
146
|
+
Solusvm::Server.stubs(:new => mock do
|
|
147
|
+
expects(:successful?).returns(true)
|
|
148
|
+
expects(:suspend).with("thevserverid").returns("theresult")
|
|
149
|
+
end)
|
|
111
150
|
|
|
112
151
|
$stdout.expects(:puts).with("theresult")
|
|
113
152
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "suspend", "thevserverid"]))
|
|
@@ -115,7 +154,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
115
154
|
|
|
116
155
|
def test_should_delegate_server_resume_to_server
|
|
117
156
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
118
|
-
Solusvm::Server.stubs(:new => mock
|
|
157
|
+
Solusvm::Server.stubs(:new => mock do
|
|
158
|
+
expects(:successful?).returns(true)
|
|
159
|
+
expects(:resume).with("thevserverid").returns("theresult")
|
|
160
|
+
end)
|
|
119
161
|
|
|
120
162
|
$stdout.expects(:puts).with("theresult")
|
|
121
163
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "resume", "thevserverid"]))
|
|
@@ -123,7 +165,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
123
165
|
|
|
124
166
|
def test_should_delegate_server_check_exists_to_server
|
|
125
167
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
126
|
-
Solusvm::Server.stubs(:new => mock
|
|
168
|
+
Solusvm::Server.stubs(:new => mock do
|
|
169
|
+
expects(:successful?).returns(true)
|
|
170
|
+
expects(:exists?).with("thevserverid").returns("theresult")
|
|
171
|
+
end)
|
|
127
172
|
|
|
128
173
|
$stdout.expects(:puts).with("theresult")
|
|
129
174
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "check-exists", "thevserverid"]))
|
|
@@ -131,7 +176,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
131
176
|
|
|
132
177
|
def test_should_delegate_server_terminate_to_server
|
|
133
178
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
134
|
-
Solusvm::Server.stubs(:new => mock
|
|
179
|
+
Solusvm::Server.stubs(:new => mock do
|
|
180
|
+
expects(:successful?).returns(true)
|
|
181
|
+
expects(:terminate).with("thevserverid").returns("theresult")
|
|
182
|
+
end)
|
|
135
183
|
|
|
136
184
|
$stdout.expects(:puts).with("theresult")
|
|
137
185
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "terminate", "thevserverid"]))
|
|
@@ -139,8 +187,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
139
187
|
|
|
140
188
|
def test_should_delegate_server_rebuild_to_server
|
|
141
189
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
142
|
-
Solusvm::Server.stubs(:new => mock
|
|
143
|
-
|
|
190
|
+
Solusvm::Server.stubs(:new => mock do
|
|
191
|
+
expects(:successful?).returns(true)
|
|
192
|
+
expects(:rebuild).with("thevserverid", :template => "thetemplate").returns("theresult")
|
|
193
|
+
end)
|
|
144
194
|
|
|
145
195
|
$stdout.expects(:puts).with("theresult")
|
|
146
196
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "rebuild", "thevserverid", "--template", "thetemplate"]))
|
|
@@ -148,7 +198,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
148
198
|
|
|
149
199
|
def test_should_delegate_server_tun_switcher_on_to_server
|
|
150
200
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
151
|
-
Solusvm::Server.stubs(:new => mock
|
|
201
|
+
Solusvm::Server.stubs(:new => mock do
|
|
202
|
+
expects(:successful?).returns(true)
|
|
203
|
+
expects(:tun_enable).with("thevserverid").returns("theresult")
|
|
204
|
+
end)
|
|
152
205
|
|
|
153
206
|
$stdout.expects(:puts).with("theresult")
|
|
154
207
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "tun-switcher", "thevserverid", "on"]))
|
|
@@ -156,7 +209,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
156
209
|
|
|
157
210
|
def test_should_delegate_server_tun_switcher_off_to_server
|
|
158
211
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
159
|
-
Solusvm::Server.stubs(:new => mock
|
|
212
|
+
Solusvm::Server.stubs(:new => mock do
|
|
213
|
+
expects(:successful?).returns(true)
|
|
214
|
+
expects(:tun_disable).with("thevserverid").returns("theresult")
|
|
215
|
+
end)
|
|
160
216
|
|
|
161
217
|
$stdout.expects(:puts).with("theresult")
|
|
162
218
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "tun-switcher", "thevserverid", "off"]))
|
|
@@ -164,7 +220,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
164
220
|
|
|
165
221
|
def test_should_delegate_server_network_switcher_on_to_server
|
|
166
222
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
167
|
-
Solusvm::Server.stubs(:new => mock
|
|
223
|
+
Solusvm::Server.stubs(:new => mock do
|
|
224
|
+
expects(:successful?).returns(true)
|
|
225
|
+
expects(:network_enable).with("thevserverid").returns("theresult")
|
|
226
|
+
end)
|
|
168
227
|
|
|
169
228
|
$stdout.expects(:puts).with("theresult")
|
|
170
229
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "network-switcher", "thevserverid", "on"]))
|
|
@@ -172,7 +231,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
172
231
|
|
|
173
232
|
def test_should_delegate_server_network_switcher_off_to_server
|
|
174
233
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
175
|
-
Solusvm::Server.stubs(:new => mock
|
|
234
|
+
Solusvm::Server.stubs(:new => mock do
|
|
235
|
+
expects(:successful?).returns(true)
|
|
236
|
+
expects(:network_disable).with("thevserverid").returns("theresult")
|
|
237
|
+
end)
|
|
176
238
|
|
|
177
239
|
$stdout.expects(:puts).with("theresult")
|
|
178
240
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "network-switcher", "thevserverid", "off"]))
|
|
@@ -180,7 +242,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
180
242
|
|
|
181
243
|
def test_should_delegate_server_pae_switcher_on_to_server
|
|
182
244
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
183
|
-
Solusvm::Server.stubs(:new => mock
|
|
245
|
+
Solusvm::Server.stubs(:new => mock do
|
|
246
|
+
expects(:successful?).returns(true)
|
|
247
|
+
expects(:pae_enable).with("thevserverid").returns("theresult")
|
|
248
|
+
end)
|
|
184
249
|
|
|
185
250
|
$stdout.expects(:puts).with("theresult")
|
|
186
251
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "pae-switcher", "thevserverid", "on"]))
|
|
@@ -188,7 +253,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
188
253
|
|
|
189
254
|
def test_should_delegate_server_pae_switcher_off_to_server
|
|
190
255
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
191
|
-
Solusvm::Server.stubs(:new => mock
|
|
256
|
+
Solusvm::Server.stubs(:new => mock do
|
|
257
|
+
expects(:successful?).returns(true)
|
|
258
|
+
expects(:pae_disable).with("thevserverid").returns("theresult")
|
|
259
|
+
end)
|
|
192
260
|
|
|
193
261
|
$stdout.expects(:puts).with("theresult")
|
|
194
262
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "pae-switcher", "thevserverid", "off"]))
|
|
@@ -196,7 +264,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
196
264
|
|
|
197
265
|
def test_should_delegate_server_info_to_server
|
|
198
266
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
199
|
-
Solusvm::Server.stubs(:new => mock
|
|
267
|
+
Solusvm::Server.stubs(:new => mock do
|
|
268
|
+
expects(:successful?).returns(true)
|
|
269
|
+
expects(:info).with("thevserverid").returns("theresult")
|
|
270
|
+
end)
|
|
200
271
|
|
|
201
272
|
$stdout.expects(:puts).with("theresult")
|
|
202
273
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "info", "thevserverid"]))
|
|
@@ -204,7 +275,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
204
275
|
|
|
205
276
|
def test_should_delegate_server_vnc_to_server
|
|
206
277
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
207
|
-
Solusvm::Server.stubs(:new => mock
|
|
278
|
+
Solusvm::Server.stubs(:new => mock do
|
|
279
|
+
expects(:successful?).returns(true)
|
|
280
|
+
expects(:vnc).with("thevserverid").returns("theresult")
|
|
281
|
+
end)
|
|
208
282
|
|
|
209
283
|
$stdout.expects(:puts).with("theresult")
|
|
210
284
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "vnc", "thevserverid"]))
|
|
@@ -212,7 +286,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
212
286
|
|
|
213
287
|
def test_should_delegate_server_console_to_server
|
|
214
288
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
215
|
-
Solusvm::Server.stubs(:new => mock
|
|
289
|
+
Solusvm::Server.stubs(:new => mock do
|
|
290
|
+
expects(:successful?).returns(true)
|
|
291
|
+
expects(:console).with("thevserverid").returns("theresult")
|
|
292
|
+
end)
|
|
216
293
|
|
|
217
294
|
$stdout.expects(:puts).with("theresult")
|
|
218
295
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "console", "thevserverid"]))
|
|
@@ -220,7 +297,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
220
297
|
|
|
221
298
|
def test_should_delegate_server_info_all_to_server
|
|
222
299
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
223
|
-
Solusvm::Server.stubs(:new => mock
|
|
300
|
+
Solusvm::Server.stubs(:new => mock do
|
|
301
|
+
expects(:successful?).returns(true)
|
|
302
|
+
expects(:info_all).with("thevserverid").returns("theresult")
|
|
303
|
+
end)
|
|
224
304
|
|
|
225
305
|
$stdout.expects(:puts).with("theresult")
|
|
226
306
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "info-all", "thevserverid"]))
|
|
@@ -228,7 +308,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
228
308
|
|
|
229
309
|
def test_should_delegate_server_mountiso_to_server
|
|
230
310
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
231
|
-
Solusvm::Server.stubs(:new => mock
|
|
311
|
+
Solusvm::Server.stubs(:new => mock do
|
|
312
|
+
expects(:successful?).returns(true)
|
|
313
|
+
expects(:mountiso).with("thevserverid", "theiso").returns("theresult")
|
|
314
|
+
end)
|
|
232
315
|
|
|
233
316
|
$stdout.expects(:puts).with("theresult")
|
|
234
317
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "mountiso", "thevserverid", "theiso"]))
|
|
@@ -236,7 +319,10 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
236
319
|
|
|
237
320
|
def test_should_delegate_server_unmountiso_to_server
|
|
238
321
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
239
|
-
Solusvm::Server.stubs(:new => mock
|
|
322
|
+
Solusvm::Server.stubs(:new => mock do
|
|
323
|
+
expects(:successful?).returns(true)
|
|
324
|
+
expects(:unmountiso).with("thevserverid").returns("theresult")
|
|
325
|
+
end)
|
|
240
326
|
|
|
241
327
|
$stdout.expects(:puts).with("theresult")
|
|
242
328
|
Solusvm::Cli.start(cli_expand_base_arguments(["server", "unmountiso", "thevserverid"]))
|
|
@@ -244,17 +330,20 @@ class TestServerCli < Test::Unit::TestCase
|
|
|
244
330
|
|
|
245
331
|
def test_should_delegate_server_create_to_server
|
|
246
332
|
Solusvm.expects(:config).with("thelogin", "thekey", { :url => "theurl" })
|
|
247
|
-
Solusvm::Server.stubs(:new => mock
|
|
248
|
-
|
|
249
|
-
:
|
|
250
|
-
|
|
251
|
-
|
|
333
|
+
Solusvm::Server.stubs(:new => mock do
|
|
334
|
+
expects(:successful?).returns(true)
|
|
335
|
+
expects(:create).with(
|
|
336
|
+
"thehostname", "thepassword",
|
|
337
|
+
:plan => "theplan", :ips => "theips", :type => "thekind",
|
|
338
|
+
:username => "theusername", :template => "thetemplate", :node => "thenode"
|
|
339
|
+
).returns("theresult")
|
|
340
|
+
end)
|
|
252
341
|
|
|
253
342
|
$stdout.expects(:puts).with("theresult")
|
|
254
343
|
Solusvm::Cli.start(cli_expand_base_arguments([
|
|
255
|
-
"server", "create",
|
|
256
|
-
"thehostname",
|
|
257
|
-
"thepassword",
|
|
344
|
+
"server", "create",
|
|
345
|
+
"thehostname",
|
|
346
|
+
"thepassword",
|
|
258
347
|
"--plan", "theplan",
|
|
259
348
|
"--ips", "theips",
|
|
260
349
|
"--kind", "thekind",
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class TestBase < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
setup_solusvm
|
|
7
|
+
@base = Solusvm::Base.new
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_valid_server_types
|
|
11
|
+
assert_equal 3, Solusvm::Base::VALID_SERVER_TYPES.size
|
|
12
|
+
assert_equal ['openvz', 'xen', 'xen hvm'].sort, Solusvm::Base::VALID_SERVER_TYPES.sort
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_parse_response
|
|
16
|
+
assert_nil @base.returned_parameters
|
|
17
|
+
VCR.use_cassette "base/parse_response" do
|
|
18
|
+
@base.perform_request(:action => 'test', :vserverid => 1)
|
|
19
|
+
end
|
|
20
|
+
params = @base.returned_parameters
|
|
21
|
+
|
|
22
|
+
assert_equal 10, params.size
|
|
23
|
+
assert_equal '123.123.123.123', params['mainipaddress']
|
|
24
|
+
assert_equal 'console-123', params['consoleuser']
|
|
25
|
+
assert_equal '100', params['vserverid']
|
|
26
|
+
assert_equal 'Virtual server created', params['statusmsg']
|
|
27
|
+
assert_equal 'vm101|101', params['virtid']
|
|
28
|
+
assert_equal '123456', params['consolepassword']
|
|
29
|
+
assert_equal '122.122.122.122,111.111.111.111', params['extraipaddress']
|
|
30
|
+
assert_equal 'server.hostname.com', params['hostname']
|
|
31
|
+
assert_equal '123456', params['rootpassword']
|
|
32
|
+
assert_equal 'success', params['status']
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def test_successful
|
|
36
|
+
VCR.use_cassette "base/successful" do
|
|
37
|
+
@base.perform_request(:action => 'testsuccess', :vserverid => 1)
|
|
38
|
+
assert @base.successful?
|
|
39
|
+
|
|
40
|
+
@base.perform_request(:action => 'testfail', :vserverid => 1)
|
|
41
|
+
assert_equal "error message", @base.statusmsg
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_api_login
|
|
46
|
+
assert_equal api_login, @base.api_login
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def test_statusmsg
|
|
50
|
+
VCR.use_cassette "base/statusmsg" do
|
|
51
|
+
@base.perform_request(:action => 'testsuccess', :vserverid => 1)
|
|
52
|
+
end
|
|
53
|
+
assert_equal 'Virtual server created', @base.statusmsg
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def test_validate_server_type
|
|
57
|
+
Solusvm::Base::VALID_SERVER_TYPES.each do |type|
|
|
58
|
+
assert_nothing_raised do
|
|
59
|
+
@base.validate_server_type!(type)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
begin
|
|
64
|
+
@base.validate_server_type!('bob')
|
|
65
|
+
flunk "Shouldn't get here"
|
|
66
|
+
rescue Solusvm::SolusvmError => e
|
|
67
|
+
assert_equal 'Invalid Virtual Server type: bob', e.message
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def test_unautorized_ip
|
|
72
|
+
VCR.use_cassette "base/unauthorized_ip" do
|
|
73
|
+
assert_raise RuntimeError do
|
|
74
|
+
@base.perform_request(:action => 'unauthorized')
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def test_invalid_key_or_id
|
|
80
|
+
VCR.use_cassette "base/invalid_key" do
|
|
81
|
+
assert_raise RuntimeError do
|
|
82
|
+
@base.perform_request(:action => 'badkey')
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def test_node_does_not_exist
|
|
88
|
+
VCR.use_cassette "base/nonexistent_node" do
|
|
89
|
+
assert_raise RuntimeError do
|
|
90
|
+
@base.perform_request(:action => 'nodeexist')
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def test_invalid_http_status
|
|
96
|
+
VCR.use_cassette "base/invalid_status" do
|
|
97
|
+
assert_raise Solusvm::SolusvmError do
|
|
98
|
+
@base.perform_request(:action => 'httperror')
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
end
|
|
103
|
+
end
|