fog-aws 3.5.0 → 3.28.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 (405) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -765
  3. data/LICENSE.md +1 -1
  4. data/README.md +117 -7
  5. data/fog-aws.gemspec +14 -11
  6. data/lib/fog/aws/auto_scaling.rb +1 -1
  7. data/lib/fog/aws/beanstalk.rb +1 -1
  8. data/lib/fog/aws/cdn.rb +1 -1
  9. data/lib/fog/aws/cloud_formation.rb +1 -1
  10. data/lib/fog/aws/cloud_watch.rb +1 -1
  11. data/lib/fog/aws/compute.rb +8 -5
  12. data/lib/fog/aws/credential_fetcher.rb +89 -7
  13. data/lib/fog/aws/data_pipeline.rb +1 -1
  14. data/lib/fog/aws/dns.rb +137 -1
  15. data/lib/fog/aws/dynamodb.rb +1 -1
  16. data/lib/fog/aws/ecs.rb +1 -1
  17. data/lib/fog/aws/elasticache.rb +6 -4
  18. data/lib/fog/aws/elb.rb +2 -2
  19. data/lib/fog/aws/elbv2.rb +72 -0
  20. data/lib/fog/aws/emr.rb +1 -1
  21. data/lib/fog/aws/glacier.rb +84 -22
  22. data/lib/fog/aws/iam.rb +1 -1
  23. data/lib/fog/aws/kinesis.rb +24 -16
  24. data/lib/fog/aws/kms.rb +1 -1
  25. data/lib/fog/aws/lambda.rb +1 -1
  26. data/lib/fog/aws/models/compute/dhcp_option.rb +1 -1
  27. data/lib/fog/aws/models/compute/flavors.rb +3803 -531
  28. data/lib/fog/aws/models/compute/network_interfaces.rb +1 -1
  29. data/lib/fog/aws/models/compute/security_group.rb +13 -5
  30. data/lib/fog/aws/models/compute/server.rb +6 -2
  31. data/lib/fog/aws/models/compute/servers.rb +2 -0
  32. data/lib/fog/aws/models/compute/snapshot.rb +7 -6
  33. data/lib/fog/aws/models/compute/vpc.rb +8 -2
  34. data/lib/fog/aws/models/elasticache/cluster.rb +1 -1
  35. data/lib/fog/aws/models/storage/directories.rb +1 -0
  36. data/lib/fog/aws/models/storage/directory.rb +0 -1
  37. data/lib/fog/aws/models/storage/file.rb +168 -23
  38. data/lib/fog/aws/models/storage/files.rb +33 -2
  39. data/lib/fog/aws/parsers/compute/create_snapshot.rb +1 -1
  40. data/lib/fog/aws/parsers/compute/create_subnet.rb +33 -6
  41. data/lib/fog/aws/parsers/compute/describe_security_groups.rb +18 -4
  42. data/lib/fog/aws/parsers/compute/describe_subnets.rb +33 -6
  43. data/lib/fog/aws/parsers/dns/create_hosted_zone.rb +1 -1
  44. data/lib/fog/aws/parsers/dns/get_hosted_zone.rb +3 -3
  45. data/lib/fog/aws/parsers/dns/list_hosted_zones.rb +3 -1
  46. data/lib/fog/aws/parsers/elbv2/create_load_balancer.rb +88 -0
  47. data/lib/fog/aws/parsers/elbv2/describe_listeners.rb +110 -0
  48. data/lib/fog/aws/parsers/elbv2/describe_load_balancers.rb +88 -0
  49. data/lib/fog/aws/parsers/elbv2/describe_tags.rb +53 -0
  50. data/lib/fog/aws/parsers/elbv2/empty.rb +10 -0
  51. data/lib/fog/aws/parsers/iam/get_group_policy.rb +1 -1
  52. data/lib/fog/aws/parsers/iam/get_role_policy.rb +1 -1
  53. data/lib/fog/aws/parsers/iam/get_user_policy.rb +1 -1
  54. data/lib/fog/aws/parsers/iam/list_server_certificates.rb +1 -1
  55. data/lib/fog/aws/parsers/iam/policy_version.rb +1 -1
  56. data/lib/fog/aws/parsers/rds/db_cluster_parser.rb +1 -1
  57. data/lib/fog/aws/parsers/rds/db_parser.rb +1 -1
  58. data/lib/fog/aws/parsers/rds/modify_db_subnet_group.rb +1 -1
  59. data/lib/fog/aws/parsers/redshift/cluster_subnet_group_parser.rb +1 -1
  60. data/lib/fog/aws/parsers/storage/get_object_tagging.rb +33 -0
  61. data/lib/fog/aws/parsers/storage/upload_part_copy_object.rb +18 -0
  62. data/lib/fog/aws/parsers/sts/assume_role_with_web_identity.rb +1 -1
  63. data/lib/fog/aws/rds.rb +1 -1
  64. data/lib/fog/aws/redshift.rb +1 -1
  65. data/lib/fog/aws/requests/auto_scaling/attach_load_balancer_target_groups.rb +1 -1
  66. data/lib/fog/aws/requests/auto_scaling/describe_scaling_activities.rb +1 -1
  67. data/lib/fog/aws/requests/auto_scaling/put_scheduled_update_group_action.rb +1 -1
  68. data/lib/fog/aws/requests/cloud_formation/create_change_set.rb +1 -1
  69. data/lib/fog/aws/requests/cloud_formation/create_stack.rb +1 -1
  70. data/lib/fog/aws/requests/cloud_formation/get_template_summary.rb +1 -1
  71. data/lib/fog/aws/requests/cloud_formation/update_stack.rb +1 -1
  72. data/lib/fog/aws/requests/cloud_watch/list_metrics.rb +1 -1
  73. data/lib/fog/aws/requests/compute/authorize_security_group_egress.rb +1 -1
  74. data/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +16 -1
  75. data/lib/fog/aws/requests/compute/create_network_interface.rb +8 -5
  76. data/lib/fog/aws/requests/compute/create_subnet.rb +3 -3
  77. data/lib/fog/aws/requests/compute/create_vpc.rb +3 -3
  78. data/lib/fog/aws/requests/compute/describe_network_interfaces.rb +2 -2
  79. data/lib/fog/aws/requests/compute/describe_security_groups.rb +2 -0
  80. data/lib/fog/aws/requests/compute/modify_network_interface_attribute.rb +1 -1
  81. data/lib/fog/aws/requests/compute/modify_volume.rb +1 -1
  82. data/lib/fog/aws/requests/compute/request_spot_instances.rb +1 -1
  83. data/lib/fog/aws/requests/compute/revoke_security_group_egress.rb +1 -1
  84. data/lib/fog/aws/requests/compute/revoke_security_group_ingress.rb +1 -1
  85. data/lib/fog/aws/requests/compute/run_instances.rb +64 -0
  86. data/lib/fog/aws/requests/compute/stop_instances.rb +11 -3
  87. data/lib/fog/aws/requests/data_pipeline/deactivate_pipeline.rb +1 -1
  88. data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +0 -133
  89. data/lib/fog/aws/requests/ecs/list_task_definitions.rb +1 -1
  90. data/lib/fog/aws/requests/efs/create_file_system.rb +1 -1
  91. data/lib/fog/aws/requests/elasticache/authorize_cache_security_group_ingress.rb +1 -1
  92. data/lib/fog/aws/requests/elasticache/create_cache_cluster.rb +2 -2
  93. data/lib/fog/aws/requests/elasticache/describe_engine_default_parameters.rb +1 -1
  94. data/lib/fog/aws/requests/elb/delete_load_balancer_listeners.rb +1 -1
  95. data/lib/fog/aws/requests/elbv2/add_tags.rb +45 -0
  96. data/lib/fog/aws/requests/elbv2/create_load_balancer.rb +160 -0
  97. data/lib/fog/aws/requests/elbv2/describe_listeners.rb +38 -0
  98. data/lib/fog/aws/requests/elbv2/describe_load_balancers.rb +100 -0
  99. data/lib/fog/aws/requests/elbv2/describe_tags.rb +50 -0
  100. data/lib/fog/aws/requests/elbv2/remove_tags.rb +45 -0
  101. data/lib/fog/aws/requests/glacier/initiate_job.rb +1 -1
  102. data/lib/fog/aws/requests/glacier/initiate_multipart_upload.rb +1 -1
  103. data/lib/fog/aws/requests/kinesis/list_streams.rb +1 -1
  104. data/lib/fog/aws/requests/lambda/invoke.rb +7 -7
  105. data/lib/fog/aws/requests/rds/add_tags_to_resource.rb +12 -10
  106. data/lib/fog/aws/requests/rds/authorize_db_security_group_ingress.rb +2 -2
  107. data/lib/fog/aws/requests/rds/create_db_cluster.rb +1 -1
  108. data/lib/fog/aws/requests/rds/describe_db_snapshots.rb +1 -1
  109. data/lib/fog/aws/requests/rds/list_tags_for_resource.rb +10 -7
  110. data/lib/fog/aws/requests/rds/modify_db_instance.rb +1 -1
  111. data/lib/fog/aws/requests/rds/modify_db_parameter_group.rb +1 -1
  112. data/lib/fog/aws/requests/rds/remove_tags_from_resource.rb +9 -8
  113. data/lib/fog/aws/requests/ses/send_raw_email.rb +1 -1
  114. data/lib/fog/aws/requests/sqs/change_message_visibility.rb +1 -1
  115. data/lib/fog/aws/requests/sqs/delete_message.rb +1 -1
  116. data/lib/fog/aws/requests/storage/copy_object.rb +2 -1
  117. data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +18 -8
  118. data/lib/fog/aws/requests/storage/get_bucket.rb +2 -2
  119. data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +2 -2
  120. data/lib/fog/aws/requests/storage/get_object.rb +1 -1
  121. data/lib/fog/aws/requests/storage/get_object_tagging.rb +41 -0
  122. data/lib/fog/aws/requests/storage/get_service.rb +1 -1
  123. data/lib/fog/aws/requests/storage/list_parts.rb +1 -1
  124. data/lib/fog/aws/requests/storage/put_bucket.rb +0 -4
  125. data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +1 -1
  126. data/lib/fog/aws/requests/storage/put_bucket_notification.rb +1 -1
  127. data/lib/fog/aws/requests/storage/put_object.rb +1 -1
  128. data/lib/fog/aws/requests/storage/put_object_tagging.rb +42 -0
  129. data/lib/fog/aws/requests/storage/shared_mock_methods.rb +2 -1
  130. data/lib/fog/aws/requests/storage/sync_clock.rb +9 -1
  131. data/lib/fog/aws/requests/storage/upload_part_copy.rb +119 -0
  132. data/lib/fog/aws/requests/sts/assume_role_with_web_identity.rb +7 -6
  133. data/lib/fog/aws/ses.rb +20 -17
  134. data/lib/fog/aws/signaturev4.rb +1 -1
  135. data/lib/fog/aws/simpledb.rb +1 -1
  136. data/lib/fog/aws/sns.rb +1 -1
  137. data/lib/fog/aws/sqs.rb +1 -1
  138. data/lib/fog/aws/storage.rb +78 -13
  139. data/lib/fog/aws/support.rb +1 -1
  140. data/lib/fog/aws/version.rb +1 -1
  141. data/lib/fog/aws.rb +11 -2
  142. metadata +49 -294
  143. data/.gitignore +0 -16
  144. data/.travis.yml +0 -53
  145. data/Gemfile +0 -14
  146. data/Rakefile +0 -14
  147. data/gemfiles/Gemfile-edge +0 -14
  148. data/gemfiles/Gemfile-ruby-2.0 +0 -7
  149. data/stale.yml +0 -17
  150. data/tests/credentials_tests.rb +0 -87
  151. data/tests/helper.rb +0 -29
  152. data/tests/helpers/collection_helper.rb +0 -90
  153. data/tests/helpers/compute/flavors_helper.rb +0 -28
  154. data/tests/helpers/compute/server_helper.rb +0 -23
  155. data/tests/helpers/compute/servers_helper.rb +0 -8
  156. data/tests/helpers/dns_helper.rb +0 -56
  157. data/tests/helpers/formats_helper.rb +0 -100
  158. data/tests/helpers/formats_helper_tests.rb +0 -107
  159. data/tests/helpers/mock_helper.rb +0 -109
  160. data/tests/helpers/model_helper.rb +0 -30
  161. data/tests/helpers/responds_to_helper.rb +0 -11
  162. data/tests/helpers/schema_validator_tests.rb +0 -104
  163. data/tests/helpers/succeeds_helper.rb +0 -9
  164. data/tests/lorem.txt +0 -1
  165. data/tests/models/auto_scaling/activities_tests.rb +0 -6
  166. data/tests/models/auto_scaling/configuration_test.rb +0 -13
  167. data/tests/models/auto_scaling/configurations_tests.rb +0 -11
  168. data/tests/models/auto_scaling/groups_test.rb +0 -27
  169. data/tests/models/auto_scaling/helper.rb +0 -0
  170. data/tests/models/auto_scaling/instance_tests.rb +0 -15
  171. data/tests/models/auto_scaling/instances_tests.rb +0 -6
  172. data/tests/models/beanstalk/application_tests.rb +0 -69
  173. data/tests/models/beanstalk/applications_tests.rb +0 -7
  174. data/tests/models/beanstalk/environment_tests.rb +0 -131
  175. data/tests/models/beanstalk/environments_tests.rb +0 -34
  176. data/tests/models/beanstalk/template_tests.rb +0 -47
  177. data/tests/models/beanstalk/templates_tests.rb +0 -62
  178. data/tests/models/beanstalk/version_tests.rb +0 -66
  179. data/tests/models/beanstalk/versions_tests.rb +0 -60
  180. data/tests/models/cdn/distribution_tests.rb +0 -15
  181. data/tests/models/cdn/distributions_tests.rb +0 -15
  182. data/tests/models/cdn/invalidation_tests.rb +0 -31
  183. data/tests/models/cdn/invalidations_tests.rb +0 -14
  184. data/tests/models/cdn/streaming_distribution_tests.rb +0 -15
  185. data/tests/models/cdn/streaming_distributions_tests.rb +0 -15
  186. data/tests/models/cloud_watch/alarm_data_tests.rb +0 -42
  187. data/tests/models/cloud_watch/alarm_history_tests.rb +0 -22
  188. data/tests/models/cloud_watch/metric_statistics_tests.rb +0 -51
  189. data/tests/models/cloud_watch/metrics_tests.rb +0 -32
  190. data/tests/models/compute/address_tests.rb +0 -43
  191. data/tests/models/compute/addresses_tests.rb +0 -5
  192. data/tests/models/compute/dhcp_option_tests.rb +0 -3
  193. data/tests/models/compute/dhcp_options_tests.rb +0 -3
  194. data/tests/models/compute/internet_gateway_tests.rb +0 -3
  195. data/tests/models/compute/internet_gateways_tests.rb +0 -3
  196. data/tests/models/compute/key_pair_tests.rb +0 -26
  197. data/tests/models/compute/key_pairs_tests.rb +0 -5
  198. data/tests/models/compute/network_acl_tests.rb +0 -109
  199. data/tests/models/compute/network_acls_tests.rb +0 -20
  200. data/tests/models/compute/network_interfaces_test.rb +0 -12
  201. data/tests/models/compute/security_group_tests.rb +0 -98
  202. data/tests/models/compute/security_groups_tests.rb +0 -5
  203. data/tests/models/compute/server_tests.rb +0 -94
  204. data/tests/models/compute/snapshot_tests.rb +0 -10
  205. data/tests/models/compute/snapshots_tests.rb +0 -10
  206. data/tests/models/compute/subnet_tests.rb +0 -13
  207. data/tests/models/compute/subnets_tests.rb +0 -5
  208. data/tests/models/compute/volume_tests.rb +0 -65
  209. data/tests/models/compute/volumes_tests.rb +0 -5
  210. data/tests/models/compute/vpc_tests.rb +0 -26
  211. data/tests/models/compute/vpcs_tests.rb +0 -19
  212. data/tests/models/data_pipeline/pipeline_tests.rb +0 -8
  213. data/tests/models/data_pipeline/pipelines_tests.rb +0 -8
  214. data/tests/models/dns/record_tests.rb +0 -33
  215. data/tests/models/dns/records_tests.rb +0 -41
  216. data/tests/models/dns/zone_tests.rb +0 -4
  217. data/tests/models/dns/zones_tests.rb +0 -4
  218. data/tests/models/efs/file_system_tests.rb +0 -12
  219. data/tests/models/efs/mount_target_tests.rb +0 -45
  220. data/tests/models/efs/mount_targets_tests.rb +0 -30
  221. data/tests/models/elasticache/cluster_tests.rb +0 -30
  222. data/tests/models/elasticache/parameter_groups_tests.rb +0 -15
  223. data/tests/models/elasticache/security_groups_tests.rb +0 -52
  224. data/tests/models/elasticache/subnet_groups_tests.rb +0 -43
  225. data/tests/models/elb/model_tests.rb +0 -360
  226. data/tests/models/elb/tagging_tests.rb +0 -15
  227. data/tests/models/glacier/model_tests.rb +0 -47
  228. data/tests/models/iam/access_keys_tests.rb +0 -53
  229. data/tests/models/iam/groups_tests.rb +0 -59
  230. data/tests/models/iam/instance_profile_tests.rb +0 -18
  231. data/tests/models/iam/managed_policies_tests.rb +0 -89
  232. data/tests/models/iam/policies_tests.rb +0 -57
  233. data/tests/models/iam/roles_tests.rb +0 -71
  234. data/tests/models/iam/users_tests.rb +0 -119
  235. data/tests/models/rds/cluster_tests.rb +0 -54
  236. data/tests/models/rds/clusters_tests.rb +0 -5
  237. data/tests/models/rds/event_subscription_tests.rb +0 -9
  238. data/tests/models/rds/event_subscriptions_tests.rb +0 -6
  239. data/tests/models/rds/helper.rb +0 -25
  240. data/tests/models/rds/instance_option_tests.rb +0 -14
  241. data/tests/models/rds/parameter_group_tests.rb +0 -24
  242. data/tests/models/rds/parameter_groups_tests.rb +0 -8
  243. data/tests/models/rds/security_group_tests.rb +0 -77
  244. data/tests/models/rds/security_groups_tests.rb +0 -5
  245. data/tests/models/rds/server_tests.rb +0 -131
  246. data/tests/models/rds/servers_tests.rb +0 -24
  247. data/tests/models/rds/snapshot_tests.rb +0 -12
  248. data/tests/models/rds/snapshots_tests.rb +0 -12
  249. data/tests/models/rds/tagging_tests.rb +0 -20
  250. data/tests/models/sns/topic_tests.rb +0 -15
  251. data/tests/models/sns/topics_tests.rb +0 -6
  252. data/tests/models/storage/directory_tests.rb +0 -91
  253. data/tests/models/storage/file_tests.rb +0 -129
  254. data/tests/models/storage/files_tests.rb +0 -58
  255. data/tests/models/storage/url_tests.rb +0 -25
  256. data/tests/models/storage/version_tests.rb +0 -52
  257. data/tests/models/storage/versions_tests.rb +0 -51
  258. data/tests/models/support/trusted_advisor_tests.rb +0 -25
  259. data/tests/parsers/compute/describe_images_tests.rb +0 -33
  260. data/tests/parsers/elb/describe_load_balancers.rb +0 -65
  261. data/tests/requests/auto_scaling/auto_scaling_tests.rb +0 -111
  262. data/tests/requests/auto_scaling/describe_types_tests.rb +0 -102
  263. data/tests/requests/auto_scaling/helper.rb +0 -229
  264. data/tests/requests/auto_scaling/model_tests.rb +0 -235
  265. data/tests/requests/auto_scaling/notification_configuration_tests.rb +0 -124
  266. data/tests/requests/auto_scaling/tag_tests.rb +0 -63
  267. data/tests/requests/beanstalk/application_tests.rb +0 -140
  268. data/tests/requests/beanstalk/solution_stack_tests.rb +0 -22
  269. data/tests/requests/cdn/cdn_tests.rb +0 -252
  270. data/tests/requests/cloud_formation/stack_tests.rb +0 -167
  271. data/tests/requests/cloud_watch/get_metric_statistics_tests.rb +0 -28
  272. data/tests/requests/cloud_watch/list_metrics_test.rb +0 -64
  273. data/tests/requests/cloud_watch/put_metric_data_tests.rb +0 -36
  274. data/tests/requests/compute/address_tests.rb +0 -144
  275. data/tests/requests/compute/assign_private_ip_tests.rb +0 -55
  276. data/tests/requests/compute/availability_zone_tests.rb +0 -25
  277. data/tests/requests/compute/client_tests.rb +0 -25
  278. data/tests/requests/compute/dhcp_options_tests.rb +0 -39
  279. data/tests/requests/compute/helper.rb +0 -27
  280. data/tests/requests/compute/image_tests.rb +0 -169
  281. data/tests/requests/compute/instance_attrib_tests.rb +0 -168
  282. data/tests/requests/compute/instance_tests.rb +0 -338
  283. data/tests/requests/compute/internet_gateway_tests.rb +0 -49
  284. data/tests/requests/compute/key_pair_tests.rb +0 -67
  285. data/tests/requests/compute/network_acl_tests.rb +0 -112
  286. data/tests/requests/compute/network_interface_tests.rb +0 -239
  287. data/tests/requests/compute/placement_group_tests.rb +0 -48
  288. data/tests/requests/compute/region_tests.rb +0 -52
  289. data/tests/requests/compute/route_tests.rb +0 -341
  290. data/tests/requests/compute/security_group_tests.rb +0 -446
  291. data/tests/requests/compute/snapshot_tests.rb +0 -77
  292. data/tests/requests/compute/spot_datafeed_subscription_tests.rb +0 -47
  293. data/tests/requests/compute/spot_instance_tests.rb +0 -55
  294. data/tests/requests/compute/spot_price_history_tests.rb +0 -23
  295. data/tests/requests/compute/subnet_tests.rb +0 -87
  296. data/tests/requests/compute/tag_tests.rb +0 -101
  297. data/tests/requests/compute/volume_tests.rb +0 -263
  298. data/tests/requests/compute/vpc_tests.rb +0 -216
  299. data/tests/requests/data_pipeline/helper.rb +0 -78
  300. data/tests/requests/data_pipeline/pipeline_tests.rb +0 -80
  301. data/tests/requests/dns/change_resource_record_sets_tests.rb +0 -34
  302. data/tests/requests/dns/dns_tests.rb +0 -240
  303. data/tests/requests/dns/health_check_tests.rb +0 -159
  304. data/tests/requests/dns/helper.rb +0 -21
  305. data/tests/requests/dynamodb/item_tests.rb +0 -137
  306. data/tests/requests/dynamodb/table_tests.rb +0 -99
  307. data/tests/requests/ecs/cluster_tests.rb +0 -112
  308. data/tests/requests/ecs/container_instance_tests.rb +0 -119
  309. data/tests/requests/ecs/helper.rb +0 -276
  310. data/tests/requests/ecs/sample_task_definition1.json +0 -56
  311. data/tests/requests/ecs/service_tests.rb +0 -132
  312. data/tests/requests/ecs/task_definitions_tests.rb +0 -97
  313. data/tests/requests/ecs/task_tests.rb +0 -145
  314. data/tests/requests/efs/file_system_tests.rb +0 -152
  315. data/tests/requests/efs/helper.rb +0 -44
  316. data/tests/requests/elasticache/cache_cluster_tests.rb +0 -137
  317. data/tests/requests/elasticache/describe_events.rb +0 -17
  318. data/tests/requests/elasticache/describe_reserved_cache_nodes.rb +0 -17
  319. data/tests/requests/elasticache/helper.rb +0 -103
  320. data/tests/requests/elasticache/parameter_group_tests.rb +0 -105
  321. data/tests/requests/elasticache/security_group_tests.rb +0 -108
  322. data/tests/requests/elasticache/subnet_group_tests.rb +0 -52
  323. data/tests/requests/elb/helper.rb +0 -91
  324. data/tests/requests/elb/listener_tests.rb +0 -68
  325. data/tests/requests/elb/load_balancer_tests.rb +0 -89
  326. data/tests/requests/elb/policy_tests.rb +0 -132
  327. data/tests/requests/emr/helper.rb +0 -167
  328. data/tests/requests/emr/instance_group_tests.rb +0 -106
  329. data/tests/requests/emr/job_flow_tests.rb +0 -88
  330. data/tests/requests/federation/get_signin_token_tests.rb +0 -11
  331. data/tests/requests/glacier/archive_tests.rb +0 -13
  332. data/tests/requests/glacier/multipart_upload_tests.rb +0 -29
  333. data/tests/requests/glacier/tree_hash_tests.rb +0 -62
  334. data/tests/requests/glacier/vault_tests.rb +0 -35
  335. data/tests/requests/iam/access_key_tests.rb +0 -53
  336. data/tests/requests/iam/account_policy_tests.rb +0 -20
  337. data/tests/requests/iam/account_tests.rb +0 -34
  338. data/tests/requests/iam/group_policy_tests.rb +0 -48
  339. data/tests/requests/iam/group_tests.rb +0 -44
  340. data/tests/requests/iam/helper.rb +0 -154
  341. data/tests/requests/iam/instance_profile_tests.rb +0 -44
  342. data/tests/requests/iam/login_profile_tests.rb +0 -62
  343. data/tests/requests/iam/managed_policy_tests.rb +0 -110
  344. data/tests/requests/iam/mfa_tests.rb +0 -23
  345. data/tests/requests/iam/role_tests.rb +0 -156
  346. data/tests/requests/iam/server_certificate_tests.rb +0 -130
  347. data/tests/requests/iam/user_policy_tests.rb +0 -45
  348. data/tests/requests/iam/user_tests.rb +0 -78
  349. data/tests/requests/iam/versioned_managed_policy_tests.rb +0 -105
  350. data/tests/requests/kinesis/helper.rb +0 -111
  351. data/tests/requests/kinesis/stream_tests.rb +0 -169
  352. data/tests/requests/kms/helper.rb +0 -27
  353. data/tests/requests/kms/key_tests.rb +0 -23
  354. data/tests/requests/lambda/function_sample_1.js +0 -9
  355. data/tests/requests/lambda/function_sample_2.js +0 -9
  356. data/tests/requests/lambda/function_tests.rb +0 -460
  357. data/tests/requests/lambda/helper.rb +0 -81
  358. data/tests/requests/rds/cluster_snapshot_tests.rb +0 -43
  359. data/tests/requests/rds/cluster_tests.rb +0 -37
  360. data/tests/requests/rds/db_engine_versions.rb +0 -7
  361. data/tests/requests/rds/db_snapshot_tests.rb +0 -62
  362. data/tests/requests/rds/describe_events.rb +0 -16
  363. data/tests/requests/rds/event_subscription_tests.rb +0 -30
  364. data/tests/requests/rds/helper.rb +0 -406
  365. data/tests/requests/rds/instance_option_tests.rb +0 -27
  366. data/tests/requests/rds/instance_tests.rb +0 -149
  367. data/tests/requests/rds/log_file_tests.rb +0 -19
  368. data/tests/requests/rds/parameter_group_tests.rb +0 -62
  369. data/tests/requests/rds/parameter_request_tests.rb +0 -32
  370. data/tests/requests/rds/security_group_tests.rb +0 -101
  371. data/tests/requests/rds/subnet_groups_tests.rb +0 -52
  372. data/tests/requests/rds/tagging_tests.rb +0 -78
  373. data/tests/requests/redshift/cluster_parameter_group_tests.rb +0 -76
  374. data/tests/requests/redshift/cluster_security_group_tests.rb +0 -42
  375. data/tests/requests/redshift/cluster_snapshot_tests.rb +0 -73
  376. data/tests/requests/redshift/cluster_tests.rb +0 -80
  377. data/tests/requests/ses/helper.rb +0 -9
  378. data/tests/requests/ses/verified_domain_identity_tests.rb +0 -16
  379. data/tests/requests/ses/verified_email_address_tests.rb +0 -27
  380. data/tests/requests/simpledb/attributes_tests.rb +0 -86
  381. data/tests/requests/simpledb/domain_tests.rb +0 -51
  382. data/tests/requests/simpledb/helper.rb +0 -10
  383. data/tests/requests/sns/helper.rb +0 -9
  384. data/tests/requests/sns/subscription_tests.rb +0 -86
  385. data/tests/requests/sns/topic_tests.rb +0 -53
  386. data/tests/requests/sqs/helper.rb +0 -9
  387. data/tests/requests/sqs/message_tests.rb +0 -51
  388. data/tests/requests/sqs/queue_tests.rb +0 -50
  389. data/tests/requests/storage/acl_utils_tests.rb +0 -209
  390. data/tests/requests/storage/bucket_tests.rb +0 -416
  391. data/tests/requests/storage/cors_utils_tests.rb +0 -108
  392. data/tests/requests/storage/delete_multiple_objects_tests.rb +0 -12
  393. data/tests/requests/storage/multipart_upload_tests.rb +0 -121
  394. data/tests/requests/storage/object_tests.rb +0 -262
  395. data/tests/requests/storage/versioning_tests.rb +0 -262
  396. data/tests/requests/sts/assume_role_tests.rb +0 -19
  397. data/tests/requests/sts/assume_role_with_saml_tests.rb +0 -18
  398. data/tests/requests/sts/assume_role_with_web_identity_tests.rb +0 -28
  399. data/tests/requests/sts/get_federation_token_tests.rb +0 -20
  400. data/tests/requests/sts/session_token_tests.rb +0 -16
  401. data/tests/requests/support/helper.rb +0 -43
  402. data/tests/requests/support/trusted_advisor_check_tests.rb +0 -16
  403. data/tests/signaturev4_tests.rb +0 -106
  404. data/tests/signed_params_tests.rb +0 -17
  405. data/tests/storage_tests.rb +0 -7
@@ -1,87 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Shindo.tests('AWS | credentials', ['aws']) do
4
- old_mock_value = Excon.defaults[:mock]
5
- fog_was_mocked = Fog.mocking?
6
- Excon.stubs.clear
7
- Fog.unmock!
8
- begin
9
- Excon.defaults[:mock] = true
10
- Excon.stub({ method: :get, path: '/latest/meta-data/iam/security-credentials/' }, { status: 200, body: 'arole' })
11
- Excon.stub({ method: :get, path: '/latest/meta-data/placement/availability-zone/' }, { status: 200, body: 'us-west-1a' })
12
-
13
- expires_at = Time.at(Time.now.to_i + 500)
14
- credentials = {
15
- 'AccessKeyId' => 'dummykey',
16
- 'SecretAccessKey' => 'dummysecret',
17
- 'Token' => 'dummytoken',
18
- 'Expiration' => expires_at.xmlschema
19
- }
20
-
21
- Excon.stub({ method: :get, path: '/latest/meta-data/iam/security-credentials/arole' }, { status: 200, body: Fog::JSON.encode(credentials) })
22
-
23
- tests('#fetch_credentials') do
24
- returns(aws_access_key_id: 'dummykey',
25
- aws_secret_access_key: 'dummysecret',
26
- aws_session_token: 'dummytoken',
27
- region: 'us-west-1',
28
- aws_credentials_expire_at: expires_at) { Fog::AWS::Compute.fetch_credentials(use_iam_profile: true) }
29
- end
30
-
31
- ENV['AWS_CONTAINER_CREDENTIALS_RELATIVE_URI'] = '/v1/credentials?id=task_id'
32
- Excon.stub({ method: :get, path: '/v1/credentials?id=task_id' }, { status: 200, body: Fog::JSON.encode(credentials) })
33
-
34
- tests('#fetch_credentials') do
35
- returns(aws_access_key_id: 'dummykey',
36
- aws_secret_access_key: 'dummysecret',
37
- aws_session_token: 'dummytoken',
38
- region: 'us-west-1',
39
- aws_credentials_expire_at: expires_at) { Fog::AWS::Compute.fetch_credentials(use_iam_profile: true) }
40
- end
41
-
42
- ENV['AWS_CONTAINER_CREDENTIALS_RELATIVE_URI'] = nil
43
-
44
- compute = Fog::AWS::Compute.new(use_iam_profile: true)
45
-
46
- tests('#refresh_credentials_if_expired') do
47
- returns(nil) { compute.refresh_credentials_if_expired }
48
- end
49
-
50
- credentials['AccessKeyId'] = 'newkey'
51
- credentials['SecretAccessKey'] = 'newsecret'
52
- credentials['Expiration'] = (expires_at + 10).xmlschema
53
-
54
- Excon.stub({ method: :get, path: '/latest/meta-data/iam/security-credentials/arole' }, { status: 200, body: Fog::JSON.encode(credentials) })
55
-
56
- Fog::Time.now = expires_at + 1
57
- tests('#refresh_credentials_if_expired') do
58
- returns(true) { compute.refresh_credentials_if_expired }
59
- returns('newkey') { compute.instance_variable_get(:@aws_access_key_id) }
60
- end
61
- Fog::Time.now = Time.now
62
-
63
- default_credentials = Fog::AWS::Compute.fetch_credentials({})
64
- tests('#fetch_credentials when the url 404s') do
65
- Excon.stub({ method: :get, path: '/latest/meta-data/iam/security-credentials/' }, { status: 404, body: 'not bound' })
66
- Excon.stub({ method: :get, path: '/latest/meta-data/placement/availability-zone/' }, { status: 400, body: 'not found' })
67
- returns(default_credentials) { Fog::AWS::Compute.fetch_credentials(use_iam_profile: true) }
68
- end
69
-
70
- mocked_credentials = {
71
- aws_access_key_id: 'access-key-id',
72
- aws_secret_access_key: 'secret-access-key',
73
- aws_session_token: 'session-token',
74
- aws_credentials_expire_at: Time.at(Time.now.to_i + 500).xmlschema
75
- }
76
- tests('#fetch_credentials when mocking') do
77
- Fog.mock!
78
- Fog::AWS::Compute::Mock.data[:iam_role_based_creds] = mocked_credentials
79
- returns(mocked_credentials) { Fog::AWS::Compute.fetch_credentials(use_iam_profile: true) }
80
- end
81
- ensure
82
- ENV['AWS_CONTAINER_CREDENTIALS_RELATIVE_URI'] = nil
83
- Excon.stubs.clear
84
- Excon.defaults[:mock] = old_mock_value
85
- Fog.mock! if fog_was_mocked
86
- end
87
- end
data/tests/helper.rb DELETED
@@ -1,29 +0,0 @@
1
- begin
2
- require 'simplecov'
3
- SimpleCov.start
4
- SimpleCov.command_name 'Shindo'
5
- rescue LoadError => e
6
- $stderr.puts "not recording test coverage: #{e.inspect}"
7
- end
8
-
9
- require File.expand_path('../../lib/fog/aws', __FILE__)
10
-
11
- Bundler.require(:test)
12
-
13
- Excon.defaults.merge!(debug_request: true, debug_response: true)
14
-
15
- require File.expand_path(File.join(File.dirname(__FILE__), 'helpers', 'mock_helper'))
16
-
17
- # This overrides the default 600 seconds timeout during live test runs
18
- unless Fog.mocking?
19
- Fog.timeout = ENV['FOG_TEST_TIMEOUT'] || 2_000
20
- Fog::Logger.warning "Setting default fog timeout to #{Fog.timeout} seconds"
21
- end
22
-
23
- def lorem_file
24
- File.open(File.dirname(__FILE__) + '/lorem.txt', 'r')
25
- end
26
-
27
- def array_differences(array_a, array_b)
28
- (array_a - array_b) | (array_b - array_a)
29
- end
@@ -1,90 +0,0 @@
1
- def collection_tests(collection, params = {}, mocks_implemented = true)
2
- tests('success') do
3
- tests("#new(#{params.inspect})").succeeds do
4
- pending if Fog.mocking? && !mocks_implemented
5
- collection.new(params)
6
- end
7
-
8
- tests("#create(#{params.inspect})").succeeds do
9
- pending if Fog.mocking? && !mocks_implemented
10
- @instance = collection.create(params)
11
- end
12
- # FIXME: work around for timing issue on AWS describe_instances mocks
13
-
14
- if Fog.mocking? && @instance.respond_to?(:ready?)
15
- @instance.wait_for { ready? }
16
- end
17
-
18
- tests("#all").succeeds do
19
- pending if Fog.mocking? && !mocks_implemented
20
- collection.all
21
- end
22
-
23
- if !Fog.mocking? || mocks_implemented
24
- @identity = @instance.identity
25
- end
26
-
27
- tests("#get(#{@identity})").succeeds do
28
- pending if Fog.mocking? && !mocks_implemented
29
- collection.get(@identity)
30
- end
31
-
32
- tests('Enumerable') do
33
- pending if Fog.mocking? && !mocks_implemented
34
-
35
- methods = [
36
- 'all?', 'any?', 'find', 'detect', 'collect', 'map',
37
- 'find_index', 'flat_map', 'collect_concat', 'group_by',
38
- 'none?', 'one?'
39
- ]
40
-
41
- methods.each do |enum_method|
42
- if collection.respond_to?(enum_method)
43
- tests("##{enum_method}").succeeds do
44
- block_called = false
45
- collection.send(enum_method) { block_called = true }
46
- block_called
47
- end
48
- end
49
- end
50
-
51
- [
52
- 'max_by','min_by'
53
- ].each do |enum_method|
54
- if collection.respond_to?(enum_method)
55
- tests("##{enum_method}").succeeds do
56
- block_called = false
57
- collection.send(enum_method) { block_called = true; 0 }
58
- block_called
59
- end
60
- end
61
-
62
- end
63
-
64
- end
65
-
66
- if block_given?
67
- yield(@instance)
68
- end
69
-
70
- if !Fog.mocking? || mocks_implemented
71
- @instance.destroy
72
- end
73
- end
74
-
75
- tests('failure') do
76
-
77
- if !Fog.mocking? || mocks_implemented
78
- @identity = @identity.to_s
79
- @identity = @identity.gsub(/[a-zA-Z]/) { Fog::Mock.random_letters(1) }
80
- @identity = @identity.gsub(/\d/) { Fog::Mock.random_numbers(1) }
81
- @identity
82
- end
83
-
84
- tests("#get('#{@identity}')").returns(nil) do
85
- pending if Fog.mocking? && !mocks_implemented
86
- collection.get(@identity)
87
- end
88
-
89
- end
90
- end
@@ -1,28 +0,0 @@
1
- def flavors_tests(connection, params = {}, mocks_implemented = true)
2
- tests('success') do
3
- tests('#all').succeeds do
4
- pending if Fog.mocking? && !mocks_implemented
5
- connection.flavors.all
6
- end
7
-
8
- if !Fog.mocking? || mocks_implemented
9
- @identity = connection.flavors.first.identity
10
- end
11
-
12
- tests("#get('#{@identity}')").succeeds do
13
- pending if Fog.mocking? && !mocks_implemented
14
- connection.flavors.get(@identity)
15
- end
16
- end
17
-
18
- tests('failure') do
19
- if !Fog.mocking? || mocks_implemented
20
- invalid_flavor_identity = connection.flavors.first.identity.to_s.gsub(/\w/, '0')
21
- end
22
-
23
- tests("#get('#{invalid_flavor_identity}')").returns(nil) do
24
- pending if Fog.mocking? && !mocks_implemented
25
- connection.flavors.get(invalid_flavor_identity)
26
- end
27
- end
28
- end
@@ -1,23 +0,0 @@
1
- def server_tests(connection, params = {}, mocks_implemented = true)
2
- model_tests(connection.servers, params, mocks_implemented) do
3
- tests('#reload').returns(true) do
4
- pending if Fog.mocking? && !mocks_implemented
5
- @instance.wait_for { ready? }
6
- identity = @instance.identity
7
- !identity.nil? && identity == @instance.reload.identity
8
- end
9
-
10
- responds_to(%i[ready state])
11
- yield if block_given?
12
-
13
- tests('#reboot').succeeds do
14
- pending if Fog.mocking? && !mocks_implemented
15
- @instance.wait_for { ready? }
16
- @instance.reboot
17
- end
18
-
19
- if !Fog.mocking? || mocks_implemented
20
- @instance.wait_for { ready? }
21
- end
22
- end
23
- end
@@ -1,8 +0,0 @@
1
- def servers_tests(connection, params = {}, mocks_implemented = true)
2
- collection_tests(connection.servers, params, mocks_implemented) do
3
- if !Fog.mocking? || mocks_implemented
4
- @instance.wait_for { ready? }
5
- yield if block_given?
6
- end
7
- end
8
- end
@@ -1,56 +0,0 @@
1
- def dns_providers
2
- {
3
- aws: {
4
- mocked: false
5
- },
6
- bluebox: {
7
- mocked: false,
8
- zone_attributes: {
9
- ttl: 60
10
- }
11
- },
12
- dnsimple: {
13
- mocked: false
14
- },
15
- dnsmadeeasy: {
16
- mocked: false
17
- },
18
- dynect: {
19
- mocked: false,
20
- zone_attributes: {
21
- email: 'fog@example.com'
22
- }
23
- },
24
- linode: {
25
- mocked: false,
26
- zone_attributes: {
27
- email: 'fog@example.com'
28
- }
29
- },
30
- zerigo: {
31
- mocked: false
32
- },
33
- rackspace: {
34
- mocked: false,
35
- zone_attributes: {
36
- email: 'fog@example.com'
37
- }
38
- },
39
- rage4: {
40
- mocked: false
41
- }
42
- }
43
- end
44
-
45
- def generate_unique_domain(with_trailing_dot = false)
46
- # get time (with 1/100th of sec accuracy)
47
- # want unique domain name and if provider is fast,
48
- # this can be called more than once per second
49
- time = (Time.now.to_f * 100).to_i
50
- domain = 'test-' + time.to_s + '.com'
51
- if with_trailing_dot
52
- domain += '.'
53
- end
54
-
55
- domain
56
- end
@@ -1,100 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'fog/schema/data_validator'
4
-
5
- # format related hackery
6
- # allows both true.is_a?(Fog::Boolean) and false.is_a?(Fog::Boolean)
7
- # allows both nil.is_a?(Fog::Nullable::String) and ''.is_a?(Fog::Nullable::String)
8
- module Fog
9
- module Boolean; end
10
- module Nullable
11
- module Boolean; end
12
- module Integer; end
13
- module String; end
14
- module Time; end
15
- module Float; end
16
- module Hash; end
17
- module Array; end
18
- end
19
- end
20
- [FalseClass, TrueClass].each { |klass| klass.send(:include, Fog::Boolean) }
21
- [FalseClass, TrueClass, NilClass, Fog::Boolean].each { |klass| klass.send(:include, Fog::Nullable::Boolean) }
22
- [NilClass, String].each { |klass| klass.send(:include, Fog::Nullable::String) }
23
- [NilClass, Time].each { |klass| klass.send(:include, Fog::Nullable::Time) }
24
- [Integer, NilClass].each { |klass| klass.send(:include, Fog::Nullable::Integer) }
25
- [Float, NilClass].each { |klass| klass.send(:include, Fog::Nullable::Float) }
26
- [Hash, NilClass].each { |klass| klass.send(:include, Fog::Nullable::Hash) }
27
- [Array, NilClass].each { |klass| klass.send(:include, Fog::Nullable::Array) }
28
-
29
- module Shindo
30
- # Generates a Shindo test that compares a hash schema to the result
31
- # of the passed in block returning true if they match.
32
- #
33
- # The schema that is passed in is a Hash or Array of hashes that
34
- # have Classes in place of values. When checking the schema the
35
- # value should match the Class.
36
- #
37
- # Strict mode will fail if the data has additional keys. Setting
38
- # +strict+ to +false+ will allow additional keys to appear.
39
- #
40
- # @param [Hash] schema A Hash schema
41
- # @param [Hash] options Options to change validation rules
42
- # @option options [Boolean] :allow_extra_keys
43
- # If +true+ does not fail when keys are in the data that are
44
- # not specified in the schema. This allows new values to
45
- # appear in API output without breaking the check.
46
- # @option options [Boolean] :allow_optional_rules
47
- # If +true+ does not fail if extra keys are in the schema
48
- # that do not match the data. Not recommended!
49
- # @yield Data to check with schema
50
- #
51
- # @example Using in a test
52
- # Shindo.tests("comparing welcome data against schema") do
53
- # data = {:welcome => "Hello" }
54
- # data_matches_schema(:welcome => String) { data }
55
- # end
56
- #
57
- # comparing welcome data against schema
58
- # + data matches schema
59
- #
60
- # @example Example schema
61
- # {
62
- # "id" => String,
63
- # "ram" => Integer,
64
- # "disks" => [
65
- # {
66
- # "size" => Float
67
- # }
68
- # ],
69
- # "dns_name" => Fog::Nullable::String,
70
- # "active" => Fog::Boolean,
71
- # "created" => DateTime
72
- # }
73
- #
74
- # @return [Boolean]
75
- class Tests
76
- def data_matches_schema(schema, options = {})
77
- test('data matches schema') do
78
- validator = Fog::Schema::DataValidator.new
79
- valid = validator.validate(yield, schema, options)
80
- @message = validator.message unless valid
81
- valid
82
- end
83
- end
84
-
85
- # @deprecated #formats is deprecated. Use #data_matches_schema instead
86
- def formats(format, strict = true)
87
- test('has proper format') do
88
- if strict
89
- options = { allow_extra_keys: false, allow_optional_rules: true }
90
- else
91
- options = { allow_extra_keys: true, allow_optional_rules: true }
92
- end
93
- validator = Fog::Schema::DataValidator.new
94
- valid = validator.validate(yield, format, options)
95
- @message = validator.message unless valid
96
- valid
97
- end
98
- end
99
- end
100
- end
@@ -1,107 +0,0 @@
1
- Shindo.tests('test_helper', 'meta') do
2
-
3
- tests('comparing welcome data against schema') do
4
- data = { welcome: 'Hello' }
5
- data_matches_schema(welcome: String) { data }
6
- end
7
-
8
- tests('#data_matches_schema') do
9
- tests('when value matches schema expectation') do
10
- data_matches_schema('key' => String) { { 'key' => 'Value' } }
11
- end
12
-
13
- tests('when values within an array all match schema expectation') do
14
- data_matches_schema('key' => [Integer]) { { 'key' => [1, 2] } }
15
- end
16
-
17
- tests('when nested values match schema expectation') do
18
- data_matches_schema('key' => { nested_key: String }) { { 'key' => { nested_key: 'Value' } } }
19
- end
20
-
21
- tests('when collection of values all match schema expectation') do
22
- data_matches_schema([{ 'key' => String }]) { [{ 'key' => 'Value' }, { 'key' => 'Value' }] }
23
- end
24
-
25
- tests('when collection is empty although schema covers optional members') do
26
- data_matches_schema([{ 'key' => String }], allow_optional_rules: true) { [] }
27
- end
28
-
29
- tests('when additional keys are passed and not strict') do
30
- data_matches_schema({ 'key' => String }, allow_extra_keys: true) { { 'key' => 'Value', extra: 'Bonus' } }
31
- end
32
-
33
- tests('when value is nil and schema expects NilClass') do
34
- data_matches_schema('key' => NilClass) { { 'key' => nil } }
35
- end
36
-
37
- tests('when value and schema match as hashes') do
38
- data_matches_schema({}) { {} }
39
- end
40
-
41
- tests('when value and schema match as arrays') do
42
- data_matches_schema([]) { [] }
43
- end
44
-
45
- tests('when value is a Time') do
46
- data_matches_schema('time' => Time) { { 'time' => Time.now } }
47
- end
48
-
49
- tests('when key is missing but value should be NilClass (#1477)') do
50
- data_matches_schema({ 'key' => NilClass }, allow_optional_rules: true) { {} }
51
- end
52
-
53
- tests('when key is missing but value is nullable (#1477)') do
54
- data_matches_schema({ 'key' => Fog::Nullable::String }, allow_optional_rules: true) { {} }
55
- end
56
- end
57
-
58
- tests('#formats backwards compatible changes') do
59
- tests('when value matches schema expectation') do
60
- formats('key' => String) { { 'key' => 'Value' } }
61
- end
62
-
63
- tests('when values within an array all match schema expectation') do
64
- formats('key' => [Integer]) { { 'key' => [1, 2] } }
65
- end
66
-
67
- tests('when nested values match schema expectation') do
68
- formats('key' => { nested_key: String }) { { 'key' => { nested_key: 'Value' } } }
69
- end
70
-
71
- tests('when collection of values all match schema expectation') do
72
- formats([{ 'key' => String }]) { [{ 'key' => 'Value' }, { 'key' => 'Value' }] }
73
- end
74
-
75
- tests('when collection is empty although schema covers optional members') do
76
- formats([{ 'key' => String }]) { [] }
77
- end
78
-
79
- tests('when additional keys are passed and not strict') do
80
- formats({ 'key' => String }, false) { { 'key' => 'Value', :extra => 'Bonus' } }
81
- end
82
-
83
- tests('when value is nil and schema expects NilClass') do
84
- formats('key' => NilClass) { { 'key' => nil } }
85
- end
86
-
87
- tests('when value and schema match as hashes') do
88
- formats({}) { {} }
89
- end
90
-
91
- tests('when value and schema match as arrays') do
92
- formats([]) { [] }
93
- end
94
-
95
- tests('when value is a Time') do
96
- formats('time' => Time) { { 'time' => Time.now } }
97
- end
98
-
99
- tests('when key is missing but value should be NilClass (#1477)') do
100
- formats('key' => NilClass) { {} }
101
- end
102
-
103
- tests('when key is missing but value is nullable (#1477)') do
104
- formats('key' => Fog::Nullable::String) { {} }
105
- end
106
- end
107
- end
@@ -1,109 +0,0 @@
1
- # Use so you can run in mock mode from the command line
2
- #
3
- # FOG_MOCK=true fog
4
-
5
- if ENV["FOG_MOCK"] == "true"
6
- Fog.mock!
7
- end
8
-
9
- # if in mocked mode, fill in some fake credentials for us
10
- if Fog.mock?
11
- Fog.credentials = {
12
- aws_access_key_id: 'aws_access_key_id',
13
- aws_secret_access_key: 'aws_secret_access_key',
14
- ia_access_key_id: 'aws_access_key_id',
15
- ia_secret_access_key: 'aws_secret_access_key',
16
- bluebox_api_key: 'bluebox_api_key',
17
- bluebox_customer_id: 'bluebox_customer_id',
18
- brightbox_client_id: 'brightbox_client_id',
19
- brightbox_secret: 'brightbox_secret',
20
- cloudstack_disk_offering_id: '',
21
- cloudstack_host: 'http://cloudstack.example.org',
22
- cloudstack_network_ids: '',
23
- cloudstack_service_offering_id: '4437ac6c-9fe3-477a-57ec-60a5a45896a4',
24
- cloudstack_template_id: '8a31cf9c-f248-0588-256e-9dbf58785216',
25
- cloudstack_zone_id: 'c554c592-e09c-9df5-7688-4a32754a4305',
26
- cloudstack_project_id: 'f1f1f1f1-f1f1-f1f1-f1f1-f1f1f1f1f1f1',
27
- clodo_api_key: 'clodo_api_key',
28
- clodo_username: 'clodo_username',
29
- digitalocean_api_key: 'digitalocean_api_key',
30
- digitalocean_client_id: 'digitalocean_client_id',
31
- dnsimple_email: 'dnsimple_email',
32
- dnsimple_password: 'dnsimple_password',
33
- dnsmadeeasy_api_key: 'dnsmadeeasy_api_key',
34
- dnsmadeeasy_secret_key: 'dnsmadeeasy_secret_key',
35
- glesys_username: 'glesys_username',
36
- glesys_api_key: 'glesys_api_key',
37
- go_grid_api_key: 'go_grid_api_key',
38
- go_grid_shared_secret: 'go_grid_shared_secret',
39
- google_storage_access_key_id: 'google_storage_access_key_id',
40
- google_storage_secret_access_key: 'google_storage_secret_access_key',
41
- google_project: 'google_project_name',
42
- google_client_email: 'fake@developer.gserviceaccount.com',
43
- google_key_location: '~/fake.p12',
44
- hp_access_key: 'hp_access_key',
45
- hp_secret_key: 'hp_secret_key',
46
- hp_tenant_id: 'hp_tenant_id',
47
- hp_avl_zone: 'hp_avl_zone',
48
- os_account_meta_temp_url_key: 'os_account_meta_temp_url_key',
49
- ibm_username: 'ibm_username',
50
- ibm_password: 'ibm_password',
51
- joyent_username: 'joyentuser',
52
- joyent_password: 'joyentpass',
53
- linode_api_key: 'linode_api_key',
54
- local_root: '~/.fog',
55
- bare_metal_cloud_password: 'bare_metal_cloud_password',
56
- bare_metal_cloud_username: 'bare_metal_cloud_username',
57
- ninefold_compute_key: 'ninefold_compute_key',
58
- ninefold_compute_secret: 'ninefold_compute_secret',
59
- ninefold_storage_secret: 'ninefold_storage_secret',
60
- ninefold_storage_token: 'ninefold_storage_token',
61
- # public_key_path: '~/.ssh/id_rsa.pub',
62
- # private_key_path: '~/.ssh/id_rsa',
63
- opennebula_endpoint: 'http://opennebula:2633/RPC2',
64
- opennebula_username: 'oneadmin',
65
- opennebula_password: 'oneadmin',
66
- openstack_api_key: 'openstack_api_key',
67
- openstack_username: 'openstack_username',
68
- openstack_tenant: 'openstack_tenant',
69
- openstack_auth_url: 'http://openstack:35357/v2.0/tokens',
70
- ovirt_url: 'http://ovirt:8080/api',
71
- ovirt_username: 'admin@internal',
72
- ovirt_password: '123123',
73
- profitbricks_username: 'profitbricks_username',
74
- profitbricks_password: 'profitbricks_password',
75
- libvirt_uri: 'qemu://libvirt/system',
76
- rackspace_api_key: 'rackspace_api_key',
77
- rackspace_region: 'dfw',
78
- rackspace_username: 'rackspace_username',
79
- riakcs_access_key_id: 'riakcs_access_key_id',
80
- riakcs_secret_access_key: 'riakcs_secret_access_key',
81
- sakuracloud_api_token: 'sakuracloud_api_token',
82
- sakuracloud_api_token_secret: 'sakuracloud_api_token_secret',
83
- storm_on_demand_username: 'storm_on_demand_username',
84
- storm_on_demand_password: 'storm_on_demand_password',
85
- vcloud_host: 'vcloud_host',
86
- vcloud_password: 'vcloud_password',
87
- vcloud_username: 'vcloud_username',
88
- vcloud_director_host: 'vcloud-director-host',
89
- vcloud_director_password: 'vcloud_director_password',
90
- vcloud_director_username: 'vcd_user@vcd_org_name',
91
- zerigo_email: 'zerigo_email',
92
- zerigo_token: 'zerigo_token',
93
- dynect_customer: 'dynect_customer',
94
- dynect_username: 'dynect_username',
95
- dynect_password: 'dynect_password',
96
- vsphere_server: 'virtualcenter.lan',
97
- vsphere_username: 'apiuser',
98
- vsphere_password: 'apipassword',
99
- vsphere_expected_pubkey_hash: 'abcdef1234567890',
100
- libvirt_username: 'root',
101
- libvirt_password: 'password',
102
- cloudsigma_username: 'csuname',
103
- cloudsigma_password: 'cspass',
104
- docker_username: 'docker-fan',
105
- docker_password: 'i<3docker',
106
- docker_email: 'dockerfan@gmail.com',
107
- docker_url: 'unix://var/run/docker.sock'
108
- }.merge(Fog.credentials)
109
- end
@@ -1,30 +0,0 @@
1
- def model_tests(collection, params = {}, mocks_implemented = true)
2
- tests('success') do
3
- @instance = collection.new(params)
4
-
5
- tests('#save').succeeds do
6
- pending if Fog.mocking? && !mocks_implemented
7
- @instance.save
8
- end
9
-
10
- if block_given?
11
- yield(@instance)
12
- end
13
-
14
- tests('#destroy').succeeds do
15
- pending if Fog.mocking? && !mocks_implemented
16
- @instance.destroy
17
- end
18
-
19
- end
20
- end
21
-
22
- # Generates a unique identifier with a random differentiator.
23
- # Useful when rapidly re-running tests, so we don't have to wait
24
- # serveral minutes for deleted objects to disappear from the API
25
- # E.g. 'fog-test-1234'
26
- def uniq_id(base_name = 'fog-test')
27
- # random_differentiator
28
- suffix = rand(65_536).to_s(16).rjust(4, '0')
29
- [base_name, suffix].join('-')
30
- end