fog-packet 1.0.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 (232) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +51 -0
  3. data/.rubocop.yml +38 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE +21 -0
  6. data/README.md +1176 -0
  7. data/Rakefile +24 -0
  8. data/fog-packet.gemspec +24 -0
  9. data/lib/fog-packet.rb +26 -0
  10. data/lib/fog/compute/packet/compute.rb +313 -0
  11. data/lib/fog/compute/packet/models/bandwidth.rb +14 -0
  12. data/lib/fog/compute/packet/models/batch.rb +18 -0
  13. data/lib/fog/compute/packet/models/batches.rb +27 -0
  14. data/lib/fog/compute/packet/models/bgp_session.rb +35 -0
  15. data/lib/fog/compute/packet/models/bgp_sessions.rb +22 -0
  16. data/lib/fog/compute/packet/models/capacities.rb +27 -0
  17. data/lib/fog/compute/packet/models/capacity.rb +29 -0
  18. data/lib/fog/compute/packet/models/device.rb +136 -0
  19. data/lib/fog/compute/packet/models/devices.rb +22 -0
  20. data/lib/fog/compute/packet/models/email.rb +50 -0
  21. data/lib/fog/compute/packet/models/email_verification.rb +18 -0
  22. data/lib/fog/compute/packet/models/emails.rb +17 -0
  23. data/lib/fog/compute/packet/models/event.rb +23 -0
  24. data/lib/fog/compute/packet/models/events.rb +17 -0
  25. data/lib/fog/compute/packet/models/facilities.rb +17 -0
  26. data/lib/fog/compute/packet/models/facility.rb +22 -0
  27. data/lib/fog/compute/packet/models/hardware_reservation.rb +66 -0
  28. data/lib/fog/compute/packet/models/hardware_reservations.rb +22 -0
  29. data/lib/fog/compute/packet/models/invitation.rb +36 -0
  30. data/lib/fog/compute/packet/models/invitations.rb +22 -0
  31. data/lib/fog/compute/packet/models/ip.rb +60 -0
  32. data/lib/fog/compute/packet/models/ips.rb +22 -0
  33. data/lib/fog/compute/packet/models/license.rb +55 -0
  34. data/lib/fog/compute/packet/models/licenses.rb +22 -0
  35. data/lib/fog/compute/packet/models/membership.rb +38 -0
  36. data/lib/fog/compute/packet/models/memberships.rb +22 -0
  37. data/lib/fog/compute/packet/models/notification.rb +31 -0
  38. data/lib/fog/compute/packet/models/notifications.rb +22 -0
  39. data/lib/fog/compute/packet/models/operating_system.rb +23 -0
  40. data/lib/fog/compute/packet/models/operating_systems.rb +17 -0
  41. data/lib/fog/compute/packet/models/organization.rb +71 -0
  42. data/lib/fog/compute/packet/models/organizations.rb +22 -0
  43. data/lib/fog/compute/packet/models/payment_method.rb +63 -0
  44. data/lib/fog/compute/packet/models/payment_methods.rb +22 -0
  45. data/lib/fog/compute/packet/models/plan.rb +23 -0
  46. data/lib/fog/compute/packet/models/plans.rb +17 -0
  47. data/lib/fog/compute/packet/models/project.rb +47 -0
  48. data/lib/fog/compute/packet/models/projects.rb +22 -0
  49. data/lib/fog/compute/packet/models/session.rb +22 -0
  50. data/lib/fog/compute/packet/models/sessions.rb +26 -0
  51. data/lib/fog/compute/packet/models/snapshot.rb +33 -0
  52. data/lib/fog/compute/packet/models/snapshots.rb +22 -0
  53. data/lib/fog/compute/packet/models/spot_market_price.rb +15 -0
  54. data/lib/fog/compute/packet/models/spot_market_prices.rb +22 -0
  55. data/lib/fog/compute/packet/models/ssh_key.rb +51 -0
  56. data/lib/fog/compute/packet/models/ssh_keys.rb +22 -0
  57. data/lib/fog/compute/packet/models/transfer_request.rb +34 -0
  58. data/lib/fog/compute/packet/models/transfer_requests.rb +27 -0
  59. data/lib/fog/compute/packet/models/two_factor_auth.rb +18 -0
  60. data/lib/fog/compute/packet/models/user.rb +56 -0
  61. data/lib/fog/compute/packet/models/users.rb +22 -0
  62. data/lib/fog/compute/packet/models/virtual_network.rb +76 -0
  63. data/lib/fog/compute/packet/models/virtual_networks.rb +17 -0
  64. data/lib/fog/compute/packet/models/volume.rb +96 -0
  65. data/lib/fog/compute/packet/models/volumes.rb +23 -0
  66. data/lib/fog/compute/packet/models/vpn.rb +16 -0
  67. data/lib/fog/compute/packet/models/vpns.rb +27 -0
  68. data/lib/fog/compute/packet/requests/accept_invitation.rb +43 -0
  69. data/lib/fog/compute/packet/requests/accept_transfer_request.rb +26 -0
  70. data/lib/fog/compute/packet/requests/assign_ip.rb +32 -0
  71. data/lib/fog/compute/packet/requests/assign_port.rb +25 -0
  72. data/lib/fog/compute/packet/requests/attach_volume.rb +41 -0
  73. data/lib/fog/compute/packet/requests/bond_ports.rb +25 -0
  74. data/lib/fog/compute/packet/requests/create_batch.rb +43 -0
  75. data/lib/fog/compute/packet/requests/create_bgp_session.rb +37 -0
  76. data/lib/fog/compute/packet/requests/create_device.rb +212 -0
  77. data/lib/fog/compute/packet/requests/create_email.rb +38 -0
  78. data/lib/fog/compute/packet/requests/create_license.rb +46 -0
  79. data/lib/fog/compute/packet/requests/create_organization.rb +87 -0
  80. data/lib/fog/compute/packet/requests/create_payment_method.rb +63 -0
  81. data/lib/fog/compute/packet/requests/create_project.rb +72 -0
  82. data/lib/fog/compute/packet/requests/create_snapshot.rb +25 -0
  83. data/lib/fog/compute/packet/requests/create_ssh_key.rb +44 -0
  84. data/lib/fog/compute/packet/requests/create_virtual_network.rb +49 -0
  85. data/lib/fog/compute/packet/requests/create_volume.rb +70 -0
  86. data/lib/fog/compute/packet/requests/decline_invitation.rb +43 -0
  87. data/lib/fog/compute/packet/requests/decline_transfer_request.rb +26 -0
  88. data/lib/fog/compute/packet/requests/delete_bgp_session.rb +25 -0
  89. data/lib/fog/compute/packet/requests/delete_device.rb +25 -0
  90. data/lib/fog/compute/packet/requests/delete_email.rb +25 -0
  91. data/lib/fog/compute/packet/requests/delete_license.rb +25 -0
  92. data/lib/fog/compute/packet/requests/delete_membership.rb +25 -0
  93. data/lib/fog/compute/packet/requests/delete_organization.rb +25 -0
  94. data/lib/fog/compute/packet/requests/delete_payment_method.rb +25 -0
  95. data/lib/fog/compute/packet/requests/delete_project.rb +25 -0
  96. data/lib/fog/compute/packet/requests/delete_session.rb +27 -0
  97. data/lib/fog/compute/packet/requests/delete_snapshot.rb +25 -0
  98. data/lib/fog/compute/packet/requests/delete_ssh_key.rb +25 -0
  99. data/lib/fog/compute/packet/requests/delete_virtual_network.rb +25 -0
  100. data/lib/fog/compute/packet/requests/delete_volume.rb +25 -0
  101. data/lib/fog/compute/packet/requests/detach_volume.rb +36 -0
  102. data/lib/fog/compute/packet/requests/disable_two_factor_auth.rb +27 -0
  103. data/lib/fog/compute/packet/requests/disable_vpn.rb +25 -0
  104. data/lib/fog/compute/packet/requests/disbond_ports.rb +25 -0
  105. data/lib/fog/compute/packet/requests/enable_two_factor_auth.rb +26 -0
  106. data/lib/fog/compute/packet/requests/enable_vpn.rb +25 -0
  107. data/lib/fog/compute/packet/requests/get_bandwidth.rb +31 -0
  108. data/lib/fog/compute/packet/requests/get_batch.rb +38 -0
  109. data/lib/fog/compute/packet/requests/get_bgp_session.rb +37 -0
  110. data/lib/fog/compute/packet/requests/get_capacity.rb +165 -0
  111. data/lib/fog/compute/packet/requests/get_device.rb +189 -0
  112. data/lib/fog/compute/packet/requests/get_email.rb +32 -0
  113. data/lib/fog/compute/packet/requests/get_hardware_reservation.rb +193 -0
  114. data/lib/fog/compute/packet/requests/get_invitation.rb +43 -0
  115. data/lib/fog/compute/packet/requests/get_ip.rb +60 -0
  116. data/lib/fog/compute/packet/requests/get_license.rb +37 -0
  117. data/lib/fog/compute/packet/requests/get_membership.rb +40 -0
  118. data/lib/fog/compute/packet/requests/get_notification.rb +40 -0
  119. data/lib/fog/compute/packet/requests/get_organization.rb +61 -0
  120. data/lib/fog/compute/packet/requests/get_payment_method.rb +56 -0
  121. data/lib/fog/compute/packet/requests/get_project.rb +67 -0
  122. data/lib/fog/compute/packet/requests/get_ssh_key.rb +38 -0
  123. data/lib/fog/compute/packet/requests/get_transfer_request.rb +38 -0
  124. data/lib/fog/compute/packet/requests/get_user.rb +56 -0
  125. data/lib/fog/compute/packet/requests/get_volume.rb +60 -0
  126. data/lib/fog/compute/packet/requests/get_vpn.rb +29 -0
  127. data/lib/fog/compute/packet/requests/list_batches.rb +33 -0
  128. data/lib/fog/compute/packet/requests/list_bgp_sessions.rb +32 -0
  129. data/lib/fog/compute/packet/requests/list_devices.rb +33 -0
  130. data/lib/fog/compute/packet/requests/list_events.rb +33 -0
  131. data/lib/fog/compute/packet/requests/list_facilities.rb +57 -0
  132. data/lib/fog/compute/packet/requests/list_hardware_reservations.rb +216 -0
  133. data/lib/fog/compute/packet/requests/list_invitations.rb +48 -0
  134. data/lib/fog/compute/packet/requests/list_ips.rb +65 -0
  135. data/lib/fog/compute/packet/requests/list_licenses.rb +42 -0
  136. data/lib/fog/compute/packet/requests/list_memberships.rb +45 -0
  137. data/lib/fog/compute/packet/requests/list_notifications.rb +45 -0
  138. data/lib/fog/compute/packet/requests/list_operating_systems.rb +66 -0
  139. data/lib/fog/compute/packet/requests/list_organizations.rb +81 -0
  140. data/lib/fog/compute/packet/requests/list_payment_methods.rb +76 -0
  141. data/lib/fog/compute/packet/requests/list_plans.rb +92 -0
  142. data/lib/fog/compute/packet/requests/list_projects.rb +87 -0
  143. data/lib/fog/compute/packet/requests/list_sessions.rb +40 -0
  144. data/lib/fog/compute/packet/requests/list_snapshots.rb +40 -0
  145. data/lib/fog/compute/packet/requests/list_spotmarketprices.rb +173 -0
  146. data/lib/fog/compute/packet/requests/list_spotmarketprices_history.rb +42 -0
  147. data/lib/fog/compute/packet/requests/list_ssh_keys.rb +50 -0
  148. data/lib/fog/compute/packet/requests/list_transfer_requests.rb +43 -0
  149. data/lib/fog/compute/packet/requests/list_users.rb +61 -0
  150. data/lib/fog/compute/packet/requests/list_virtual_networks.rb +62 -0
  151. data/lib/fog/compute/packet/requests/list_volumes.rb +65 -0
  152. data/lib/fog/compute/packet/requests/move_hardware_reservation.rb +43 -0
  153. data/lib/fog/compute/packet/requests/poweroff_device.rb +194 -0
  154. data/lib/fog/compute/packet/requests/poweron_device.rb +194 -0
  155. data/lib/fog/compute/packet/requests/reboot_device.rb +194 -0
  156. data/lib/fog/compute/packet/requests/request_email_verification.rb +25 -0
  157. data/lib/fog/compute/packet/requests/reserve_ip.rb +37 -0
  158. data/lib/fog/compute/packet/requests/session_login.rb +25 -0
  159. data/lib/fog/compute/packet/requests/transfer_project.rb +43 -0
  160. data/lib/fog/compute/packet/requests/unassign_ip.rb +24 -0
  161. data/lib/fog/compute/packet/requests/unassign_port.rb +25 -0
  162. data/lib/fog/compute/packet/requests/update_device.rb +201 -0
  163. data/lib/fog/compute/packet/requests/update_email.rb +37 -0
  164. data/lib/fog/compute/packet/requests/update_license.rb +42 -0
  165. data/lib/fog/compute/packet/requests/update_membership.rb +43 -0
  166. data/lib/fog/compute/packet/requests/update_notification.rb +40 -0
  167. data/lib/fog/compute/packet/requests/update_organization.rb +85 -0
  168. data/lib/fog/compute/packet/requests/update_payment_method.rb +63 -0
  169. data/lib/fog/compute/packet/requests/update_project.rb +71 -0
  170. data/lib/fog/compute/packet/requests/update_ssh_key.rb +43 -0
  171. data/lib/fog/compute/packet/requests/update_user.rb +65 -0
  172. data/lib/fog/compute/packet/requests/update_volume.rb +66 -0
  173. data/lib/fog/compute/packet/requests/validate_capacity.rb +38 -0
  174. data/lib/fog/compute/packet/requests/verify_email.rb +36 -0
  175. data/tests/packet/models/test_batches.rb +45 -0
  176. data/tests/packet/models/test_bgp_sessions.rb +52 -0
  177. data/tests/packet/models/test_capacity.rb +40 -0
  178. data/tests/packet/models/test_devices.rb +93 -0
  179. data/tests/packet/models/test_email_verification.rb +25 -0
  180. data/tests/packet/models/test_emails.rb +45 -0
  181. data/tests/packet/models/test_facilities.rb +18 -0
  182. data/tests/packet/models/test_hardware_reservations.rb +38 -0
  183. data/tests/packet/models/test_invitations.rb +41 -0
  184. data/tests/packet/models/test_ips.rb +52 -0
  185. data/tests/packet/models/test_licenses.rb +56 -0
  186. data/tests/packet/models/test_memberships.rb +41 -0
  187. data/tests/packet/models/test_notifications.rb +35 -0
  188. data/tests/packet/models/test_operating_systems.rb +19 -0
  189. data/tests/packet/models/test_organizations.rb +67 -0
  190. data/tests/packet/models/test_payment_methods.rb +61 -0
  191. data/tests/packet/models/test_plans.rb +19 -0
  192. data/tests/packet/models/test_projects.rb +41 -0
  193. data/tests/packet/models/test_sessions.rb +34 -0
  194. data/tests/packet/models/test_snapshots.rb +43 -0
  195. data/tests/packet/models/test_spotmarketprices.rb +28 -0
  196. data/tests/packet/models/test_ssh_keys.rb +58 -0
  197. data/tests/packet/models/test_transfer_requests.rb +49 -0
  198. data/tests/packet/models/test_two_factor_auth.rb +29 -0
  199. data/tests/packet/models/test_users.rb +47 -0
  200. data/tests/packet/models/test_virtual_networks.rb +81 -0
  201. data/tests/packet/models/test_volumes.rb +70 -0
  202. data/tests/packet/models/test_vpns.rb +37 -0
  203. data/tests/packet/requests/test_batches.rb +45 -0
  204. data/tests/packet/requests/test_bgp_sessions.rb +64 -0
  205. data/tests/packet/requests/test_capacity.rb +40 -0
  206. data/tests/packet/requests/test_devices.rb +104 -0
  207. data/tests/packet/requests/test_email_verification.rb +25 -0
  208. data/tests/packet/requests/test_emails.rb +51 -0
  209. data/tests/packet/requests/test_facilities.rb +19 -0
  210. data/tests/packet/requests/test_hardware_reservations.rb +38 -0
  211. data/tests/packet/requests/test_invitations.rb +40 -0
  212. data/tests/packet/requests/test_ips.rb +66 -0
  213. data/tests/packet/requests/test_licenses.rb +56 -0
  214. data/tests/packet/requests/test_memberships.rb +43 -0
  215. data/tests/packet/requests/test_notifications.rb +40 -0
  216. data/tests/packet/requests/test_operating_systems.rb +19 -0
  217. data/tests/packet/requests/test_organizations.rb +64 -0
  218. data/tests/packet/requests/test_payment_methods.rb +60 -0
  219. data/tests/packet/requests/test_plans.rb +21 -0
  220. data/tests/packet/requests/test_projects.rb +40 -0
  221. data/tests/packet/requests/test_sessions.rb +34 -0
  222. data/tests/packet/requests/test_snapshots.rb +57 -0
  223. data/tests/packet/requests/test_sportmarketprices.rb +29 -0
  224. data/tests/packet/requests/test_ssh_keys.rb +60 -0
  225. data/tests/packet/requests/test_transfer_requests.rb +46 -0
  226. data/tests/packet/requests/test_two_factor_auth.rb +29 -0
  227. data/tests/packet/requests/test_users.rb +48 -0
  228. data/tests/packet/requests/test_virtual_networks.rb +100 -0
  229. data/tests/packet/requests/test_volumes.rb +95 -0
  230. data/tests/packet/requests/test_vpns.rb +38 -0
  231. data/tests/test_helper.rb +4 -0
  232. metadata +345 -0
@@ -0,0 +1,37 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestVpns
4
+ class TestVpns < Minitest::Test
5
+ def self.test_order
6
+ :alpha
7
+ end
8
+
9
+ def setup
10
+ # Establish Connection
11
+ @compute = Fog::Compute::Packet.new(:packet_token => ENV["PACKET_TOKEN"])
12
+ end
13
+
14
+ def test_a_enable_vpn
15
+ # Perform Request
16
+ response = @compute.vpns.enable
17
+
18
+ # Assertions
19
+ assert_equal true, response
20
+ end
21
+
22
+ def test_b_get_vpn
23
+ # Perform Request
24
+ response = @compute.vpns.get("nrt1")
25
+
26
+ # Assertions
27
+ assert response.config
28
+ end
29
+
30
+ def test_c_disable_vpn
31
+ # Perform Request
32
+ response = @compute.vpns.disable
33
+
34
+ # Assertions
35
+ assert_equal true, response
36
+ end
37
+ end
@@ -0,0 +1,45 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestBatches
4
+ class TestBatches < Minitest::Test
5
+ def self.test_order
6
+ :alpha
7
+ end
8
+
9
+ def setup
10
+ @compute = Fog::Compute::Packet.new(:packet_token => ENV["PACKET_TOKEN"])
11
+
12
+ @project_id = "93125c2a-8b78-4d4f-a3c4-7367d6b7cca8"
13
+ end
14
+
15
+ def test_request_a_create_batch
16
+ options = [{
17
+ "hostname" => "test1",
18
+ "description" => "test batch",
19
+ "plan" => "baremetal_0",
20
+ "operating_system" => "coreos_stable",
21
+ "facility" => "ewr1",
22
+ "billing_cycle" => "hourly",
23
+ "tags" => ["abc"],
24
+ "quantity" => 1
25
+ }]
26
+
27
+ response = @compute.create_batch(@project_id, options)
28
+
29
+ assert_equal 201, response.status
30
+
31
+ @@batch_id = response.body["batches"][0]["id"]
32
+ end
33
+
34
+ def test_request_b_get_batch
35
+ response = @compute.get_batch(@@batch_id)
36
+
37
+ assert_equal @@batch_id, response.body["id"]
38
+ end
39
+
40
+ def test_request_c_list_batches
41
+ response = @compute.list_batches(@project_id)
42
+
43
+ assert !response.body["batches"].empty?
44
+ end
45
+ end
@@ -0,0 +1,64 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestBGPSessions
4
+ class TestBGPSessions < Minitest::Test
5
+ def self.test_order
6
+ :alpha
7
+ end
8
+
9
+ def setup
10
+ # Establish Connection
11
+ @compute = Fog::Compute::Packet.new(:packet_token => ENV["PACKET_TOKEN"])
12
+ @project_id = "93125c2a-8b78-4d4f-a3c4-7367d6b7cca8"
13
+ end
14
+
15
+ def test_request_a_create_bgp_session
16
+ dev = {
17
+ :hostname => "test01",
18
+ :facility => "ewr1",
19
+ :plan => "baremetal_0",
20
+ :operating_system => "coreos_stable"
21
+ }
22
+
23
+ response = @compute.create_device(@project_id, dev)
24
+
25
+ @@device_id = response.body["id"]
26
+ loop do
27
+ response = @compute.get_device(@@device_id)
28
+ break if response.body["state"] == "active"
29
+ sleep(3)
30
+ end
31
+
32
+ # Perform Request
33
+ address_family = "ipv4"
34
+ response = @compute.create_bgp_session(@@device_id, address_family)
35
+
36
+ # Assertions
37
+ assert_equal 201, response.status
38
+ assert_equal address_family, response.body["address_family"]
39
+
40
+ @@session_id = response.body["id"]
41
+ end
42
+
43
+ def test_request_b_get_bgp_session
44
+ response = @compute.get_bgp_session(@@session_id)
45
+
46
+ assert_equal @@session_id, response.body["id"]
47
+ end
48
+
49
+ def test_request_d_get_bgp_sessions
50
+ response = @compute.list_bgp_sessions(@@device_id)
51
+
52
+ assert !response.body["bgp_sessions"].empty?
53
+ end
54
+
55
+ def test_request_e_delete_bgp_session
56
+ response = @compute.delete_bgp_session(@@session_id)
57
+
58
+ assert_equal 204, response.status
59
+ end
60
+
61
+ def test_request_z_cleanup
62
+ @compute.delete_device(@@device_id)
63
+ end
64
+ end
@@ -0,0 +1,40 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestCapacity
4
+ class TestCapacity < Minitest::Test
5
+ def self.test_order
6
+ :alpha
7
+ end
8
+
9
+ def setup
10
+ # Establish Connection
11
+ @compute = Fog::Compute::Packet.new(:packet_token => ENV["PACKET_TOKEN"])
12
+ end
13
+
14
+ def test_request_get_capacity
15
+ response = @compute.get_capacity
16
+
17
+ assert !response.body["capacity"].empty?
18
+ end
19
+
20
+ def test_request_validate_capacity
21
+ options = {
22
+ :servers => [
23
+ {
24
+ :facility => "ewr1",
25
+ :plan => "baremetal_2a",
26
+ :quantity => 1
27
+ },
28
+ {
29
+ :facility => "atl1",
30
+ :plan => "baremetal_1e",
31
+ :quantity => 1
32
+ }
33
+ ]
34
+ }
35
+
36
+ response = @compute.validate_capacity(options)
37
+
38
+ assert_equal 204, response.status
39
+ end
40
+ end
@@ -0,0 +1,104 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestDevices
4
+ class TestDevices < Minitest::Test
5
+ def self.test_order
6
+ :alpha
7
+ end
8
+
9
+ def setup
10
+ @compute = Fog::Compute::Packet.new(:packet_token => ENV["PACKET_TOKEN"])
11
+
12
+ @project_id = "93125c2a-8b78-4d4f-a3c4-7367d6b7cca8"
13
+ end
14
+
15
+ def test_request_a_create_device
16
+ options = {
17
+ :hostname => "test01",
18
+ :facility => "ewr1",
19
+ :plan => "baremetal_0",
20
+ :operating_system => "coreos_stable"
21
+ }
22
+
23
+ response = @compute.create_device(@project_id, options)
24
+
25
+ @@device_id = response.body["id"]
26
+
27
+ assert_equal options[:hostname], response.body["hostname"]
28
+ assert_equal options[:facility], response.body["facility"]["code"]
29
+ assert_equal options[:plan], response.body["plan"]["slug"]
30
+ assert_equal options[:operating_system], response.body["operating_system"]["slug"]
31
+
32
+ loop do
33
+ response = @compute.get_device(@@device_id)
34
+ break if response.body["state"] == "active"
35
+ sleep(3)
36
+ end
37
+ end
38
+
39
+ def test_request_b_get_device
40
+ response = @compute.get_device(@@device_id)
41
+
42
+ assert_equal 200, response.status
43
+ assert_equal @@device_id, response.body["id"]
44
+ end
45
+
46
+ def test_request_c_update_device
47
+ options = {
48
+ :hostname => "test02"
49
+ }
50
+ response = @compute.update_device(@@device_id, options)
51
+
52
+ assert_equal 200, response.status
53
+ assert_equal options[:hostname], response.body["hostname"]
54
+ end
55
+
56
+ def test_request_d_reboot_device
57
+ response = @compute.reboot_device(@@device_id)
58
+
59
+ assert_equal 202, response.status
60
+
61
+ loop do
62
+ response = @compute.get_device(@@device_id)
63
+ break if response.body["state"] == "active"
64
+ sleep(3)
65
+ end
66
+ end
67
+
68
+ def test_request_f_poweroff_device
69
+ response = @compute.poweroff_device(@@device_id)
70
+
71
+ assert_equal 202, response.status
72
+ end
73
+
74
+ def test_request_g_poweron_device
75
+ response = @compute.poweron_device(@@device_id)
76
+
77
+ assert_equal 202, response.status
78
+
79
+ loop do
80
+ response = @compute.get_device(@@device_id)
81
+ break if response.body["state"] == "active"
82
+ sleep(3)
83
+ end
84
+ end
85
+
86
+ def test_request_h_get_events
87
+ response = @compute.list_events(@@device_id)
88
+
89
+ assert_equal 200, response.status
90
+ assert !response.body["events"].empty?
91
+ end
92
+
93
+ def test_request_i_get_bandwidth
94
+ response = @compute.get_bandwidth(@@device_id)
95
+
96
+ assert_equal 200, response.status
97
+ end
98
+
99
+ def test_request_z_delete_device
100
+ response = @compute.delete_device(@@device_id)
101
+
102
+ assert_equal 204, response.status
103
+ end
104
+ end
@@ -0,0 +1,25 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestEmailVerification
4
+ class TestEmailVerification < Minitest::Test
5
+ def self.test_order
6
+ :alpha
7
+ end
8
+
9
+ def setup
10
+ # Establish Connection
11
+ @compute = Fog::Compute::Packet.new(:packet_token => ENV["PACKET_TOKEN"])
12
+ end
13
+
14
+ def test_request_email_verification
15
+ response = @compute.request_email_verification("jdoe@example.net")
16
+
17
+ assert_equal 201, response.status
18
+ end
19
+
20
+ def test_request_verify_email
21
+ response = @compute.verify_email("token1234!")
22
+
23
+ assert_equal 200, response.status
24
+ end
25
+ end
@@ -0,0 +1,51 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestEmails
4
+ class TestEmails < Minitest::Test
5
+ def self.test_order
6
+ :alpha
7
+ end
8
+
9
+ def setup
10
+ # Establish Connection
11
+ @compute = Fog::Compute::Packet.new(:packet_token => ENV["PACKET_TOKEN"])
12
+ end
13
+
14
+ def test_request_a_create_email
15
+ options = {
16
+ :address => "jdoe@example.net",
17
+ :default => "false"
18
+ }
19
+
20
+ # Perform Request
21
+ response = @compute.create_email(options)
22
+
23
+ @@email_id = response.body["id"]
24
+
25
+ # Assertions
26
+ assert_equal response.status, 201
27
+ end
28
+
29
+ def test_request_b_get_email
30
+ response = @compute.get_email(@@email_id)
31
+
32
+ assert_equal response.status, 200
33
+ assert_equal @@email_id, response.body["id"]
34
+ end
35
+
36
+ def test_request_c_update_email
37
+ options = {
38
+ :default => false
39
+ }
40
+ response = @compute.update_email(@@email_id, options)
41
+
42
+ assert_equal response.status, 200
43
+ assert_equal @@email_id, response.body["id"]
44
+ end
45
+
46
+ def test_request_e_delete_email
47
+ response = @compute.delete_email(@@email_id)
48
+
49
+ assert_equal response.status, 204
50
+ end
51
+ end
@@ -0,0 +1,19 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestFacilities
4
+ class TestFacilities < Minitest::Test
5
+ def self.test_order
6
+ :alpha
7
+ end
8
+
9
+ def setup
10
+ # Establish Connection
11
+ @compute = Fog::Compute::Packet.new(:packet_token => ENV["PACKET_TOKEN"])
12
+ end
13
+
14
+ def test_request_list_facilities
15
+ response = @compute.list_facilities
16
+
17
+ assert !response.body["facilities"].empty?
18
+ end
19
+ end
@@ -0,0 +1,38 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestHardwareReservations
4
+ class TestHardwareReservations < Minitest::Test
5
+ def self.test_order
6
+ :alpha
7
+ end
8
+
9
+ def setup
10
+ # Establish Connection
11
+ @compute = Fog::Compute::Packet.new(:packet_token => ENV["PACKET_TOKEN"])
12
+ @project_id = "93125c2a-8b78-4d4f-a3c4-7367d6b7cca8"
13
+ end
14
+
15
+ def test_request_a_list_hardware_reservations
16
+ # Perform Request
17
+ response = @compute.list_hardware_reservations(@project_id)
18
+
19
+ # Assertions
20
+ assert !response.body["hardware_reservations"].empty?
21
+
22
+ @@reservation_id = response.body["hardware_reservations"][0]["id"]
23
+ end
24
+
25
+ def test_request_b_get_hardware_reservation
26
+ response = @compute.get_hardware_reservation(@@reservation_id)
27
+
28
+ assert_equal 200, response.status
29
+ assert_equal @@reservation_id, response.body["id"]
30
+ end
31
+
32
+ def test_request_c_move_hardware_reservation
33
+ # Perform Request
34
+ response = @compute.move_hardware_reservation(@@reservation_id, @project_id)
35
+ # Assertions
36
+ assert_equal 200, response.status
37
+ end
38
+ end
@@ -0,0 +1,40 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestInvitations
4
+ class TestInvitations < Minitest::Test
5
+ def self.test_order
6
+ :alpha
7
+ end
8
+
9
+ def setup
10
+ @compute = Fog::Compute::Packet.new(:packet_token => ENV["PACKET_TOKEN"])
11
+ @project_id = "93125c2a-8b78-4d4f-a3c4-7367d6b7cca8"
12
+ end
13
+
14
+ def test_request_a_list_invitations
15
+ response = @compute.list_invitations(@project_id)
16
+
17
+ assert_equal 200, response.status
18
+ @@invite_id = response.body["invitations"][0]["id"]
19
+ end
20
+
21
+ def test_request_b_get_invitation
22
+ response = @compute.get_invitation(@@invite_id)
23
+
24
+ assert_equal @@invite_id, response.body["id"]
25
+ end
26
+
27
+ def test_request_c_accept_invitation
28
+ response = @compute.accept_invitation(@@invite_id)
29
+
30
+ assert_equal 200, response.status
31
+ assert_equal @@invite_id, response.body["id"]
32
+ end
33
+
34
+ def test_request_d_decline_invitation
35
+ response = @compute.decline_invitation(@@invite_id)
36
+
37
+ assert_equal 204, response.status
38
+ assert_equal @@invite_id, response.body["id"]
39
+ end
40
+ end