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,57 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestSnapshots
4
+ class TestSnapshots < 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
+ options = {
14
+ :facility => "ewr1",
15
+ :plan => "storage_1",
16
+ :size => 20,
17
+ :description => "test description",
18
+ :billing_cycle => "hourly"
19
+ }
20
+
21
+ response = @compute.create_volume(@project_id, options)
22
+
23
+ @@volume_id = response.body["id"]
24
+
25
+ unless Fog.mock?
26
+ loop do
27
+ sleep(3)
28
+ response = @compute.get_volume(@@volume_id)
29
+ break if response.body["state"] == "active"
30
+ end
31
+ end
32
+ end
33
+
34
+ def test_request_a_create_snapshot
35
+ response = @compute.create_snapshot(@@volume_id)
36
+
37
+ assert_equal 202, response.status
38
+ end
39
+
40
+ def test_request_b_list_snapshots
41
+ response = @compute.list_snapshots(@@volume_id)
42
+
43
+ assert_equal 200, response.status
44
+ assert !response.body["snapshots"].empty?
45
+ @@snapshot_id = response.body["snapshots"][0]["id"]
46
+ end
47
+
48
+ def test_request_c_delete_snapshot
49
+ response = @compute.delete_snapshot(@@volume_id, @@snapshot_id)
50
+
51
+ assert_equal 204, response.status
52
+ end
53
+
54
+ def test_request_e_cleanup
55
+ @compute.delete_volume(@@volume_id)
56
+ end
57
+ end
@@ -0,0 +1,29 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestSpotMarketPrices
4
+ class TestSpotMarketPrices < 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_spotmarketprices
15
+ # Perform Request
16
+ response = @compute.list_spotmarketprices
17
+
18
+ # Assertions
19
+ assert !response.body["spot_market_prices"].empty?
20
+ end
21
+
22
+ def test_request_list_spotmarketprices_history
23
+ # Perform Request
24
+ response = @compute.list_spotmarketprices_history("ewr1", "baremetal_0")
25
+
26
+ # Assertions
27
+ assert !response.body["prices_history"].empty?
28
+ end
29
+ end
@@ -0,0 +1,60 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestSSHKeys
4
+ class TestSSHKeys < 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_ssh_key
15
+ options = {
16
+ :label => "test",
17
+ :key => "ssh-rsa AAAAB3Nz"
18
+ }
19
+
20
+ # Perform Request
21
+ response = @compute.create_ssh_key(options)
22
+
23
+ assert response.body
24
+ assert_equal options[:label], response.body["label"]
25
+ assert_equal options[:key], response.body["key"]
26
+ @@key_id = response.body["id"]
27
+ end
28
+
29
+ def test_request_b_list_ssh_keys
30
+ response = @compute.list_ssh_keys
31
+
32
+ assert !response.body["ssh_keys"].empty?
33
+ end
34
+
35
+ def test_request_c_get_ssh_key
36
+ response = @compute.get_ssh_key(@@key_id)
37
+
38
+ assert_equal @@key_id, response.body["id"]
39
+ end
40
+
41
+ def test_request_d_update_ssh_key
42
+ options = {
43
+ :label => "test",
44
+ :key => "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDgnV5MOhBqpQLt66KGlMKi"
45
+ }
46
+
47
+ response = @compute.update_ssh_key(@@key_id, options)
48
+
49
+ assert response.body
50
+ assert_equal 200, response.status
51
+ assert_equal options[:label], response.body["label"]
52
+ assert_equal options[:key], response.body["key"]
53
+ end
54
+
55
+ def test_request_h_delete_ssh_key
56
+ response = @compute.delete_ssh_key(@@key_id)
57
+
58
+ assert_equal 204, response.status
59
+ end
60
+ end
@@ -0,0 +1,46 @@
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
+ @org_id = "602c17ec-f996-4d94-a6a8-20d6356e6c2a"
12
+ @project_id = "93125c2a-8b78-4d4f-a3c4-7367d6b7cca8"
13
+ end
14
+
15
+ def test_request_a_transfer_project
16
+ response = @compute.transfer_project(@project_id, @org_id)
17
+
18
+ assert_equal 201, response.status
19
+ @@transfer_request_id = response.body["id"]
20
+ end
21
+
22
+ def test_request_b_list_transfer_requests
23
+ response = @compute.list_transfer_requests(@org_id)
24
+
25
+ assert_equal 200, response.status
26
+ end
27
+
28
+ def test_request_c_get_transfer_request
29
+ response = @compute.get_transfer_request(@@transfer_request_id)
30
+
31
+ assert_equal 200, response.status
32
+ assert_equal @@transfer_request_id, response.body["id"]
33
+ end
34
+
35
+ def test_request_d_accept_transfer_request
36
+ response = @compute.accept_transfer_request(@@transfer_request_id)
37
+
38
+ assert_equal 204, response.status
39
+ end
40
+
41
+ def test_request_e_decline_transfer_request
42
+ response = @compute.decline_transfer_request(@@transfer_request_id)
43
+
44
+ assert_equal 204, response.status
45
+ end
46
+ end
@@ -0,0 +1,29 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestTwoFactorAuth
4
+ class TestTwoFactorAuth < 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_enable_two_factor_auth
15
+ # Perform Request
16
+ response = @compute.enable_two_factor_auth("app")
17
+
18
+ # Assertions
19
+ assert_equal 200, response.status
20
+ end
21
+
22
+ def test_request_c_disable_two_factor_auth
23
+ # Perform Request
24
+ response = @compute.disable_two_factor_auth("app")
25
+
26
+ # Assertions
27
+ assert_equal 204, response.status
28
+ end
29
+ end
@@ -0,0 +1,48 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestUsers
4
+ class TestUsers < 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_list_users
15
+ # Perform Request
16
+ response = @compute.list_users
17
+
18
+ # Assertions
19
+ assert !response.body["users"].empty?
20
+
21
+ @@user_id = response.body["users"][0]["id"]
22
+ end
23
+
24
+ def test_request_b_get_current_user
25
+ response = @compute.get_user
26
+ assert_equal response.status, 200
27
+ end
28
+
29
+ def test_request_c_get_user
30
+ response = @compute.get_user(@@user_id)
31
+
32
+ assert_equal response.status, 200
33
+ assert_equal @@user_id, response.body["id"]
34
+ end
35
+
36
+ def test_request_d_update_user
37
+ options = {
38
+ :first_name => "Jane",
39
+ :last_name => "Doe"
40
+ }
41
+
42
+ response = @compute.update_user("2dce124f-3220-495c-907e-5bbbd4dda77c", options)
43
+
44
+ assert_equal response.status, 200
45
+ assert_equal options[:first_name], response.body["first_name"]
46
+ assert_equal options[:last_name], response.body["last_name"]
47
+ end
48
+ end
@@ -0,0 +1,100 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestVirtualNetworks
4
+ class TestVirtualNetworks < 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_virtual_network
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 = response.body
26
+ loop do
27
+ response = @compute.get_device(@@device["id"])
28
+ break if response.body["state"] == "active"
29
+ sleep(3)
30
+ end
31
+
32
+ options = {
33
+ :project_id => @project_id,
34
+ :description => "test",
35
+ :facility => "ewr1",
36
+ :vlan => 1,
37
+ :vxlan => 1
38
+ }
39
+ response = @compute.create_virtual_network(options)
40
+
41
+ assert_equal 201, response.status
42
+ assert_equal options[:description], response.body["description"]
43
+
44
+ @@virtual_network_id = response.body["id"]
45
+ end
46
+
47
+ def test_request_b_list_virtual_networks
48
+ response = @compute.list_virtual_networks(@project_id)
49
+
50
+ assert_equal 200, response.status
51
+ assert !response.body["virtual_networks"].empty?
52
+ end
53
+
54
+ def test_request_d_bond_ports
55
+ response = @compute.bond_ports(@@virtual_network_id, true)
56
+ assert_equal 200, response.status
57
+ end
58
+
59
+ def test_request_e_disbond_ports
60
+ response = @compute.disbond_ports(@@virtual_network_id, true)
61
+ assert_equal 200, response.status
62
+ end
63
+
64
+ def test_request_f_assign_port
65
+ eth1 = ""
66
+ @@device["provisioning_events"].each do |port|
67
+ next unless port["network_ports"]
68
+ port["network_ports"].each do |np|
69
+ eth1 = np["id"] if np["name"] == "eth1"
70
+ end
71
+ end
72
+ response = @compute.assign_port(eth1, @@virtual_network_id)
73
+
74
+ assert_equal 200, response.status
75
+ end
76
+
77
+ def test_request_g_unassign_port
78
+ eth1 = ""
79
+
80
+ @@device["provisioning_events"].each do |port|
81
+ next unless port["network_ports"]
82
+ port["network_ports"].each do |np|
83
+ eth1 = np["id"] if np["name"] == "eth1"
84
+ end
85
+ end
86
+ response = @compute.unassign_port(eth1, @@virtual_network_id)
87
+
88
+ assert_equal 200, response.status
89
+ end
90
+
91
+ def test_request_h_delete_virtual_network
92
+ response = @compute.delete_virtual_network(@@virtual_network_id)
93
+
94
+ assert_equal 204, response.status
95
+ end
96
+
97
+ def test_request_i_cleanup
98
+ @compute.delete_device(@@device["id"])
99
+ end
100
+ end
@@ -0,0 +1,95 @@
1
+ require_relative "../../../lib/fog-packet"
2
+
3
+ # TestVolumes
4
+ class TestVolumes < 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_volume
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
+
27
+ loop do
28
+ response = @compute.get_device(@@device_id)
29
+ break if response.body["state"] == "active"
30
+ sleep(3)
31
+ end
32
+
33
+ options = {
34
+ :facility => "ewr1",
35
+ :plan => "storage_1",
36
+ :size => 20,
37
+ :description => "test description",
38
+ :billing_cycle => "hourly"
39
+ }
40
+
41
+ response = @compute.create_volume(@project_id, options)
42
+
43
+ assert_equal response.status, 201
44
+ @@volume_id = response.body["id"]
45
+
46
+ loop do
47
+ response = @compute.get_volume(@@volume_id)
48
+ break if response.body["state"] == "active"
49
+ sleep(3)
50
+ end
51
+ end
52
+
53
+ def test_request_b_get_volume
54
+ response = @compute.get_volume(@@volume_id)
55
+
56
+ assert_equal response.status, 200
57
+ end
58
+
59
+ def test_request_c_update_volume
60
+ options = {
61
+ :size => 30
62
+ }
63
+ response = @compute.update_volume(@@volume_id, options)
64
+
65
+ assert_equal response.status, 200
66
+ assert_equal response.body["size"], options[:size]
67
+ end
68
+
69
+ def test_request_d_list_volumes
70
+ response = @compute.list_volumes(@project_id)
71
+
72
+ assert !response.body["volumes"].empty?
73
+ end
74
+
75
+ def test_request_e_attach_volume
76
+ response = @compute.attach_volume(@@volume_id, @@device_id)
77
+ @@attachment_id = response.body["id"]
78
+
79
+ assert_equal 201, response.status
80
+ end
81
+
82
+ def test_request_f_detach_volume
83
+ response = @compute.detach_volume(@@attachment_id)
84
+ assert_equal 204, response.status
85
+ end
86
+
87
+ def test_request_g_delete_volume
88
+ response = @compute.delete_volume(@@volume_id)
89
+ assert_equal response.status, 204
90
+ end
91
+
92
+ def test_request_h_cleanup
93
+ @compute.delete_device(@@device_id)
94
+ end
95
+ end