fog-oneandone 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +36 -0
  3. data/CONTRIBUTING.md +276 -0
  4. data/CONTRIBUTORS.md +1 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.md +20 -0
  7. data/README.md +317 -0
  8. data/bin/fog +78 -0
  9. data/examples/example_app.rb +80 -0
  10. data/fog-oneandone.gemspec +22 -0
  11. data/gemfiles/Gemfile-edge +7 -0
  12. data/lib/fog-oneandone.rb +10 -0
  13. data/lib/oneandone/compute.rb +713 -0
  14. data/lib/oneandone/core.rb +11 -0
  15. data/lib/oneandone/models/compute/firewall.rb +128 -0
  16. data/lib/oneandone/models/compute/firewalls.rb +24 -0
  17. data/lib/oneandone/models/compute/image.rb +72 -0
  18. data/lib/oneandone/models/compute/images.rb +24 -0
  19. data/lib/oneandone/models/compute/load_balancer.rb +149 -0
  20. data/lib/oneandone/models/compute/load_balancers.rb +24 -0
  21. data/lib/oneandone/models/compute/monitoring_policies.rb +24 -0
  22. data/lib/oneandone/models/compute/monitoring_policy.rb +196 -0
  23. data/lib/oneandone/models/compute/private_network.rb +105 -0
  24. data/lib/oneandone/models/compute/private_networks.rb +24 -0
  25. data/lib/oneandone/models/compute/public_ip.rb +68 -0
  26. data/lib/oneandone/models/compute/public_ips.rb +24 -0
  27. data/lib/oneandone/models/compute/server.rb +434 -0
  28. data/lib/oneandone/models/compute/servers.rb +24 -0
  29. data/lib/oneandone/models/compute/shared_storage.rb +101 -0
  30. data/lib/oneandone/models/compute/shared_storages.rb +24 -0
  31. data/lib/oneandone/models/compute/vpn.rb +70 -0
  32. data/lib/oneandone/models/compute/vpns.rb +24 -0
  33. data/lib/oneandone/requests/compute/access.rb +35 -0
  34. data/lib/oneandone/requests/compute/add_firewall.rb +70 -0
  35. data/lib/oneandone/requests/compute/add_firewall_ips.rb +67 -0
  36. data/lib/oneandone/requests/compute/add_firewall_rules.rb +68 -0
  37. data/lib/oneandone/requests/compute/add_hdds.rb +65 -0
  38. data/lib/oneandone/requests/compute/add_load_balancer.rb +76 -0
  39. data/lib/oneandone/requests/compute/add_load_balancer_ips.rb +67 -0
  40. data/lib/oneandone/requests/compute/add_load_balancer_rules.rb +68 -0
  41. data/lib/oneandone/requests/compute/add_mp_servers.rb +64 -0
  42. data/lib/oneandone/requests/compute/add_ports.rb +65 -0
  43. data/lib/oneandone/requests/compute/add_private_network.rb +65 -0
  44. data/lib/oneandone/requests/compute/add_private_network_servers.rb +67 -0
  45. data/lib/oneandone/requests/compute/add_processes.rb +65 -0
  46. data/lib/oneandone/requests/compute/add_server_ip.rb +72 -0
  47. data/lib/oneandone/requests/compute/add_shared_storage_servers.rb +64 -0
  48. data/lib/oneandone/requests/compute/change_password.rb +45 -0
  49. data/lib/oneandone/requests/compute/change_status.rb +69 -0
  50. data/lib/oneandone/requests/compute/clone_server.rb +67 -0
  51. data/lib/oneandone/requests/compute/create_firewall.rb +78 -0
  52. data/lib/oneandone/requests/compute/create_image.rb +101 -0
  53. data/lib/oneandone/requests/compute/create_load_balancer.rb +104 -0
  54. data/lib/oneandone/requests/compute/create_monitoring_policy.rb +93 -0
  55. data/lib/oneandone/requests/compute/create_private_network.rb +82 -0
  56. data/lib/oneandone/requests/compute/create_public_ip.rb +77 -0
  57. data/lib/oneandone/requests/compute/create_server.rb +139 -0
  58. data/lib/oneandone/requests/compute/create_shared_storage.rb +83 -0
  59. data/lib/oneandone/requests/compute/create_snapshot.rb +51 -0
  60. data/lib/oneandone/requests/compute/create_vpn.rb +80 -0
  61. data/lib/oneandone/requests/compute/delete_firewall.rb +51 -0
  62. data/lib/oneandone/requests/compute/delete_firewall_rule.rb +60 -0
  63. data/lib/oneandone/requests/compute/delete_hdd.rb +61 -0
  64. data/lib/oneandone/requests/compute/delete_image.rb +51 -0
  65. data/lib/oneandone/requests/compute/delete_load_balancer.rb +51 -0
  66. data/lib/oneandone/requests/compute/delete_load_balancer_rule.rb +60 -0
  67. data/lib/oneandone/requests/compute/delete_monitoring_policy.rb +51 -0
  68. data/lib/oneandone/requests/compute/delete_port.rb +60 -0
  69. data/lib/oneandone/requests/compute/delete_private_network.rb +51 -0
  70. data/lib/oneandone/requests/compute/delete_process.rb +60 -0
  71. data/lib/oneandone/requests/compute/delete_public_ip.rb +51 -0
  72. data/lib/oneandone/requests/compute/delete_server.rb +51 -0
  73. data/lib/oneandone/requests/compute/delete_server_ip.rb +60 -0
  74. data/lib/oneandone/requests/compute/delete_shared_storage.rb +51 -0
  75. data/lib/oneandone/requests/compute/delete_snapshot.rb +51 -0
  76. data/lib/oneandone/requests/compute/delete_vpn.rb +51 -0
  77. data/lib/oneandone/requests/compute/eject_dvd.rb +51 -0
  78. data/lib/oneandone/requests/compute/get_datacenter.rb +50 -0
  79. data/lib/oneandone/requests/compute/get_dvd.rb +50 -0
  80. data/lib/oneandone/requests/compute/get_dvd_iso.rb +50 -0
  81. data/lib/oneandone/requests/compute/get_firewall.rb +50 -0
  82. data/lib/oneandone/requests/compute/get_firewall_ip.rb +59 -0
  83. data/lib/oneandone/requests/compute/get_firewall_rule.rb +59 -0
  84. data/lib/oneandone/requests/compute/get_fixed_server.rb +50 -0
  85. data/lib/oneandone/requests/compute/get_hardware.rb +50 -0
  86. data/lib/oneandone/requests/compute/get_hdd.rb +60 -0
  87. data/lib/oneandone/requests/compute/get_hdds.rb +50 -0
  88. data/lib/oneandone/requests/compute/get_image.rb +50 -0
  89. data/lib/oneandone/requests/compute/get_load_balancer.rb +50 -0
  90. data/lib/oneandone/requests/compute/get_load_balancer_ip.rb +59 -0
  91. data/lib/oneandone/requests/compute/get_load_balancer_rule.rb +59 -0
  92. data/lib/oneandone/requests/compute/get_log.rb +51 -0
  93. data/lib/oneandone/requests/compute/get_monitored_server.rb +49 -0
  94. data/lib/oneandone/requests/compute/get_monitoring_policy.rb +50 -0
  95. data/lib/oneandone/requests/compute/get_mp_server.rb +59 -0
  96. data/lib/oneandone/requests/compute/get_port.rb +59 -0
  97. data/lib/oneandone/requests/compute/get_private_network.rb +50 -0
  98. data/lib/oneandone/requests/compute/get_private_network_server.rb +59 -0
  99. data/lib/oneandone/requests/compute/get_process.rb +59 -0
  100. data/lib/oneandone/requests/compute/get_public_ip.rb +50 -0
  101. data/lib/oneandone/requests/compute/get_server.rb +50 -0
  102. data/lib/oneandone/requests/compute/get_server_appliance.rb +50 -0
  103. data/lib/oneandone/requests/compute/get_server_image.rb +50 -0
  104. data/lib/oneandone/requests/compute/get_server_ip.rb +59 -0
  105. data/lib/oneandone/requests/compute/get_server_private_network.rb +59 -0
  106. data/lib/oneandone/requests/compute/get_shared_storage.rb +50 -0
  107. data/lib/oneandone/requests/compute/get_shared_storage_server.rb +59 -0
  108. data/lib/oneandone/requests/compute/get_snapshot.rb +50 -0
  109. data/lib/oneandone/requests/compute/get_vpn.rb +50 -0
  110. data/lib/oneandone/requests/compute/install_server_image.rb +72 -0
  111. data/lib/oneandone/requests/compute/list_datacenters.rb +56 -0
  112. data/lib/oneandone/requests/compute/list_dvds.rb +56 -0
  113. data/lib/oneandone/requests/compute/list_firewall_ips.rb +50 -0
  114. data/lib/oneandone/requests/compute/list_firewall_rules.rb +50 -0
  115. data/lib/oneandone/requests/compute/list_firewalls.rb +56 -0
  116. data/lib/oneandone/requests/compute/list_fixed_servers.rb +40 -0
  117. data/lib/oneandone/requests/compute/list_images.rb +56 -0
  118. data/lib/oneandone/requests/compute/list_ip_firewalls.rb +59 -0
  119. data/lib/oneandone/requests/compute/list_ip_load_balancers.rb +59 -0
  120. data/lib/oneandone/requests/compute/list_load_balancer_ips.rb +50 -0
  121. data/lib/oneandone/requests/compute/list_load_balancer_rules.rb +50 -0
  122. data/lib/oneandone/requests/compute/list_load_balancers.rb +56 -0
  123. data/lib/oneandone/requests/compute/list_logs.rb +59 -0
  124. data/lib/oneandone/requests/compute/list_monitored_servers.rb +51 -0
  125. data/lib/oneandone/requests/compute/list_monitoring_policies.rb +56 -0
  126. data/lib/oneandone/requests/compute/list_mp_servers.rb +50 -0
  127. data/lib/oneandone/requests/compute/list_ports.rb +51 -0
  128. data/lib/oneandone/requests/compute/list_private_network_servers.rb +50 -0
  129. data/lib/oneandone/requests/compute/list_private_networks.rb +56 -0
  130. data/lib/oneandone/requests/compute/list_processes.rb +51 -0
  131. data/lib/oneandone/requests/compute/list_public_ips.rb +56 -0
  132. data/lib/oneandone/requests/compute/list_server_appliances.rb +56 -0
  133. data/lib/oneandone/requests/compute/list_server_ips.rb +50 -0
  134. data/lib/oneandone/requests/compute/list_server_private_networks.rb +50 -0
  135. data/lib/oneandone/requests/compute/list_servers.rb +56 -0
  136. data/lib/oneandone/requests/compute/list_shared_storage_servers.rb +50 -0
  137. data/lib/oneandone/requests/compute/list_shared_storages.rb +56 -0
  138. data/lib/oneandone/requests/compute/list_usages.rb +54 -0
  139. data/lib/oneandone/requests/compute/list_vpns.rb +56 -0
  140. data/lib/oneandone/requests/compute/load_dvd.rb +65 -0
  141. data/lib/oneandone/requests/compute/ping.rb +38 -0
  142. data/lib/oneandone/requests/compute/ping_auth.rb +38 -0
  143. data/lib/oneandone/requests/compute/remove_firewall.rb +60 -0
  144. data/lib/oneandone/requests/compute/remove_firewall_ip.rb +60 -0
  145. data/lib/oneandone/requests/compute/remove_load_balancer.rb +71 -0
  146. data/lib/oneandone/requests/compute/remove_load_balancer_ip.rb +60 -0
  147. data/lib/oneandone/requests/compute/remove_mp_server.rb +60 -0
  148. data/lib/oneandone/requests/compute/remove_private_network.rb +60 -0
  149. data/lib/oneandone/requests/compute/remove_private_network_server.rb +60 -0
  150. data/lib/oneandone/requests/compute/remove_shared_storage_server.rb +60 -0
  151. data/lib/oneandone/requests/compute/restore_snapshot.rb +35 -0
  152. data/lib/oneandone/requests/compute/status.rb +50 -0
  153. data/lib/oneandone/requests/compute/update_firewall.rb +76 -0
  154. data/lib/oneandone/requests/compute/update_hardware.rb +82 -0
  155. data/lib/oneandone/requests/compute/update_hdd.rb +71 -0
  156. data/lib/oneandone/requests/compute/update_image.rb +80 -0
  157. data/lib/oneandone/requests/compute/update_load_balancer.rb +96 -0
  158. data/lib/oneandone/requests/compute/update_monitoring_policy.rb +82 -0
  159. data/lib/oneandone/requests/compute/update_port.rb +74 -0
  160. data/lib/oneandone/requests/compute/update_private_network.rb +82 -0
  161. data/lib/oneandone/requests/compute/update_process.rb +76 -0
  162. data/lib/oneandone/requests/compute/update_public_ip.rb +71 -0
  163. data/lib/oneandone/requests/compute/update_server.rb +76 -0
  164. data/lib/oneandone/requests/compute/update_shared_storage.rb +80 -0
  165. data/lib/oneandone/requests/compute/update_vpn.rb +76 -0
  166. data/tests/oneandone/test_firewalls.rb +188 -0
  167. data/tests/oneandone/test_images.rb +79 -0
  168. data/tests/oneandone/test_load_balancers.rb +192 -0
  169. data/tests/oneandone/test_monitoring_policies.rb +342 -0
  170. data/tests/oneandone/test_private_networks.rb +123 -0
  171. data/tests/oneandone/test_public_ips.rb +75 -0
  172. data/tests/oneandone/test_servers.rb +465 -0
  173. data/tests/oneandone/test_shared_storages.rb +131 -0
  174. metadata +259 -0
@@ -0,0 +1,75 @@
1
+ require_relative '../../lib/fog-oneandone'
2
+ require 'minitest/autorun'
3
+
4
+ Fog.mock!
5
+
6
+ class TestPublicIP < Minitest::Test
7
+
8
+ def self.test_order
9
+ :alpha
10
+ end
11
+
12
+ def setup
13
+
14
+ # Establish Connection
15
+ @compute = Fog::Compute::OneAndOne.new({
16
+ :oneandone_api_key => 'APIKEY'
17
+ })
18
+
19
+ end
20
+
21
+
22
+ def test_a_create_public_ip
23
+
24
+ # Perform Request
25
+ response = @compute.create_public_ip
26
+
27
+ @@ip_id = response.body['id']
28
+
29
+ # Assertions
30
+ assert_equal response.body['state'], 'ACTIVE'
31
+
32
+ end
33
+
34
+ def test_b_list_public_ips
35
+
36
+ # Perform Request
37
+ response = @compute.list_public_ips
38
+
39
+ # Assertions
40
+ assert_equal response.body.length, 1
41
+
42
+ end
43
+
44
+ def test_c_update_public_ip
45
+
46
+ # Perform Request
47
+ response = @compute.update_public_ip(ip_id: @@ip_id,
48
+ reverse_dns: 'example.com')
49
+
50
+ # Assertions
51
+ assert_equal response.body['reverse_dns'], 'example.com'
52
+
53
+ end
54
+
55
+ def test_d_get_public_ip
56
+
57
+ # Perform Request
58
+ response = @compute.get_public_ip(@@ip_id)
59
+
60
+ # Assertions
61
+ assert_equal response.body['id'], @@ip_id
62
+
63
+ end
64
+
65
+ def test_e_delete_public_ip
66
+
67
+ # Perform Request
68
+ response = @compute.delete_public_ip(@@ip_id)
69
+
70
+ # Assertions
71
+ assert_equal response.body, 'The requested public IP has been deleted.'
72
+
73
+ end
74
+
75
+ end
@@ -0,0 +1,465 @@
1
+ require_relative '../../lib/fog-oneandone'
2
+ require 'minitest/autorun'
3
+
4
+ Fog.mock!
5
+
6
+ class TestServer < Minitest::Test
7
+
8
+ def self.test_order
9
+ :alpha
10
+ end
11
+
12
+ def setup
13
+
14
+ # Establish Connection
15
+ @compute = Fog::Compute::OneAndOne.new({
16
+ :oneandone_api_key => 'APIKEY'
17
+ })
18
+
19
+ end
20
+
21
+
22
+ def test_a_create_server
23
+
24
+ # Perform Request
25
+ hdd1 = {
26
+ 'size' => 120,
27
+ 'is_main' => true
28
+ }
29
+
30
+ hdds = [hdd1]
31
+
32
+ response = @compute.create_server(name: 'Test Server', vcore: 1,
33
+ cores_per_processor: 1, ram: 1, appliance_id: '<IMAGE-ID>', hdds: hdds)
34
+
35
+ @@server_id = response.body['id']
36
+ @@ip1_id = response.body['ips'][0]['id']
37
+
38
+ # Assertions
39
+ assert_equal response.body['name'], 'Test Server'
40
+ assert_equal response.body['hardware']['vcore'], 1
41
+ assert_equal response.body['hardware']['cores_per_processor'], 1
42
+ assert_equal response.body['hardware']['ram'], 1
43
+ assert_equal response.body['image']['id'], '<IMAGE-ID>'
44
+
45
+ end
46
+
47
+ def test_b_list_servers
48
+
49
+ # Perform Request
50
+ response = @compute.list_servers
51
+
52
+ # Assertions
53
+ assert_equal response.body.length, 1
54
+
55
+ end
56
+
57
+ def test_c_update_server
58
+
59
+ # Perform Request
60
+ response = @compute.update_server(server_id: @@server_id,
61
+ name: 'New Name')
62
+
63
+ # Assertions
64
+ assert_equal response.body['name'], 'New Name'
65
+
66
+ end
67
+
68
+ def test_d_get_server
69
+
70
+ # Perform Request
71
+ response = @compute.get_server(@@server_id)
72
+
73
+ # Assertions
74
+ assert_equal response.body['id'], @@server_id
75
+
76
+ end
77
+
78
+ def test_e_list_fixed_servers
79
+
80
+ # Perform Request
81
+ response = @compute.list_fixed_servers
82
+
83
+ @@fixed_server_id = response.body[0]['id']
84
+
85
+ # Assertions
86
+ assert_equal response.body.length, 4
87
+
88
+ end
89
+
90
+ def test_f_get_fixed_server
91
+
92
+ # Perform Request
93
+ response = @compute.get_fixed_server(@@fixed_server_id)
94
+
95
+ # Assertions
96
+ assert_equal response.body['id'], @@fixed_server_id
97
+
98
+ end
99
+
100
+ def test_g_get_hardware
101
+
102
+ # Perform Request
103
+ response = @compute.get_hardware(@@server_id)
104
+
105
+ # Assertions
106
+ assert_equal response.body['vcore'], 1
107
+ assert_equal response.body['cores_per_processor'], 1
108
+ assert_equal response.body['ram'], 1
109
+
110
+ end
111
+
112
+ def test_h_update_hardware
113
+
114
+ # Perform Request
115
+ response = @compute.update_hardware(server_id: @@server_id, vcore: 2, ram: 4)
116
+
117
+ # Assertions
118
+ assert_equal response.body['hardware']['vcore'], 2
119
+ assert_equal response.body['hardware']['ram'], 4
120
+
121
+ end
122
+
123
+ def test_i_get_hdds
124
+
125
+ # Perform Request
126
+ response = @compute.get_hdds(@@server_id)
127
+
128
+ # Assertions
129
+ assert_equal response.body.length, 1
130
+
131
+ end
132
+
133
+ def test_j_add_hdds
134
+
135
+ # Perform Request
136
+ hdd2 = {
137
+ 'size' => 100,
138
+ 'is_main' => false
139
+ }
140
+
141
+ hdds = [hdd2]
142
+
143
+ response = @compute.add_hdds(server_id: @@server_id, hdds: hdds)
144
+
145
+ @@hdd2_id = response.body['hardware']['hdds'][1]['id']
146
+
147
+ # Assertions
148
+ assert_equal response.body['hardware']['hdds'][1]['size'], 100
149
+ assert_equal response.body['hardware']['hdds'][1]['is_main'], false
150
+ assert_equal response.body['hardware']['hdds'].length, 2
151
+
152
+ end
153
+
154
+ def test_k_get_hdd
155
+
156
+ # Perform Request
157
+ response = @compute.get_hdd(server_id: @@server_id, hdd_id: @@hdd2_id)
158
+
159
+ # Assertions
160
+ assert_equal response.body['id'], @@hdd2_id
161
+ assert_equal response.body['size'], 100
162
+ assert_equal response.body['is_main'], false
163
+
164
+ end
165
+
166
+ def test_l_update_hdd
167
+
168
+ # Perform Request
169
+ response = @compute.update_hdd(server_id: @@server_id, hdd_id: @@hdd2_id,
170
+ size: 200)
171
+
172
+ # Assertions
173
+ assert_equal response.body['hardware']['hdds'][1]['size'], 200
174
+
175
+ end
176
+
177
+ def test_m_delete_hdd
178
+
179
+ # Perform Request
180
+ response = @compute.delete_hdd(server_id: @@server_id, hdd_id: @@hdd2_id)
181
+
182
+ # Assertions
183
+ assert_equal response.body['hardware']['hdds'].length, 1
184
+
185
+ end
186
+
187
+ def test_n_get_server_image
188
+
189
+ # Perform Request
190
+ response = @compute.get_server_image(@@server_id)
191
+
192
+ # Assertions
193
+ assert_equal response.body['id'], '<IMAGE-ID>'
194
+
195
+ end
196
+
197
+ def test_o_install_server_image
198
+
199
+ # Perform Request
200
+ response = @compute.install_server_image(server_id: @@server_id,
201
+ image_id: 'NEW-ID')
202
+
203
+ # Assertions
204
+ assert_equal response.body['image']['id'], 'NEW-ID'
205
+
206
+ end
207
+
208
+ def test_p_add_server_ip
209
+
210
+ # Perform Request
211
+ response = @compute.add_server_ip(server_id: @@server_id)
212
+
213
+ @@ip2_id = response.body['ips'][1]['id']
214
+
215
+ # Assertions
216
+ assert_equal response.body['ips'].length, 2
217
+
218
+ end
219
+
220
+ def test_q_list_server_ips
221
+
222
+ # Perform Request
223
+ response = @compute.list_server_ips(@@server_id)
224
+
225
+ # Assertions
226
+ assert_equal response.body.length, 2
227
+
228
+ end
229
+
230
+ def test_r_get_server_ip
231
+
232
+ # Perform Request
233
+ response = @compute.get_server_ip(server_id: @@server_id,
234
+ ip_id: @@ip2_id)
235
+
236
+ # Assertions
237
+ assert_equal response.body['id'], @@ip2_id
238
+
239
+ end
240
+
241
+ def test_s_delete_server_ip
242
+
243
+ # Perform Request
244
+ response = @compute.delete_server_ip(server_id: @@server_id,
245
+ ip_id: @@ip2_id)
246
+
247
+ # Assertions
248
+ assert_equal response.body['ips'].length, 1
249
+
250
+ end
251
+
252
+ def test_t_list_ip_firewalls
253
+
254
+ # Perform Request
255
+ response = @compute.list_ip_firewalls(server_id: @@server_id,
256
+ ip_id: @@ip1_id)
257
+
258
+ # Assertions
259
+ assert_equal response.body, {}
260
+
261
+ end
262
+
263
+ def test_u_add_firewall
264
+
265
+ # Perform Request
266
+ response = @compute.add_firewall(server_id: @@server_id,
267
+ ip_id: @@ip1_id, firewall_id:'FIREWALL1')
268
+
269
+ # Assertions
270
+ assert_equal response.body['ips'][0]['firewall_policy']['id'], 'FIREWALL1'
271
+
272
+ end
273
+
274
+ def test_v_remove_firewall
275
+
276
+ # Perform Request
277
+ response = @compute.remove_firewall(server_id: @@server_id, ip_id: @@ip1_id)
278
+
279
+ # Assertions
280
+ assert_equal response.body['ips'][0]['firewall_policy'], {}
281
+
282
+ end
283
+
284
+ def test_w_list_ip_load_balancers
285
+
286
+ # Perform Request
287
+ response = @compute.list_ip_load_balancers(server_id: @@server_id,
288
+ ip_id: @@ip1_id)
289
+
290
+ # Assertions
291
+ assert_equal response.body, []
292
+
293
+ end
294
+
295
+ def test_x_add_load_balancer
296
+
297
+ # Perform Request
298
+ response = @compute.add_load_balancer(server_id: @@server_id,
299
+ ip_id: @@ip1_id, load_balancer_id: 'LB1')
300
+
301
+ # Assertions
302
+ assert_equal response.body['ips'][0]['load_balancers'][0]['id'], 'LB1'
303
+
304
+ end
305
+
306
+ def test_y_remove_load_balancer
307
+
308
+ # Perform Request
309
+ response = @compute.remove_load_balancer(server_id: @@server_id,
310
+ ip_id: @@ip1_id, load_balancer_id: 'LB1')
311
+
312
+ # Assertions
313
+ assert_equal response.body['ips'][0]['load_balancers'].length, 0
314
+
315
+ end
316
+
317
+ def test_z_status
318
+
319
+ # Perform Request
320
+ response = @compute.status(@@server_id)
321
+
322
+ # Assertions
323
+ assert_equal response.body['state'], 'POWERED_ON'
324
+
325
+ end
326
+
327
+ def test_za_change_status
328
+
329
+ # Perform Request
330
+ response = @compute.change_status(server_id: @@server_id,
331
+ action: 'POWER_OFF', method: 'SOFTWARE')
332
+
333
+ # Assertions
334
+ assert_equal response.body['status']['state'], 'POWERED_OFF'
335
+
336
+ end
337
+
338
+ def test_zb_load_dvd
339
+
340
+ # Perform Request
341
+ response = @compute.load_dvd(server_id: @@server_id, dvd_id: 'DVD1')
342
+
343
+ # Assertions
344
+ assert_equal response.body['dvd']['id'], 'DVD1'
345
+
346
+ end
347
+
348
+ def test_zc_get_dvd
349
+
350
+ # Perform Request
351
+ response = @compute.get_dvd(@@server_id)
352
+
353
+ # Assertions
354
+ assert_equal response.body['id'], 'DVD1'
355
+
356
+ end
357
+
358
+ def test_zd_eject_dvd
359
+
360
+ # Perform Request
361
+ response = @compute.eject_dvd(@@server_id)
362
+
363
+ # Assertions
364
+ assert_equal response.body['dvd'], {}
365
+
366
+ end
367
+
368
+ def test_ze_add_private_network
369
+
370
+ # Perform Request
371
+ response = @compute.add_private_network(server_id: @@server_id,
372
+ private_network_id: 'PN1')
373
+
374
+ # Assertions
375
+ assert_equal response.body['private_networks'].length, 1
376
+
377
+ end
378
+
379
+ def test_zf_list_server_private_networks
380
+
381
+ # Perform Request
382
+ response = @compute.list_server_private_networks(@@server_id)
383
+
384
+ # Assertions
385
+ assert_equal response.body.length, 1
386
+
387
+ end
388
+
389
+ def test_zg_get_server_private_network
390
+
391
+ # Perform Request
392
+ response = @compute.get_server_private_network(server_id: @@server_id,
393
+ private_network_id: 'PN1')
394
+
395
+ # Assertions
396
+ assert_equal response.body['id'], 'PN1'
397
+
398
+ end
399
+
400
+ def test_zh_remove_private_network
401
+
402
+ # Perform Request
403
+ response = @compute.remove_private_network(server_id: @@server_id,
404
+ private_network_id: 'PN1')
405
+
406
+ # Assertions
407
+ assert_equal response.body['private_networks'].length, 0
408
+
409
+ end
410
+
411
+ def test_zi_create_snapshot
412
+
413
+ # Perform Request
414
+ response = @compute.create_snapshot(@@server_id)
415
+
416
+ @@snapshot_id = response.body['snapshot']['id']
417
+
418
+ # Assertions
419
+ assert_equal response.body['snapshot']['id'], @@snapshot_id
420
+
421
+ end
422
+
423
+ def test_zj_get_snapshot
424
+
425
+ # Perform Request
426
+ response = @compute.get_snapshot(@@server_id)
427
+
428
+ # Assertions
429
+ assert_equal response.body['id'], @@snapshot_id
430
+
431
+ end
432
+
433
+ def test_zk_delete_snapshot
434
+
435
+ # Perform Request
436
+ response = @compute.delete_snapshot(server_id: @@server_id,
437
+ snapshot_id: @@snapshot_id)
438
+
439
+ # Assertions
440
+ assert_equal response.body['snapshot'], {}
441
+
442
+ end
443
+
444
+ def test_zl_clone_server
445
+
446
+ # Perform Request
447
+ response = @compute.clone_server(server_id: @@server_id,
448
+ name: 'Mini Me')
449
+
450
+ # Assertions
451
+ assert_equal response.body['name'], 'Mini Me'
452
+
453
+ end
454
+
455
+ def test_zm_delete_server
456
+
457
+ # Perform Request
458
+ response = @compute.delete_server(@@server_id)
459
+
460
+ # Assertions
461
+ assert_equal response.body, 'The requested server has been deleted.'
462
+
463
+ end
464
+
465
+ end
@@ -0,0 +1,131 @@
1
+ require_relative '../../lib/fog-oneandone'
2
+ require 'minitest/autorun'
3
+
4
+ Fog.mock!
5
+
6
+ class TestSharedStorage < Minitest::Test
7
+
8
+ def self.test_order
9
+ :alpha
10
+ end
11
+
12
+ def setup
13
+
14
+ # Establish Connection
15
+ @compute = Fog::Compute::OneAndOne.new({
16
+ :oneandone_api_key => 'APIKEY'
17
+ })
18
+
19
+ end
20
+
21
+
22
+ def test_a_create_shared_storage
23
+
24
+ # Perform Request
25
+ response = @compute.create_shared_storage(name: 'Test SS',
26
+ description: 'Example Desc', size: 200)
27
+
28
+ @@shared_storage_id = response.body['id']
29
+
30
+ # Assertions
31
+ assert_equal response.body['name'], 'Test SS'
32
+ assert_equal response.body['description'], 'Example Desc'
33
+ assert_equal response.body['size'], 200
34
+
35
+ end
36
+
37
+ def test_b_list_shared_storages
38
+
39
+ # Perform Request
40
+ response = @compute.list_shared_storages
41
+
42
+ # Assertions
43
+ assert_equal response.body.length, 1
44
+
45
+ end
46
+
47
+ def test_c_update_shared_storage
48
+
49
+ # Perform Request
50
+ response = @compute.update_shared_storage(shared_storage_id: @@shared_storage_id,
51
+ name: 'New Name', description: 'New Desc')
52
+
53
+ # Assertions
54
+ assert_equal response.body['name'], 'New Name'
55
+ assert_equal response.body['description'], 'New Desc'
56
+
57
+ end
58
+
59
+ def test_d_get_shared_storage
60
+
61
+ # Perform Request
62
+ response = @compute.get_shared_storage(@@shared_storage_id)
63
+
64
+ # Assertions
65
+ assert_equal response.body['id'], @@shared_storage_id
66
+
67
+ end
68
+
69
+ def test_e_add_shared_storage_servers
70
+
71
+ # Perform Request
72
+ server1 = {
73
+ 'id' => '<SERVER-ID>',
74
+ 'rights' => 'RW'
75
+ }
76
+
77
+ servers = [server1]
78
+
79
+ response = @compute.add_shared_storage_servers(shared_storage_id: @@shared_storage_id,
80
+ servers: servers)
81
+
82
+ @@server1 = response.body['servers'][0]['id']
83
+
84
+ # Assertions
85
+ assert_equal response.body['servers'].length, 1
86
+
87
+ end
88
+
89
+ def test_f_list_shared_storage_servers
90
+
91
+ # Perform Request
92
+ response = @compute.list_shared_storage_servers(@@shared_storage_id)
93
+
94
+ # Assertions
95
+ assert_equal response.body.length, 1
96
+
97
+ end
98
+
99
+ def test_g_get_shared_storage_server
100
+
101
+ # Perform Request
102
+ response = @compute.get_shared_storage_server(shared_storage_id: @@shared_storage_id,
103
+ server_id: @@server1)
104
+
105
+ # Assertions
106
+ assert_equal response.body['id'], @@server1
107
+
108
+ end
109
+
110
+ def test_h_remove_shared_storage_server
111
+
112
+ # Perform Request
113
+ response = @compute.remove_shared_storage_server(shared_storage_id: @@shared_storage_id,
114
+ server_id: @@server1)
115
+
116
+ # Assertions
117
+ assert_equal response.body['servers'].length, 0
118
+
119
+ end
120
+
121
+ def test_i_delete_shared_storage
122
+
123
+ # Perform Request
124
+ response = @compute.delete_shared_storage(@@shared_storage_id)
125
+
126
+ # Assertions
127
+ assert_equal response.body, 'The requested shared storage has been deleted.'
128
+
129
+ end
130
+
131
+ end