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,66 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestIps
4
+ class TestIps < 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_reserve_ip
15
+ dev = {
16
+ :hostname => "test01",
17
+ :facility => "ewr1",
18
+ :plan => "baremetal_0",
19
+ :operating_system => "coreos_stable"
20
+ }
21
+
22
+ response = @compute.create_device(@project_id, dev)
23
+
24
+ @@device_id = response.body["id"]
25
+ loop do
26
+ response = @compute.get_device(@@device_id)
27
+ break if response.body["state"] == "active"
28
+ sleep(3)
29
+ end
30
+
31
+ options = {
32
+ :facility => "ewr1",
33
+ :quantity => 2,
34
+ :type => "global_ipv4",
35
+ :comments => "test comment"
36
+ }
37
+
38
+ response = @compute.reserve_ip(@project_id, options)
39
+ @@address = response.body["address"]
40
+ @@ip_id = response.body["id"]
41
+
42
+ assert_equal 201, response.status
43
+ end
44
+
45
+ def test_request_b_get_ips
46
+ response = @compute.list_ips(@project_id)
47
+ response.body["ip_addresses"].length
48
+ assert !response.body["ip_addresses"].empty?
49
+ end
50
+
51
+ def test_request_c_assign_ip
52
+ options = {
53
+ :address => @@address
54
+ }
55
+
56
+ response = @compute.assign_ip(@@device_id, options)
57
+
58
+ assert_equal 201, response.status
59
+ end
60
+
61
+ def test_request_d_unassign_ip
62
+ response = @compute.unassign_ip(@@ip_id)
63
+
64
+ assert_equal 204, response.status
65
+ end
66
+ end
@@ -0,0 +1,56 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestLicenses
4
+ class TestLicenses < 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_license
16
+ options = {
17
+ :description => "test01",
18
+ :size => "1",
19
+ :license_product_id => "baremetal_0"
20
+ }
21
+
22
+ response = @compute.create_license(@project_id, options)
23
+
24
+ assert_equal 201, response.status
25
+ @@license_id = response.body["id"]
26
+ end
27
+
28
+ def test_request_b_list_licenses
29
+ response = @compute.list_licenses(@project_id)
30
+
31
+ assert !response.body["licenses"].empty?
32
+ end
33
+
34
+ def test_request_c_get_license
35
+ response = @compute.get_license(@@license_id)
36
+
37
+ assert_equal @@license_id, response.body["id"]
38
+ end
39
+
40
+ def test_request_d_update_license
41
+ options = {
42
+ :description => "test02",
43
+ :size => "1"
44
+ }
45
+
46
+ response = @compute.update_license(@@license_id, options)
47
+
48
+ assert_equal 200, response.status
49
+ end
50
+
51
+ def test_request_e_delete_license
52
+ response = @compute.delete_license(@@license_id)
53
+
54
+ assert_equal 204, response.status
55
+ end
56
+ end
@@ -0,0 +1,43 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestMemberships
4
+ class TestMemberships < 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_memberships
15
+ response = @compute.list_memberships(@project_id)
16
+
17
+ assert_equal 200, response.status
18
+ @@membership_id = response.body["memberships"][0]["id"]
19
+ end
20
+
21
+ def test_request_b_get_membership
22
+ response = @compute.get_membership(@@membership_id)
23
+
24
+ assert_equal @@membership_id, response.body["id"]
25
+ end
26
+
27
+ def test_request_c_update_membership
28
+ options = {
29
+ :roles => ["test02"]
30
+ }
31
+
32
+ response = @compute.update_membership(@@membership_id, options)
33
+
34
+ assert_equal 200, response.status
35
+ assert_equal @@membership_id, response.body["id"]
36
+ end
37
+
38
+ def test_request_d_delete_membership
39
+ response = @compute.delete_membership(@@membership_id)
40
+
41
+ assert_equal 204, response.status
42
+ end
43
+ end
@@ -0,0 +1,40 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestNotifications
4
+ class TestNotifications < 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_notifications
15
+ # Perform Request
16
+ response = @compute.list_notifications
17
+
18
+ # Assertions
19
+ assert !response.body["notifications"].empty?
20
+
21
+ @@notification_id = response.body["notifications"][0]["id"]
22
+ end
23
+
24
+ def test_request_b_get_notification
25
+ # Perform Request
26
+ response = @compute.get_notification(@@notification_id)
27
+
28
+ # Assertions
29
+ assert_equal response.status, 200
30
+ assert_equal @@notification_id, response.body["id"]
31
+ end
32
+
33
+ def test_request_c_update_notification
34
+ response = @compute.update_notification(@@notification_id)
35
+
36
+ assert_equal 200, response.status
37
+ assert_equal @@notification_id, response.body["id"]
38
+ assert_equal true, response.body["read"]
39
+ end
40
+ end
@@ -0,0 +1,19 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestOperatingSystems
4
+ class TestOperatingSystems < 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_operating_systems
16
+
17
+ assert !response.body["operating_systems"].empty?
18
+ end
19
+ end
@@ -0,0 +1,64 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestOrganizations
4
+ class TestOrganizations < 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_organization
15
+ options = {
16
+ :name => "test_org",
17
+ :description => "test organization"
18
+ }
19
+
20
+ # Perform Request
21
+ response = @compute.create_organization(options)
22
+
23
+ # Assertions
24
+ assert_equal response.status, 201
25
+ @@org_id = response.body["id"]
26
+ end
27
+
28
+ def test_request_b_update_organization
29
+ # Perform Request
30
+ options = {
31
+ :name => "test_org_updated",
32
+ :description => "test organization updated"
33
+ }
34
+
35
+ response = @compute.update_organization(@@org_id, options)
36
+
37
+ # Assertions
38
+ assert_equal 200, response.status
39
+ assert_equal @@org_id, response.body["id"]
40
+ assert_equal options[:name], response.body["name"]
41
+ assert_equal options[:description], response.body["description"]
42
+ end
43
+
44
+ def test_request_c_list_organizations
45
+ # Perform Request
46
+ response = @compute.list_organizations
47
+
48
+ # Assertions
49
+ assert !response.body["organizations"].empty?
50
+ end
51
+
52
+ def test_request_d_get_organization
53
+ response = @compute.get_organization(@@org_id)
54
+
55
+ assert_equal 200, response.status
56
+ assert_equal @@org_id, response.body["id"]
57
+ end
58
+
59
+ def test_request_z_delete_organization
60
+ response = @compute.delete_organization(@@org_id)
61
+
62
+ assert_equal 204, response.status
63
+ end
64
+ end
@@ -0,0 +1,60 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestPaymentMethods
4
+ class TestPaymentMethods < 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
+ @org_id = "6c17df6c-8769-4d98-b01f-f2848b6489a1"
13
+ end
14
+
15
+ def test_a_request_create_payment_method
16
+ options = {
17
+ :name => "test",
18
+ :default => "false",
19
+ :nonce => "12"
20
+ }
21
+
22
+ response = @compute.create_payment_method(@org_id, options)
23
+
24
+ assert_equal 201, response.status
25
+ @@payment_method_id = response.body["id"]
26
+ end
27
+
28
+ def test_b_request_list_payment_methods
29
+ response = @compute.list_payment_methods(@org_id)
30
+
31
+ assert !response.body["payment_methods"].empty?
32
+ end
33
+
34
+ def test_c_request_list_payment_methods
35
+ response = @compute.get_payment_method(@@payment_method_id)
36
+
37
+ assert_equal 200, response.status
38
+ end
39
+
40
+ def test_d_request_update_payment_methods
41
+ options = {
42
+ :name => "test_updated",
43
+ :expiration_month => 12,
44
+ :expiration_year => 2022
45
+ }
46
+
47
+ response = @compute.update_payment_method(@@payment_method_id, options)
48
+
49
+ assert_equal 200, response.status
50
+ assert_equal options[:name], response.body["name"]
51
+ assert_equal options[:expiration_month], response.body["expiration_month"]
52
+ assert_equal options[:expiration_year], response.body["expiration_year"]
53
+ end
54
+
55
+ def test_e_request_delete_payment_method
56
+ response = @compute.delete_payment_method(@@payment_method_id)
57
+
58
+ assert_equal 204, response.status
59
+ end
60
+ end
@@ -0,0 +1,21 @@
1
+ require_relative "../../test_helper.rb"
2
+
3
+ # TestPlans
4
+ class TestPlans < 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_plans
15
+ # Perform Request
16
+ response = @compute.list_plans
17
+
18
+ # Assertions
19
+ assert !response.body["plans"].empty?
20
+ end
21
+ end
@@ -0,0 +1,40 @@
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_request_list_projects
15
+ # Perform Request
16
+ response = @compute.list_projects
17
+
18
+ # Assertions
19
+ assert !response.body["projects"].empty?
20
+ end
21
+
22
+ def test_request_create_project
23
+ options = {
24
+ :name => "test_request_jg"
25
+ }
26
+
27
+ # Perform Request
28
+ response = @compute.create_project(options)
29
+
30
+ @@project_id = response.body["id"]
31
+ # Assertions
32
+ assert_equal response.status, 201
33
+ end
34
+
35
+ def test_request_get_project
36
+ response = @compute.get_project(@@project_id)
37
+
38
+ assert_equal response.status, 200
39
+ end
40
+ 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_request_a_list_sessions
15
+ # Perform Request
16
+ response = @compute.list_sessions
17
+
18
+ # Assertions
19
+ assert !response.body["sessions"].empty?
20
+ end
21
+
22
+ def test_request_b_session_login
23
+ response = @compute.session_login(:username => "username", :password => "password")
24
+
25
+ assert_equal 201, response.status
26
+ end
27
+
28
+ def test_request_c_delete_session
29
+ # Perform Request
30
+ response = @compute.delete_session
31
+ # Assertions
32
+ assert_equal 204, response.status
33
+ end
34
+ end