gapinc-fog 1.12.1.2.1 → 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. data/.gitignore +1 -0
  2. data/.travis.yml +16 -1
  3. data/Gemfile.1.8.7 +10 -0
  4. data/README.md +23 -2
  5. data/Rakefile +2 -2
  6. data/changelog.txt +276 -0
  7. data/fog.gemspec +4 -6
  8. data/lib/fog/atmos/models/storage/file.rb +2 -2
  9. data/lib/fog/aws/elb.rb +3 -0
  10. data/lib/fog/aws/elb/policy_types.rb +441 -430
  11. data/lib/fog/aws/models/auto_scaling/activities.rb +11 -3
  12. data/lib/fog/aws/models/auto_scaling/groups.rb +6 -3
  13. data/lib/fog/aws/models/auto_scaling/policies.rb +7 -3
  14. data/lib/fog/aws/models/compute/volume.rb +1 -1
  15. data/lib/fog/aws/models/elb/backend_server_description.rb +11 -0
  16. data/lib/fog/aws/models/elb/backend_server_descriptions.rb +22 -0
  17. data/lib/fog/aws/models/elb/load_balancer.rb +15 -2
  18. data/lib/fog/aws/models/elb/policies.rb +28 -13
  19. data/lib/fog/aws/models/elb/policy.rb +20 -10
  20. data/lib/fog/aws/models/rds/instance_option.rb +21 -0
  21. data/lib/fog/aws/models/rds/instance_options.rb +30 -0
  22. data/lib/fog/aws/models/rds/log_file.rb +26 -0
  23. data/lib/fog/aws/models/rds/log_files.rb +50 -0
  24. data/lib/fog/aws/models/rds/server.rb +1 -0
  25. data/lib/fog/aws/models/rds/snapshots.rb +20 -13
  26. data/lib/fog/aws/parsers/auto_scaling/describe_policies.rb +5 -5
  27. data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +44 -13
  28. data/lib/fog/aws/parsers/rds/db_parser.rb +28 -6
  29. data/lib/fog/aws/parsers/rds/describe_db_log_files.rb +44 -0
  30. data/lib/fog/aws/parsers/rds/describe_orderable_db_instance_options.rb +47 -0
  31. data/lib/fog/aws/parsers/rds/download_db_logfile_portion.rb +26 -0
  32. data/lib/fog/aws/parsers/storage/complete_multipart_upload.rb +1 -1
  33. data/lib/fog/aws/parsers/sts/assume_role.rb +30 -0
  34. data/lib/fog/aws/rds.rb +13 -0
  35. data/lib/fog/aws/requests/auto_scaling/describe_auto_scaling_groups.rb +9 -1
  36. data/lib/fog/aws/requests/auto_scaling/describe_policies.rb +15 -1
  37. data/lib/fog/aws/requests/elb/create_app_cookie_stickiness_policy.rb +0 -2
  38. data/lib/fog/aws/requests/elb/create_lb_cookie_stickiness_policy.rb +0 -2
  39. data/lib/fog/aws/requests/elb/create_load_balancer.rb +7 -0
  40. data/lib/fog/aws/requests/elb/create_load_balancer_policy.rb +11 -8
  41. data/lib/fog/aws/requests/elb/describe_load_balancers.rb +21 -1
  42. data/lib/fog/aws/requests/elb/set_load_balancer_policies_for_backend_server.rb +67 -0
  43. data/lib/fog/aws/requests/rds/describe_db_log_files.rb +67 -0
  44. data/lib/fog/aws/requests/rds/describe_orderable_db_instance_options.rb +76 -0
  45. data/lib/fog/aws/requests/rds/download_db_logfile_portion.rb +63 -0
  46. data/lib/fog/aws/requests/ses/send_raw_email.rb +1 -1
  47. data/lib/fog/aws/requests/ses/verify_domain_identity.rb +1 -1
  48. data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +6 -2
  49. data/lib/fog/aws/requests/storage/get_object.rb +1 -1
  50. data/lib/fog/aws/requests/sts/assume_role.rb +46 -0
  51. data/lib/fog/aws/ses.rb +25 -9
  52. data/lib/fog/aws/sts.rb +22 -6
  53. data/lib/fog/bin/openstack.rb +5 -0
  54. data/lib/fog/bin/rackspace.rb +4 -0
  55. data/lib/fog/brightbox/models/compute/collaboration.rb +10 -2
  56. data/lib/fog/brightbox/models/compute/collaborations.rb +26 -2
  57. data/lib/fog/brightbox/models/compute/user_collaboration.rb +16 -1
  58. data/lib/fog/brightbox/models/compute/user_collaborations.rb +10 -2
  59. data/lib/fog/cloudstack/models/compute/servers.rb +1 -1
  60. data/lib/fog/compute/models/server.rb +16 -10
  61. data/lib/fog/core.rb +1 -0
  62. data/lib/fog/core/collection.rb +18 -0
  63. data/lib/fog/core/mock.rb +16 -0
  64. data/lib/fog/digitalocean/compute.rb +32 -3
  65. data/lib/fog/digitalocean/models/compute/server.rb +43 -14
  66. data/lib/fog/digitalocean/models/compute/servers.rb +27 -4
  67. data/lib/fog/digitalocean/models/compute/ssh_keys.rb +2 -3
  68. data/lib/fog/digitalocean/requests/compute/create_server.rb +9 -7
  69. data/lib/fog/digitalocean/requests/compute/destroy_server.rb +3 -0
  70. data/lib/fog/digitalocean/requests/compute/list_images.rb +6 -6
  71. data/lib/fog/dnsimple/dns.rb +4 -1
  72. data/lib/fog/dnsimple/models/dns/record.rb +3 -3
  73. data/lib/fog/dnsimple/requests/dns/create_domain.rb +36 -0
  74. data/lib/fog/dnsimple/requests/dns/create_record.rb +27 -0
  75. data/lib/fog/dnsimple/requests/dns/delete_domain.rb +12 -0
  76. data/lib/fog/dnsimple/requests/dns/delete_record.rb +12 -0
  77. data/lib/fog/dnsimple/requests/dns/get_domain.rb +12 -0
  78. data/lib/fog/dnsimple/requests/dns/get_record.rb +24 -0
  79. data/lib/fog/dnsimple/requests/dns/list_domains.rb +12 -0
  80. data/lib/fog/dnsimple/requests/dns/list_records.rb +12 -0
  81. data/lib/fog/dnsimple/requests/dns/update_record.rb +20 -0
  82. data/lib/fog/glesys/models/compute/server.rb +6 -0
  83. data/lib/fog/google/README.md +28 -0
  84. data/lib/fog/google/Rakefile +17 -0
  85. data/lib/fog/google/examples/bootstrap.rb +9 -0
  86. data/lib/fog/google/examples/create.rb +37 -0
  87. data/lib/fog/google/examples/eric-fail.rb +19 -0
  88. data/lib/fog/google/examples/get_list_images.rb +27 -0
  89. data/lib/fog/google/examples/launch_micro_instance.rb +21 -0
  90. data/lib/fog/google/examples/metadata.rb +18 -0
  91. data/lib/fog/google/models/compute/disks.rb +16 -6
  92. data/lib/fog/google/models/compute/flavors.rb +2 -1
  93. data/lib/fog/google/models/compute/image.rb +16 -17
  94. data/lib/fog/google/models/compute/images.rb +38 -5
  95. data/lib/fog/google/models/compute/server.rb +2 -2
  96. data/lib/fog/google/models/compute/servers.rb +8 -5
  97. data/lib/fog/google/models/storage/file.rb +7 -1
  98. data/lib/fog/google/parsers/storage/access_control_list.rb +2 -2
  99. data/lib/fog/google/requests/compute/insert_server.rb +1 -2
  100. data/lib/fog/google/requests/compute/list_images.rb +3 -2
  101. data/lib/fog/google/requests/storage/get_object.rb +1 -1
  102. data/lib/fog/hp/requests/storage/get_object.rb +1 -1
  103. data/lib/fog/ibm/requests/compute/create_instance.rb +20 -15
  104. data/lib/fog/internet_archive/requests/storage/get_object.rb +1 -1
  105. data/lib/fog/metering.rb +25 -0
  106. data/lib/fog/openstack.rb +2 -1
  107. data/lib/fog/openstack/metering.rb +215 -0
  108. data/lib/fog/openstack/models/compute/server.rb +5 -2
  109. data/lib/fog/openstack/models/metering/resource.rb +24 -0
  110. data/lib/fog/openstack/models/metering/resources.rb +25 -0
  111. data/lib/fog/openstack/models/volume/volume.rb +3 -1
  112. data/lib/fog/openstack/models/volume/volumes.rb +2 -1
  113. data/lib/fog/openstack/network.rb +24 -1
  114. data/lib/fog/openstack/requests/compute/create_server.rb +19 -1
  115. data/lib/fog/openstack/requests/compute/get_host_details.rb +2 -1
  116. data/lib/fog/openstack/requests/metering/get_resource.rb +32 -0
  117. data/lib/fog/openstack/requests/metering/get_samples.rb +55 -0
  118. data/lib/fog/openstack/requests/metering/get_statistics.rb +56 -0
  119. data/lib/fog/openstack/requests/metering/list_meters.rb +50 -0
  120. data/lib/fog/openstack/requests/metering/list_resources.rb +32 -0
  121. data/lib/fog/openstack/requests/network/delete_quota.rb +26 -0
  122. data/lib/fog/openstack/requests/network/get_quota.rb +31 -0
  123. data/lib/fog/openstack/requests/network/get_quotas.rb +31 -0
  124. data/lib/fog/openstack/requests/network/update_quota.rb +33 -0
  125. data/lib/fog/openstack/requests/storage/put_object.rb +8 -5
  126. data/lib/fog/openstack/requests/volume/create_volume.rb +4 -2
  127. data/lib/fog/rackspace.rb +24 -4
  128. data/lib/fog/rackspace/block_storage.rb +8 -4
  129. data/lib/fog/rackspace/cdn.rb +21 -4
  130. data/lib/fog/rackspace/compute_v2.rb +15 -4
  131. data/lib/fog/rackspace/errors.rb +12 -5
  132. data/lib/fog/rackspace/mock_data.rb +18 -7
  133. data/lib/fog/rackspace/models/compute_v2/key_pair.rb +56 -0
  134. data/lib/fog/rackspace/models/compute_v2/key_pairs.rb +43 -0
  135. data/lib/fog/rackspace/models/compute_v2/server.rb +7 -2
  136. data/lib/fog/rackspace/models/compute_v2/servers.rb +2 -1
  137. data/lib/fog/rackspace/models/identity/service_catalog.rb +34 -16
  138. data/lib/fog/rackspace/models/monitoring/agent_token.rb +40 -0
  139. data/lib/fog/rackspace/models/monitoring/agent_tokens.rb +28 -0
  140. data/lib/fog/rackspace/models/monitoring/alarm.rb +51 -0
  141. data/lib/fog/rackspace/models/monitoring/alarm_example.rb +26 -0
  142. data/lib/fog/rackspace/models/monitoring/alarm_examples.rb +31 -0
  143. data/lib/fog/rackspace/models/monitoring/alarms.rb +40 -0
  144. data/lib/fog/rackspace/models/monitoring/base.rb +36 -0
  145. data/lib/fog/rackspace/models/monitoring/check.rb +75 -0
  146. data/lib/fog/rackspace/models/monitoring/check_type.rb +15 -0
  147. data/lib/fog/rackspace/models/monitoring/check_types.rb +23 -0
  148. data/lib/fog/rackspace/models/monitoring/checks.rb +40 -0
  149. data/lib/fog/rackspace/models/monitoring/data_point.rb +18 -0
  150. data/lib/fog/rackspace/models/monitoring/data_points.rb +49 -0
  151. data/lib/fog/rackspace/models/monitoring/entities.rb +48 -0
  152. data/lib/fog/rackspace/models/monitoring/entity.rb +64 -0
  153. data/lib/fog/rackspace/models/monitoring/metric.rb +25 -0
  154. data/lib/fog/rackspace/models/monitoring/metrics.rb +27 -0
  155. data/lib/fog/rackspace/monitoring.rb +149 -0
  156. data/lib/fog/rackspace/requests/compute_v2/create_keypair.rb +53 -0
  157. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +10 -8
  158. data/lib/fog/rackspace/requests/compute_v2/delete_keypair.rb +36 -0
  159. data/lib/fog/rackspace/requests/compute_v2/get_keypair.rb +41 -0
  160. data/lib/fog/rackspace/requests/compute_v2/list_keypairs.rb +37 -0
  161. data/lib/fog/rackspace/requests/monitoring/create_agent_token.rb +19 -0
  162. data/lib/fog/rackspace/requests/monitoring/create_alarm.rb +19 -0
  163. data/lib/fog/rackspace/requests/monitoring/create_check.rb +19 -0
  164. data/lib/fog/rackspace/requests/monitoring/create_entity.rb +19 -0
  165. data/lib/fog/rackspace/requests/monitoring/delete_agent_token.rb +17 -0
  166. data/lib/fog/rackspace/requests/monitoring/delete_alarm.rb +18 -0
  167. data/lib/fog/rackspace/requests/monitoring/delete_check.rb +17 -0
  168. data/lib/fog/rackspace/requests/monitoring/delete_entity.rb +17 -0
  169. data/lib/fog/rackspace/requests/monitoring/evaluate_alarm_example.rb +21 -0
  170. data/lib/fog/rackspace/requests/monitoring/get_agent_token.rb +19 -0
  171. data/lib/fog/rackspace/requests/monitoring/get_alarm.rb +19 -0
  172. data/lib/fog/rackspace/requests/monitoring/get_alarm_example.rb +19 -0
  173. data/lib/fog/rackspace/requests/monitoring/get_check.rb +19 -0
  174. data/lib/fog/rackspace/requests/monitoring/get_entity.rb +19 -0
  175. data/lib/fog/rackspace/requests/monitoring/list_agent_tokens.rb +19 -0
  176. data/lib/fog/rackspace/requests/monitoring/list_alarm_examples.rb +18 -0
  177. data/lib/fog/rackspace/requests/monitoring/list_alarms.rb +18 -0
  178. data/lib/fog/rackspace/requests/monitoring/list_check_types.rb +17 -0
  179. data/lib/fog/rackspace/requests/monitoring/list_checks.rb +18 -0
  180. data/lib/fog/rackspace/requests/monitoring/list_data_points.rb +18 -0
  181. data/lib/fog/rackspace/requests/monitoring/list_entities.rb +19 -0
  182. data/lib/fog/rackspace/requests/monitoring/list_metrics.rb +18 -0
  183. data/lib/fog/rackspace/requests/monitoring/list_notification_plans.rb +18 -0
  184. data/lib/fog/rackspace/requests/monitoring/list_overview.rb +19 -0
  185. data/lib/fog/rackspace/requests/monitoring/update_alarm.rb +18 -0
  186. data/lib/fog/rackspace/requests/monitoring/update_check.rb +18 -0
  187. data/lib/fog/rackspace/requests/monitoring/update_entity.rb +18 -0
  188. data/lib/fog/rackspace/requests/storage/delete_multiple_objects.rb +75 -0
  189. data/lib/fog/rackspace/requests/storage/delete_static_large_object.rb +50 -0
  190. data/lib/fog/rackspace/requests/storage/put_dynamic_obj_manifest.rb +44 -0
  191. data/lib/fog/rackspace/requests/storage/put_object.rb +1 -1
  192. data/lib/fog/rackspace/requests/storage/put_object_manifest.rb +3 -30
  193. data/lib/fog/rackspace/requests/storage/put_static_obj_manifest.rb +60 -0
  194. data/lib/fog/rackspace/storage.rb +24 -16
  195. data/lib/fog/riakcs/provisioning.rb +2 -1
  196. data/lib/fog/riakcs/usage.rb +2 -1
  197. data/lib/fog/vcloud/compute.rb +1 -1
  198. data/lib/fog/vcloud/requests/compute/configure_vm.rb +2 -2
  199. data/lib/fog/version.rb +1 -1
  200. data/lib/fog/vsphere/compute.rb +131 -0
  201. data/lib/fog/vsphere/models/compute/server.rb +5 -1
  202. data/lib/fog/vsphere/requests/compute/get_datacenter.rb +3 -1
  203. data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +20 -38
  204. data/lib/fog/vsphere/requests/compute/list_datacenters.rb +1 -0
  205. data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +8 -114
  206. data/lib/fog/vsphere/requests/compute/vm_clone.rb +18 -9
  207. data/lib/fog/vsphere/requests/compute/vm_power_off.rb +2 -0
  208. data/lib/fog/xenserver/compute.rb +14 -12
  209. data/lib/fog/xenserver/models/compute/console.rb +27 -0
  210. data/lib/fog/xenserver/models/compute/consoles.rb +25 -0
  211. data/lib/fog/xenserver/models/compute/server.rb +6 -2
  212. data/lib/fog/xenserver/models/compute/servers.rb +5 -0
  213. data/lib/fog/xenserver/requests/compute/create_server.rb +4 -0
  214. data/lib/fog/xml/sax_parser_connection.rb +3 -0
  215. data/lib/tasks/changelog_task.rb +2 -0
  216. data/tests/aws/models/compute/volume_tests.rb +1 -1
  217. data/tests/aws/models/elb/model_tests.rb +28 -1
  218. data/tests/aws/models/rds/instance_option_tests.rb +14 -0
  219. data/tests/aws/parsers/elb/describe_load_balancers.rb +65 -0
  220. data/tests/aws/requests/elb/helper.rb +2 -1
  221. data/tests/aws/requests/elb/listener_tests.rb +1 -1
  222. data/tests/aws/requests/elb/load_balancer_tests.rb +5 -1
  223. data/tests/aws/requests/elb/policy_tests.rb +85 -6
  224. data/tests/aws/requests/iam/helper.rb +4 -1
  225. data/tests/aws/requests/iam/server_certificate_tests.rb +2 -2
  226. data/tests/aws/requests/rds/helper.rb +35 -0
  227. data/tests/aws/requests/rds/instance_option_tests.rb +21 -0
  228. data/tests/aws/requests/rds/log_file_tests.rb +19 -0
  229. data/tests/aws/requests/sts/assume_role_tests.rb +19 -0
  230. data/tests/core/mocking_tests.rb +15 -0
  231. data/tests/digitalocean/helper.rb +23 -16
  232. data/tests/digitalocean/models/compute/flavor_tests.rb +2 -2
  233. data/tests/digitalocean/models/compute/image_tests.rb +2 -2
  234. data/tests/digitalocean/models/compute/region_tests.rb +2 -2
  235. data/tests/digitalocean/models/compute/server_tests.rb +11 -3
  236. data/tests/digitalocean/models/compute/servers_tests.rb +14 -28
  237. data/tests/digitalocean/models/compute/ssh_key_tests.rb +7 -3
  238. data/tests/digitalocean/models/compute/ssh_keys_tests.rb +5 -1
  239. data/tests/digitalocean/requests/compute/create_server_tests.rb +3 -6
  240. data/tests/digitalocean/requests/compute/destroy_server_tests.rb +1 -2
  241. data/tests/digitalocean/requests/compute/get_server_details_tests.rb +1 -1
  242. data/tests/digitalocean/requests/compute/get_ssh_key_tests.rb +4 -1
  243. data/tests/digitalocean/requests/compute/list_ssh_keys_tests.rb +5 -2
  244. data/tests/dnsimple/requests/dns/dns_tests.rb +30 -26
  245. data/tests/helper.rb +2 -2
  246. data/tests/helpers/collection_helper.rb +4 -4
  247. data/tests/helpers/mock_helper.rb +2 -0
  248. data/tests/openstack/requests/metering/meter_tests.rb +52 -0
  249. data/tests/openstack/requests/metering/resource_tests.rb +19 -0
  250. data/tests/openstack/requests/network/quota_tests.rb +65 -0
  251. data/tests/openstack/requests/storage/object_tests.rb +27 -2
  252. data/tests/rackspace/block_storage_tests.rb +2 -1
  253. data/tests/rackspace/cdn_tests.rb +9 -0
  254. data/tests/rackspace/compute_v2_tests.rb +16 -15
  255. data/tests/rackspace/databases_tests.rb +1 -1
  256. data/tests/rackspace/load_balancer_tests.rb +1 -1
  257. data/tests/rackspace/models/compute_v2/keypairs_tests.rb +47 -0
  258. data/tests/rackspace/models/identity/service_catalog_tests.rb +54 -29
  259. data/tests/rackspace/models/monitoring/agent_token_tests.rb +9 -0
  260. data/tests/rackspace/models/monitoring/agent_tokens_tests.rb +9 -0
  261. data/tests/rackspace/models/monitoring/alarm_example_tests.rb +18 -0
  262. data/tests/rackspace/models/monitoring/alarm_examples_tests.rb +19 -0
  263. data/tests/rackspace/models/monitoring/alarm_tests.rb +56 -0
  264. data/tests/rackspace/models/monitoring/alarms_tests.rb +25 -0
  265. data/tests/rackspace/models/monitoring/check_tests.rb +50 -0
  266. data/tests/rackspace/models/monitoring/check_types_tests.rb +14 -0
  267. data/tests/rackspace/models/monitoring/checks_tests.rb +16 -0
  268. data/tests/rackspace/models/monitoring/data_points_tests.rb +19 -0
  269. data/tests/rackspace/models/monitoring/entities_tests.rb +14 -0
  270. data/tests/rackspace/models/monitoring/entity_tests.rb +26 -0
  271. data/tests/rackspace/models/monitoring/metric_tests.rb +19 -0
  272. data/tests/rackspace/models/monitoring/metrics_tests.rb +17 -0
  273. data/tests/rackspace/monitoring_tests.rb +72 -0
  274. data/tests/rackspace/requests/compute_v2/keypair_tests.rb +55 -0
  275. data/tests/rackspace/requests/monitoring/agent_tests.rb +34 -0
  276. data/tests/rackspace/requests/monitoring/alarm_example_tests.rb +30 -0
  277. data/tests/rackspace/requests/monitoring/alarm_tests.rb +56 -0
  278. data/tests/rackspace/requests/monitoring/check_tests.rb +40 -0
  279. data/tests/rackspace/requests/monitoring/entity_tests.rb +37 -0
  280. data/tests/rackspace/requests/monitoring/helper.rb +78 -0
  281. data/tests/rackspace/requests/monitoring/list_tests.rb +60 -0
  282. data/tests/rackspace/requests/storage/large_object_tests.rb +303 -59
  283. data/tests/rackspace/requests/storage/object_tests.rb +73 -18
  284. data/tests/vsphere/models/compute/server_tests.rb +1 -1
  285. data/tests/vsphere/requests/compute/list_virtual_machines_tests.rb +2 -2
  286. data/tests/vsphere/requests/compute/vm_clone_tests.rb +14 -8
  287. data/tests/xenserver/compute_tests.rb +5 -5
  288. data/tests/xenserver/models/compute/console_test.rb +35 -0
  289. data/tests/xenserver/models/compute/consoles_test.rb +19 -0
  290. data/tests/xenserver/models/compute/server_tests.rb +25 -18
  291. data/tests/xenserver/models/compute/servers_tests.rb +1 -0
  292. metadata +177 -14
@@ -1,13 +1,11 @@
1
1
  Shindo.tests('Fog::DNS[:dnsimple] | DNS requests', ['dnsimple', 'dns']) do
2
2
 
3
- @domain = ''
3
+ @domain = nil
4
4
  @domain_count = 0
5
5
 
6
6
  tests("success") do
7
7
 
8
8
  test("get current domain count") do
9
- pending if Fog.mocking?
10
-
11
9
  response = Fog::DNS[:dnsimple].list_domains()
12
10
  if response.status == 200
13
11
  @domain_count = response.body.size
@@ -17,8 +15,6 @@ Shindo.tests('Fog::DNS[:dnsimple] | DNS requests', ['dnsimple', 'dns']) do
17
15
  end
18
16
 
19
17
  test("create domain") do
20
- pending if Fog.mocking?
21
-
22
18
  domain = generate_unique_domain
23
19
  response = Fog::DNS[:dnsimple].create_domain(domain)
24
20
  if response.status == 201
@@ -29,15 +25,11 @@ Shindo.tests('Fog::DNS[:dnsimple] | DNS requests', ['dnsimple', 'dns']) do
29
25
  end
30
26
 
31
27
  test("get domain by id") do
32
- pending if Fog.mocking?
33
-
34
28
  response = Fog::DNS[:dnsimple].get_domain(@domain["id"])
35
29
  response.status == 200
36
30
  end
37
31
 
38
32
  test("create an A resource record") do
39
- pending if Fog.mocking?
40
-
41
33
  domain = @domain["name"]
42
34
  name = "www"
43
35
  type = "A"
@@ -53,48 +45,65 @@ Shindo.tests('Fog::DNS[:dnsimple] | DNS requests', ['dnsimple', 'dns']) do
53
45
  end
54
46
 
55
47
  test("create a MX record") do
56
- pending if Fog.mocking?
57
-
58
48
  domain = @domain["name"]
59
49
  name = ""
60
50
  type = "MX"
61
51
  content = "mail.#{domain}"
62
- options = { :ttl => 60, :prio => 10 }
52
+ options = { "ttl" => 60, "prio" => 10 }
63
53
  response = Fog::DNS[:dnsimple].create_record(domain, name, type, content, options)
64
54
 
65
- response.status == 201
55
+ test "MX record creation returns 201" do
56
+ response.status == 201
57
+ end
58
+
59
+ options.each do |key, value|
60
+ test("MX record has option #{key}") { value == response.body["record"][key.to_s] }
61
+ end
62
+
63
+ test "MX record is correct type" do
64
+ response.body["record"]["record_type"] == "MX"
65
+ end
66
66
  end
67
67
 
68
- test("update a record") do
69
- pending if Fog.mocking?
68
+ test("get a record") do
69
+ domain = @domain["name"]
70
+ record_id = @record["id"]
71
+
72
+ response = Fog::DNS[:dnsimple].get_record(domain, record_id)
73
+
74
+ (response.status == 200) and (@record == response.body["record"])
75
+ end
70
76
 
77
+ test("update a record") do
71
78
  domain = @domain["name"]
72
79
  record_id = @record["id"]
73
- options = { :content => "2.3.4.5", :ttl => 600 }
80
+ options = { "content" => "2.3.4.5", "ttl" => 600 }
74
81
  response = Fog::DNS[:dnsimple].update_record(domain, record_id, options)
75
82
  response.status == 200
76
83
  end
77
84
 
78
85
  test("list records") do
79
- pending if Fog.mocking?
80
-
81
86
  response = Fog::DNS[:dnsimple].list_records(@domain["name"])
82
87
 
83
88
  if response.status == 200
84
89
  @records = response.body
85
90
  end
86
91
 
87
- (response.status == 200) and (response.body.size == 2)
92
+ test "list records returns all records for domain" do
93
+ @records.reject { |record| record["record"]["system_record"] }.size == 2
94
+ end
95
+
96
+ response.status == 200
88
97
  end
89
98
 
90
99
  test("delete records") do
91
- pending if Fog.mocking?
92
100
  domain = @domain["name"]
93
101
 
94
102
  result = true
95
103
  @records.each do |record|
104
+ next if record["record"]["system_record"]
96
105
  response = Fog::DNS[:dnsimple].delete_record(domain, record["record"]["id"])
97
- if(response.status != 200)
106
+ if response.status != 200
98
107
  result = false
99
108
  break
100
109
  end
@@ -104,15 +113,10 @@ Shindo.tests('Fog::DNS[:dnsimple] | DNS requests', ['dnsimple', 'dns']) do
104
113
  end
105
114
 
106
115
  test("delete domain") do
107
- pending if Fog.mocking?
108
-
109
116
  response = Fog::DNS[:dnsimple].delete_domain(@domain["name"])
110
117
  response.status == 200
111
118
  end
112
119
 
113
120
  end
114
121
 
115
- tests( 'failure') do
116
- end
117
-
118
122
  end
@@ -1,7 +1,7 @@
1
1
  require 'simplecov'
2
- require 'coveralls'
3
2
 
4
- unless ENV['COVERAGE'] == 'false'
3
+ if ENV['COVERAGE'] != 'false' && RUBY_VERSION != "1.9.2"
4
+ require 'coveralls'
5
5
  SimpleCov.command_name "shindo:#{Process.pid.to_s}"
6
6
  SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
7
7
  SimpleCov::Formatter::HTMLFormatter,
@@ -21,8 +21,8 @@ def collection_tests(collection, params = {}, mocks_implemented = true)
21
21
  pending if Fog.mocking? && !mocks_implemented
22
22
  collection.all
23
23
  end
24
-
25
-
24
+
25
+
26
26
 
27
27
  if !Fog.mocking? || mocks_implemented
28
28
  @identity = @instance.identity
@@ -37,7 +37,7 @@ def collection_tests(collection, params = {}, mocks_implemented = true)
37
37
  pending if Fog.mocking? && !mocks_implemented
38
38
 
39
39
  [
40
- 'all?', 'any?', 'find', 'detect', 'collect', 'map',
40
+ 'all?', 'any?', 'find', 'detect', 'collect', 'map',
41
41
  'find_index', 'flat_map', 'collect_concat', 'group_by',
42
42
  'none?', 'one?'
43
43
  ].each do |enum_method|
@@ -74,7 +74,7 @@ def collection_tests(collection, params = {}, mocks_implemented = true)
74
74
  @instance.destroy
75
75
  end
76
76
  end
77
-
77
+
78
78
  tests('failure') do
79
79
 
80
80
  if !Fog.mocking? || mocks_implemented
@@ -28,6 +28,8 @@ if Fog.mock?
28
28
  :cloudstack_zone_id => 'c554c592-e09c-9df5-7688-4a32754a4305',
29
29
  :clodo_api_key => 'clodo_api_key',
30
30
  :clodo_username => 'clodo_username',
31
+ :digitalocean_api_key => 'digitalocean_api_key',
32
+ :digitalocean_client_id => 'digitalocean_client_id',
31
33
  :dnsimple_email => 'dnsimple_email',
32
34
  :dnsimple_password => 'dnsimple_password',
33
35
  :dnsmadeeasy_api_key => 'dnsmadeeasy_api_key',
@@ -0,0 +1,52 @@
1
+ Shindo.tests('Fog::Metering[:openstack] | meter requests', ['openstack']) do
2
+
3
+ @sample_format = {
4
+ 'counter_name' => String,
5
+ 'user_id' => String,
6
+ 'resource_id' => String,
7
+ 'timestamp' => String,
8
+ 'resource_metadata' => Hash,
9
+ 'source' => String,
10
+ 'counter_unit' => String,
11
+ 'counter_volume' => Float,
12
+ 'project_id' => String,
13
+ 'message_id' => String,
14
+ 'counter_type' => String
15
+ }
16
+
17
+ @meter_format = {
18
+ 'user_id' => String,
19
+ 'name' => String,
20
+ 'resource_id' => String,
21
+ 'project_id' => String,
22
+ 'type' => String,
23
+ 'unit' => String
24
+ }
25
+
26
+ @statistics_format = {
27
+ 'count' => Integer,
28
+ 'duration_start' => String,
29
+ 'min' => Float,
30
+ 'max' => Float,
31
+ 'duration_end' => String,
32
+ 'period' => Integer,
33
+ 'period_end' => String,
34
+ 'duration' => Float,
35
+ 'period_start' => String,
36
+ 'avg' => Float,
37
+ 'sum' => Float
38
+ }
39
+ tests('success') do
40
+ tests('#list_meters').formats([@meter_format]) do
41
+ Fog::Metering[:openstack].list_meters.body
42
+ end
43
+
44
+ tests('#get_samples').formats([@sample_format]) do
45
+ Fog::Metering[:openstack].get_samples('test').body
46
+ end
47
+
48
+ tests('#get_statistics').formats([@statistics_format]) do
49
+ Fog::Metering[:openstack].get_statistics('test').body
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,19 @@
1
+ Shindo.tests('Fog::Metering[:openstack] | resource requests', ['openstack']) do
2
+
3
+ @resource_format = {
4
+ 'resource_id' => String,
5
+ 'project_id' => String,
6
+ 'user_id' => String,
7
+ 'metadata' => Hash,
8
+ }
9
+
10
+ tests('success') do
11
+ tests('#list_resource').formats([@resource_format]) do
12
+ Fog::Metering[:openstack].list_resources.body
13
+ end
14
+
15
+ tests('#get_resource').formats(@resource_format) do
16
+ Fog::Metering[:openstack].get_resource('test').body
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,65 @@
1
+ Shindo.tests('Fog::Network[:openstack] | quota requests', ['openstack']) do
2
+
3
+ @tenant_id = Fog::Compute[:openstack].list_tenants.body['tenants'].first['id']
4
+ @quota_format = {
5
+ 'subnet' => Fog::Nullable::Integer,
6
+ 'router' => Fog::Nullable::Integer,
7
+ 'port' => Fog::Nullable::Integer,
8
+ 'network' => Fog::Nullable::Integer,
9
+ 'floatingip' => Fog::Nullable::Integer
10
+ }
11
+
12
+ @quotas_format = [{
13
+ 'subnet' => Fog::Nullable::Integer,
14
+ 'router' => Fog::Nullable::Integer,
15
+ 'port' => Fog::Nullable::Integer,
16
+ 'network' => Fog::Nullable::Integer,
17
+ 'floatingip' => Fog::Nullable::Integer,
18
+ 'tenant_id' => Fog::Nullable::String
19
+ }]
20
+
21
+ tests('success') do
22
+
23
+ tests('#get_quotas').formats({ 'quotas' => @quotas_format }) do
24
+ Fog::Network[:openstack].get_quotas.body
25
+ end
26
+
27
+ tests('#get_quota').formats(@quota_format) do
28
+ @quota = Fog::Network[:openstack].get_quota(@tenant_id).body['quota']
29
+ end
30
+
31
+ tests('#update_quota') do
32
+
33
+ new_values = @quota.merge({
34
+ 'volumes' => @quota['subnet']/2,
35
+ 'snapshots' => @quota['router']/2
36
+ })
37
+
38
+ succeeds do
39
+ Fog::Network[:openstack].update_quota(@tenant_id, new_values.clone)
40
+ end
41
+
42
+ returns(new_values, 'returns new values') do
43
+ Fog::Network[:openstack].get_quota(@tenant_id).body['quota']
44
+ end
45
+
46
+ # set quota back to old values
47
+ succeeds do
48
+ Fog::Network[:openstack].update_quota(@tenant_id, @quota.clone)
49
+ end
50
+
51
+ # ensure old values are restored
52
+ returns(@quota, 'old values restored') do
53
+ Fog::Network[:openstack].get_quota(@tenant_id).body['quota']
54
+ end
55
+
56
+ end
57
+
58
+ tests('#delete_quota') do
59
+ succeeds do
60
+ Fog::Network[:openstack].delete_quota(@tenant_id)
61
+ end
62
+ end
63
+
64
+ end
65
+ end
@@ -17,9 +17,9 @@ Shindo.tests('Fog::Storage[:openstack] | object requests', ["openstack"]) do
17
17
  Fog::Storage[:openstack].put_object('fogobjecttests', 'fog_object', lorem_file)
18
18
  end
19
19
 
20
- tests("#get_object('fogobjectests', 'fog_object')").succeeds do
20
+ tests("#get_object('fogobjectests', 'fog_object')").returns(lorem_file.read) do
21
21
  pending if Fog.mocking?
22
- Fog::Storage[:openstack].get_object('fogobjecttests', 'fog_object')
22
+ Fog::Storage[:openstack].get_object('fogobjecttests', 'fog_object').body
23
23
  end
24
24
 
25
25
  tests("#get_object('fogobjecttests', 'fog_object', &block)").returns(lorem_file.read) do
@@ -41,6 +41,31 @@ Shindo.tests('Fog::Storage[:openstack] | object requests', ["openstack"]) do
41
41
  Fog::Storage[:openstack].delete_object('fogobjecttests', 'fog_object')
42
42
  end
43
43
 
44
+ tests("put_object with block") do
45
+ pending if Fog.mocking?
46
+
47
+ tests("#put_object('fogobjecttests', 'fog_object', &block)").succeeds do
48
+ begin
49
+ file = lorem_file
50
+ buffer_size = file.stat.size / 2 # chop it up into two buffers
51
+ Fog::Storage[:openstack].put_object('fogobjecttests', 'fog_block_object', nil) do
52
+ file.read(buffer_size).to_s
53
+ end
54
+ ensure
55
+ file.close
56
+ end
57
+ end
58
+
59
+ tests('#get_object').succeeds do
60
+ Fog::Storage[:openstack].get_object('fogobjecttests', 'fog_block_object').body == lorem_file.read
61
+ end
62
+
63
+ tests('#delete_object').succeeds do
64
+ Fog::Storage[:openstack].delete_object('fogobjecttests', 'fog_block_object')
65
+ end
66
+ end
67
+
68
+
44
69
  end
45
70
 
46
71
  tests('failure') do
@@ -85,7 +85,8 @@ Shindo.tests('Fog::Rackspace::BlockStorage', ['rackspace']) do
85
85
  @service.list_volumes
86
86
  end
87
87
  tests('specify old contstant style service endoint').succeeds do
88
- @service = Fog::Rackspace::BlockStorage.new :rackspace_endpoint => Fog::Rackspace::BlockStorage::ORD_ENDPOINT
88
+ @service = Fog::Rackspace::BlockStorage.new :rackspace_endpoint => Fog::Rackspace::BlockStorage::ORD_ENDPOINT
89
+ returns(true) { (@service.instance_variable_get("@uri").to_s =~ /#{Fog::Rackspace::BlockStorage::ORD_ENDPOINT}/ ) != nil }
89
90
  @service.list_volumes
90
91
  end
91
92
  tests('specify region') do
@@ -96,6 +96,15 @@ Shindo.tests('Fog::CDN::Rackspace', ['rackspace']) do
96
96
  end
97
97
  end
98
98
 
99
+ tests('reauthentication') do
100
+ pending if Fog.mocking?
101
+
102
+ @service = Fog::CDN::Rackspace.new
103
+ returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
104
+ @service.instance_variable_set("@auth_token", "bad-token")
105
+ returns(204) { @service.head_containers.status }
106
+ end
107
+
99
108
  pending if Fog.mocking?
100
109
 
101
110
  def container_meta_attributes
@@ -1,5 +1,5 @@
1
1
  Shindo.tests('Fog::Compute::RackspaceV2', ['rackspace']) do
2
-
2
+
3
3
  def assert_method(url, method)
4
4
  @service.instance_variable_set "@rackspace_auth_url", url
5
5
  returns(method) { @service.send :authentication_method }
@@ -7,22 +7,22 @@ Shindo.tests('Fog::Compute::RackspaceV2', ['rackspace']) do
7
7
 
8
8
  tests('#authentication_method') do
9
9
  @service = Fog::Compute::RackspaceV2.new
10
-
10
+
11
11
  assert_method nil, :authenticate_v2
12
12
 
13
13
  assert_method 'auth.api.rackspacecloud.com', :authenticate_v1 # chef's default auth endpoint
14
14
 
15
15
  assert_method 'https://identity.api.rackspacecloud.com', :authenticate_v1
16
16
  assert_method 'https://identity.api.rackspacecloud.com/v1', :authenticate_v1
17
- assert_method 'https://identity.api.rackspacecloud.com/v1.1', :authenticate_v1
17
+ assert_method 'https://identity.api.rackspacecloud.com/v1.1', :authenticate_v1
18
18
  assert_method 'https://identity.api.rackspacecloud.com/v2.0', :authenticate_v2
19
-
20
- assert_method 'https://lon.identity.api.rackspacecloud.com', :authenticate_v1
19
+
20
+ assert_method 'https://lon.identity.api.rackspacecloud.com', :authenticate_v1
21
21
  assert_method 'https://lon.identity.api.rackspacecloud.com/v1', :authenticate_v1
22
22
  assert_method 'https://lon.identity.api.rackspacecloud.com/v1.1', :authenticate_v1
23
23
  assert_method 'https://lon.identity.api.rackspacecloud.com/v2.0', :authenticate_v2
24
24
  end
25
-
25
+
26
26
  tests('legacy authentication') do
27
27
  pending if Fog.mocking?
28
28
 
@@ -33,9 +33,9 @@ Shindo.tests('Fog::Compute::RackspaceV2', ['rackspace']) do
33
33
  returns(true, "identity_service was not used") { @service.instance_variable_get("@identity_service").nil? }
34
34
  @service.list_flavors
35
35
  end
36
-
36
+
37
37
  tests('custom endpoint') do
38
- @service = Fog::Compute::RackspaceV2.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v1.0',
38
+ @service = Fog::Compute::RackspaceV2.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v1.0',
39
39
  :rackspace_compute_url => 'https://my-custom-endpoint.com'
40
40
  returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
41
41
  returns(true, "uses custom endpoint") { (@service.instance_variable_get("@uri").host =~ /my-custom-endpoint\.com/) != nil }
@@ -44,7 +44,7 @@ Shindo.tests('Fog::Compute::RackspaceV2', ['rackspace']) do
44
44
 
45
45
  tests('current authentation') do
46
46
  pending if Fog.mocking?
47
-
47
+
48
48
  tests('variables populated').succeeds do
49
49
  @service = Fog::Compute::RackspaceV2.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0', :connection_options => {:ssl_verify_peer => true}
50
50
  returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
@@ -67,16 +67,16 @@ Shindo.tests('Fog::Compute::RackspaceV2', ['rackspace']) do
67
67
  @service.list_flavors
68
68
  end
69
69
  tests('custom endpoint') do
70
- @service = Fog::Compute::RackspaceV2.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0',
70
+ @service = Fog::Compute::RackspaceV2.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0',
71
71
  :rackspace_compute_url => 'https://my-custom-endpoint.com'
72
72
  returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
73
73
  returns(true, "uses custom endpoint") { (@service.instance_variable_get("@uri").host =~ /my-custom-endpoint\.com/) != nil }
74
74
  end
75
75
  end
76
-
76
+
77
77
  tests('default auth') do
78
78
  pending if Fog.mocking?
79
-
79
+
80
80
  tests('no params').succeeds do
81
81
  @service = Fog::Compute::RackspaceV2.new
82
82
  returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
@@ -85,6 +85,7 @@ Shindo.tests('Fog::Compute::RackspaceV2', ['rackspace']) do
85
85
  end
86
86
  tests('specify old contstant style service endoint').succeeds do
87
87
  @service = Fog::Compute::RackspaceV2.new :rackspace_endpoint => Fog::Compute::RackspaceV2::ORD_ENDPOINT
88
+ returns(true) { (@service.instance_variable_get("@uri").to_s =~ /#{Fog::Compute::RackspaceV2::ORD_ENDPOINT}/ ) != nil }
88
89
  @service.list_flavors
89
90
  end
90
91
  tests('specify region').succeeds do
@@ -92,14 +93,14 @@ Shindo.tests('Fog::Compute::RackspaceV2', ['rackspace']) do
92
93
  returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
93
94
  returns(true) { (@service.instance_variable_get("@uri").host =~ /ord/ ) != nil }
94
95
  @service.list_flavors
95
- end
96
+ end
96
97
  tests('custom endpoint') do
97
98
  @service = Fog::Compute::RackspaceV2.new :rackspace_compute_url => 'https://my-custom-endpoint.com'
98
99
  returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
99
100
  returns(true, "uses custom endpoint") { (@service.instance_variable_get("@uri").host =~ /my-custom-endpoint\.com/) != nil }
100
101
  end
101
102
  end
102
-
103
+
103
104
  tests('reauthentication') do
104
105
  pending if Fog.mocking?
105
106
 
@@ -109,4 +110,4 @@ Shindo.tests('Fog::Compute::RackspaceV2', ['rackspace']) do
109
110
  returns(true) { [200, 203].include? @service.list_flavors.status }
110
111
  end
111
112
 
112
- end
113
+ end