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,41 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestProjects
4
+ class TestProjects < 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_create_project
15
+ # Perform Request
16
+ response = @compute.projects.create(:name => "test01", :payment_method_id => "1234")
17
+
18
+ @@project_id = response.id
19
+ # Assertions
20
+ assert_equal "test01", response.name
21
+ end
22
+
23
+ def test_b_list_projects
24
+ # Perform Request
25
+ response = @compute.projects.all
26
+
27
+ # Assertions
28
+ assert !response.empty?
29
+ end
30
+
31
+ def test_c_get_project
32
+ response = @compute.projects.get(@@project_id)
33
+ assert_equal @@project_id, response.id
34
+ end
35
+
36
+ def test_d_delete_project
37
+ result = @compute.projects.destroy(@@project_id)
38
+
39
+ assert_equal true, result
40
+ end
41
+ end
@@ -0,0 +1,34 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestSessions
4
+ class TestSessions < 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_list_sessions
15
+ # Perform Request
16
+ response = @compute.sessions.all
17
+
18
+ # Assertions
19
+ assert !response.empty?
20
+ end
21
+
22
+ def test_b_session_login
23
+ response = @compute.sessions.login(:username => "username", :password => "password")
24
+
25
+ assert_equal true, response
26
+ end
27
+
28
+ def test_c_delete_session
29
+ # Perform Request
30
+ response = @compute.sessions.delete
31
+ # Assertions
32
+ assert_equal true, response
33
+ end
34
+ end
@@ -0,0 +1,43 @@
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
+
14
+ volume = @compute.volumes.create(:project_id => @project_id, :facility => "ewr1", :plan => "storage_1", :size => 20, :description => "test description", :billing_cycle => "hourly")
15
+
16
+ @@volume_id = volume.id
17
+ volume.wait_for { ready? } unless Fog.mock?
18
+ end
19
+
20
+ def test_a_create_snapshot
21
+ response = @compute.snapshots.create(:storage_id => @@volume_id)
22
+ assert response
23
+ end
24
+
25
+ def test_b_list_snapshots
26
+ response = @compute.snapshots.all(@@volume_id)
27
+
28
+ assert !response.empty?
29
+ @@snapshot = response[0]
30
+ end
31
+
32
+ def test_c_delete_snapshot
33
+ response = @@snapshot.destroy(@@volume_id)
34
+
35
+ assert_equal true, response
36
+ end
37
+
38
+ def test_e_cleanup
39
+ volume = @compute.volumes.get(@@volume_id)
40
+ response = volume.destroy
41
+ assert_equal true, response
42
+ end
43
+ end
@@ -0,0 +1,28 @@
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_list_spotmarketprices
15
+ # Perform Request
16
+ response = @compute.spot_market_prices.all
17
+
18
+ assert response
19
+ end
20
+
21
+ def test_list_spotmarketprices_history
22
+ # Perform Request
23
+ response = @compute.spot_market_prices.get("ewr1", "baremetal_0")
24
+
25
+ assert response
26
+ assert !response.prices_history.empty?
27
+ end
28
+ end
@@ -0,0 +1,58 @@
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()
12
+ end
13
+
14
+ def test_a_create_ssh_key
15
+ options = {
16
+ :label => "test",
17
+ :key => "ssh-rsa AAAAB3Nz"
18
+ }
19
+
20
+ # Perform Request
21
+ response = @compute.ssh_keys.create(:label => "test", :key => "ssh-rsa AAAAB3Nz")
22
+
23
+ assert response
24
+ assert_equal options[:label], response.label
25
+ assert_equal options[:key], response.key
26
+ @@key_id = response.id
27
+ end
28
+
29
+ def test_b_list_ssh_keys
30
+ response = @compute.ssh_keys.all(:include => "test")
31
+
32
+ assert !response.empty?
33
+ end
34
+
35
+ def test_c_get_ssh_key
36
+ response = @compute.ssh_keys.get(@@key_id)
37
+
38
+ assert_equal @@key_id, response.id
39
+ end
40
+
41
+ def test_d_update_ssh_key
42
+ sshkey = @compute.ssh_keys.get(@@key_id)
43
+
44
+ sshkey.label = "test_jg_01"
45
+ sshkey.key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDgnV5MOhBqpQLt66KGlMKi..."
46
+
47
+ response = sshkey.update
48
+
49
+ assert response
50
+ end
51
+
52
+ def test_h_delete_ssh_key
53
+ sshkey = @compute.ssh_keys.get(@@key_id)
54
+
55
+ response = sshkey.destroy
56
+ assert_equal true, response
57
+ end
58
+ end
@@ -0,0 +1,49 @@
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_requests.transfer(@project_id, @org_id)
17
+
18
+ assert response
19
+ @@transfer_request_id = response.id
20
+ end
21
+
22
+ def test_request_b_list_transfer_requests
23
+ response = @compute.transfer_requests.all(@org_id)
24
+
25
+ assert !response.empty?
26
+ end
27
+
28
+ def test_request_c_get_transfer_request
29
+ response = @compute.transfer_requests.get(@@transfer_request_id)
30
+
31
+ assert_equal @@transfer_request_id, response.id
32
+ end
33
+
34
+ def test_request_d_accept_transfer_request
35
+ transfer_req = @compute.transfer_requests.get(@@transfer_request_id)
36
+
37
+ response = transfer_req.accept
38
+
39
+ assert_equal true, response
40
+ end
41
+
42
+ def test_request_e_decline_transfer_request
43
+ transfer_req = @compute.transfer_requests.get(@@transfer_request_id)
44
+
45
+ response = transfer_req.decline
46
+
47
+ assert_equal true, response
48
+ end
49
+ 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_a_enable_two_factor_auth
15
+ # Perform Request
16
+ response = @compute.two_factor_auth.enable("sms")
17
+
18
+ # Assertions
19
+ assert_equal true, response
20
+ end
21
+
22
+ def test_c_disable_two_factor_auth
23
+ # Perform Request
24
+ response = @compute.two_factor_auth.disable("sms")
25
+
26
+ # Assertions
27
+ assert_equal true, response
28
+ end
29
+ end
@@ -0,0 +1,47 @@
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_a_list_users
15
+ # Perform Request
16
+ response = @compute.users.all
17
+
18
+ # Assertions
19
+ assert !response.empty?
20
+
21
+ @@user_id = response[0].id ? response[0].id : "1234"
22
+ end
23
+
24
+ def test_b_get_current_user
25
+ response = @compute.users.get
26
+ assert response
27
+ end
28
+
29
+ def test_c_get_user
30
+ response = @compute.users.get(@@user_id)
31
+
32
+ assert response
33
+ assert_equal @@user_id, response.id
34
+ end
35
+
36
+ def test_d_update_user
37
+ user = @compute.users.get(@@user_id)
38
+
39
+ user.first_name = "Jane"
40
+ user.last_name = "Doe"
41
+
42
+ response = user.update
43
+
44
+ assert_equal "Jane", response.first_name
45
+ assert_equal "Doe", response.last_name
46
+ end
47
+ end
@@ -0,0 +1,81 @@
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
+ @compute = Fog::Compute::Packet.new(:packet_token => ENV["PACKET_TOKEN"])
11
+ @project_id = "93125c2a-8b78-4d4f-a3c4-7367d6b7cca8"
12
+ end
13
+
14
+ def test_a_create_virtual_network
15
+ device = @compute.devices.create(:project_id => @project_id, :facility => "ewr1", :plan => "baremetal_0", :hostname => "test01", :operating_system => "coreos_stable")
16
+ @@device_id = device.id
17
+
18
+ device.wait_for { ready? } if Fog.mock?
19
+
20
+ response = @compute.virtual_networks.create(:project_id => @project_id, :description => "test", :facility => "ewr1", :vlan => 1, :vxlan => 1)
21
+
22
+ assert_equal "test", response.description
23
+
24
+ @@virtual_network = response
25
+ end
26
+
27
+ def test_b_list_virtual_networks
28
+ response = @compute.virtual_networks.all(@project_id)
29
+
30
+ assert !response.empty?
31
+ end
32
+
33
+ def test_d_bond_ports
34
+ response = @@virtual_network.bond(true)
35
+ assert_equal true, response
36
+ end
37
+
38
+ def test_e_disbond_ports
39
+ response = @@virtual_network.disbond(true)
40
+ assert_equal true, response
41
+ end
42
+
43
+ def test_f_assign_port
44
+ eth1 = ""
45
+ device = @compute.devices.get(@@device_id)
46
+ device.provisioning_events.each do |port|
47
+ next unless port["network_ports"]
48
+ port["network_ports"].each do |np|
49
+ eth1 = np["id"] if np["name"] == "eth1"
50
+ end
51
+ end
52
+ response = @@virtual_network.assign_port(eth1)
53
+
54
+ assert_equal true, response
55
+ end
56
+
57
+ def test_g_unassign_port
58
+ eth1 = ""
59
+ device = @compute.devices.get(@@device_id)
60
+ device.provisioning_events.each do |port|
61
+ next unless port["network_ports"]
62
+ port["network_ports"].each do |np|
63
+ eth1 = np["id"] if np["name"] == "eth1"
64
+ end
65
+ end
66
+ response = @@virtual_network.unassign_port(eth1)
67
+
68
+ assert_equal true, response
69
+ end
70
+
71
+ def test_h_delete_virtual_network
72
+ response = @@virtual_network.destroy
73
+
74
+ assert_equal true, response
75
+ end
76
+
77
+ def test_i_cleanup
78
+ device = @compute.devices.get(@@device_id)
79
+ device.destroy
80
+ end
81
+ end
@@ -0,0 +1,70 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestVolumes
4
+ class TestVolumes < 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_a_create_volume
15
+ device = @compute.devices.create(:project_id => @project_id, :facility => "ewr1", :plan => "baremetal_0", :hostname => "test01", :operating_system => "coreos_stable")
16
+
17
+ device.wait_for { ready? }
18
+ @@device_id = device.id
19
+
20
+ @@volume = @compute.volumes.create(:project_id => @project_id, :facility => "ewr1", :plan => "storage_1", :size => 20, :description => "test description", :billing_cycle => "hourly")
21
+
22
+ assert @@volume
23
+ @@volume_id = @@volume.id
24
+
25
+ @@volume.wait_for { ready? }
26
+ end
27
+
28
+ def test_b_get_volume
29
+ response = @compute.volumes.get(@@volume_id)
30
+
31
+ assert_equal @@volume_id, response.id
32
+ end
33
+
34
+ def test_c_update_volume
35
+ @@volume.size = 30
36
+
37
+ response = @@volume.update
38
+
39
+ assert_equal @@volume.size, response.size
40
+ end
41
+
42
+ def test_d_list_volumes
43
+ response = @compute.volumes.all(@project_id)
44
+
45
+ assert !response.empty?
46
+ end
47
+
48
+ def test_e_attach_volume
49
+ response = @@volume.attach(@@device_id)
50
+ @@attachment_id = response.id
51
+
52
+ assert response
53
+ end
54
+
55
+ def test_f_detach_volume
56
+ response = @@volume.detach
57
+
58
+ assert_equal true, response
59
+ end
60
+
61
+ def test_g_delete_volume
62
+ response = @@volume.destroy
63
+ assert_equal true, response
64
+ end
65
+
66
+ def test_h_cleanup
67
+ device = @compute.devices.get(@@device_id)
68
+ device.destroy
69
+ end
70
+ end