fog-oneandone 1.0

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.
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