fog-aws 3.11.0 → 3.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (285) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +53 -3
  3. data/README.md +43 -0
  4. data/fog-aws.gemspec +3 -4
  5. data/lib/fog/aws/compute.rb +6 -3
  6. data/lib/fog/aws/credential_fetcher.rb +22 -8
  7. data/lib/fog/aws/iam/default_policies.json +1574 -0
  8. data/lib/fog/aws/iam/default_policy_versions.json +3373 -0
  9. data/lib/fog/aws/models/compute/security_group.rb +13 -5
  10. data/lib/fog/aws/models/storage/directories.rb +1 -0
  11. data/lib/fog/aws/models/storage/file.rb +8 -7
  12. data/lib/fog/aws/parsers/compute/describe_security_groups.rb +18 -4
  13. data/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +15 -0
  14. data/lib/fog/aws/requests/compute/create_network_interface.rb +7 -4
  15. data/lib/fog/aws/requests/compute/create_subnet.rb +3 -3
  16. data/lib/fog/aws/requests/compute/describe_security_groups.rb +2 -0
  17. data/lib/fog/aws/requests/rds/add_tags_to_resource.rb +12 -10
  18. data/lib/fog/aws/requests/rds/list_tags_for_resource.rb +10 -7
  19. data/lib/fog/aws/requests/rds/remove_tags_from_resource.rb +9 -8
  20. data/lib/fog/aws/storage.rb +5 -1
  21. data/lib/fog/aws/version.rb +1 -1
  22. metadata +5 -280
  23. data/tests/credentials_tests.rb +0 -149
  24. data/tests/helper.rb +0 -29
  25. data/tests/helpers/collection_helper.rb +0 -90
  26. data/tests/helpers/compute/flavors_helper.rb +0 -28
  27. data/tests/helpers/compute/server_helper.rb +0 -23
  28. data/tests/helpers/compute/servers_helper.rb +0 -8
  29. data/tests/helpers/dns_helper.rb +0 -56
  30. data/tests/helpers/formats_helper.rb +0 -100
  31. data/tests/helpers/formats_helper_tests.rb +0 -107
  32. data/tests/helpers/mock_helper.rb +0 -109
  33. data/tests/helpers/model_helper.rb +0 -30
  34. data/tests/helpers/responds_to_helper.rb +0 -11
  35. data/tests/helpers/schema_validator_tests.rb +0 -104
  36. data/tests/helpers/succeeds_helper.rb +0 -9
  37. data/tests/lorem.txt +0 -1
  38. data/tests/models/auto_scaling/activities_tests.rb +0 -6
  39. data/tests/models/auto_scaling/configuration_test.rb +0 -13
  40. data/tests/models/auto_scaling/configurations_tests.rb +0 -11
  41. data/tests/models/auto_scaling/groups_test.rb +0 -27
  42. data/tests/models/auto_scaling/helper.rb +0 -0
  43. data/tests/models/auto_scaling/instance_tests.rb +0 -15
  44. data/tests/models/auto_scaling/instances_tests.rb +0 -6
  45. data/tests/models/beanstalk/application_tests.rb +0 -69
  46. data/tests/models/beanstalk/applications_tests.rb +0 -7
  47. data/tests/models/beanstalk/environment_tests.rb +0 -131
  48. data/tests/models/beanstalk/environments_tests.rb +0 -34
  49. data/tests/models/beanstalk/template_tests.rb +0 -47
  50. data/tests/models/beanstalk/templates_tests.rb +0 -62
  51. data/tests/models/beanstalk/version_tests.rb +0 -66
  52. data/tests/models/beanstalk/versions_tests.rb +0 -60
  53. data/tests/models/cdn/distribution_tests.rb +0 -15
  54. data/tests/models/cdn/distributions_tests.rb +0 -15
  55. data/tests/models/cdn/invalidation_tests.rb +0 -31
  56. data/tests/models/cdn/invalidations_tests.rb +0 -14
  57. data/tests/models/cdn/streaming_distribution_tests.rb +0 -15
  58. data/tests/models/cdn/streaming_distributions_tests.rb +0 -15
  59. data/tests/models/cloud_watch/alarm_data_tests.rb +0 -42
  60. data/tests/models/cloud_watch/alarm_history_tests.rb +0 -22
  61. data/tests/models/cloud_watch/metric_statistics_tests.rb +0 -51
  62. data/tests/models/cloud_watch/metrics_tests.rb +0 -32
  63. data/tests/models/compute/address_tests.rb +0 -43
  64. data/tests/models/compute/addresses_tests.rb +0 -5
  65. data/tests/models/compute/dhcp_option_tests.rb +0 -3
  66. data/tests/models/compute/dhcp_options_tests.rb +0 -3
  67. data/tests/models/compute/internet_gateway_tests.rb +0 -3
  68. data/tests/models/compute/internet_gateways_tests.rb +0 -3
  69. data/tests/models/compute/key_pair_tests.rb +0 -26
  70. data/tests/models/compute/key_pairs_tests.rb +0 -5
  71. data/tests/models/compute/network_acl_tests.rb +0 -109
  72. data/tests/models/compute/network_acls_tests.rb +0 -20
  73. data/tests/models/compute/network_interfaces_test.rb +0 -12
  74. data/tests/models/compute/security_group_tests.rb +0 -98
  75. data/tests/models/compute/security_groups_tests.rb +0 -5
  76. data/tests/models/compute/server_tests.rb +0 -94
  77. data/tests/models/compute/snapshot_tests.rb +0 -10
  78. data/tests/models/compute/snapshots_tests.rb +0 -10
  79. data/tests/models/compute/subnet_tests.rb +0 -13
  80. data/tests/models/compute/subnets_tests.rb +0 -5
  81. data/tests/models/compute/volume_tests.rb +0 -65
  82. data/tests/models/compute/volumes_tests.rb +0 -5
  83. data/tests/models/compute/vpc_tests.rb +0 -26
  84. data/tests/models/compute/vpcs_tests.rb +0 -19
  85. data/tests/models/data_pipeline/pipeline_tests.rb +0 -8
  86. data/tests/models/data_pipeline/pipelines_tests.rb +0 -8
  87. data/tests/models/dns/record_tests.rb +0 -33
  88. data/tests/models/dns/records_tests.rb +0 -41
  89. data/tests/models/dns/zone_tests.rb +0 -4
  90. data/tests/models/dns/zones_tests.rb +0 -4
  91. data/tests/models/efs/file_system_tests.rb +0 -12
  92. data/tests/models/efs/mount_target_tests.rb +0 -45
  93. data/tests/models/efs/mount_targets_tests.rb +0 -30
  94. data/tests/models/elasticache/cluster_tests.rb +0 -30
  95. data/tests/models/elasticache/parameter_groups_tests.rb +0 -15
  96. data/tests/models/elasticache/security_groups_tests.rb +0 -52
  97. data/tests/models/elasticache/subnet_groups_tests.rb +0 -43
  98. data/tests/models/elb/model_tests.rb +0 -360
  99. data/tests/models/elb/tagging_tests.rb +0 -15
  100. data/tests/models/glacier/model_tests.rb +0 -47
  101. data/tests/models/iam/access_keys_tests.rb +0 -53
  102. data/tests/models/iam/groups_tests.rb +0 -59
  103. data/tests/models/iam/instance_profile_tests.rb +0 -18
  104. data/tests/models/iam/managed_policies_tests.rb +0 -89
  105. data/tests/models/iam/policies_tests.rb +0 -57
  106. data/tests/models/iam/roles_tests.rb +0 -71
  107. data/tests/models/iam/users_tests.rb +0 -119
  108. data/tests/models/rds/cluster_tests.rb +0 -54
  109. data/tests/models/rds/clusters_tests.rb +0 -5
  110. data/tests/models/rds/event_subscription_tests.rb +0 -9
  111. data/tests/models/rds/event_subscriptions_tests.rb +0 -6
  112. data/tests/models/rds/helper.rb +0 -25
  113. data/tests/models/rds/instance_option_tests.rb +0 -14
  114. data/tests/models/rds/parameter_group_tests.rb +0 -24
  115. data/tests/models/rds/parameter_groups_tests.rb +0 -8
  116. data/tests/models/rds/security_group_tests.rb +0 -77
  117. data/tests/models/rds/security_groups_tests.rb +0 -5
  118. data/tests/models/rds/server_tests.rb +0 -131
  119. data/tests/models/rds/servers_tests.rb +0 -24
  120. data/tests/models/rds/snapshot_tests.rb +0 -12
  121. data/tests/models/rds/snapshots_tests.rb +0 -12
  122. data/tests/models/rds/tagging_tests.rb +0 -20
  123. data/tests/models/sns/topic_tests.rb +0 -15
  124. data/tests/models/sns/topics_tests.rb +0 -6
  125. data/tests/models/storage/directory_tests.rb +0 -202
  126. data/tests/models/storage/file_tests.rb +0 -129
  127. data/tests/models/storage/files_tests.rb +0 -90
  128. data/tests/models/storage/url_tests.rb +0 -25
  129. data/tests/models/storage/version_tests.rb +0 -52
  130. data/tests/models/storage/versions_tests.rb +0 -51
  131. data/tests/models/support/trusted_advisor_tests.rb +0 -25
  132. data/tests/parsers/compute/describe_images_tests.rb +0 -33
  133. data/tests/parsers/elb/describe_load_balancers.rb +0 -65
  134. data/tests/parsers/elbv2/create_load_balancer_tests.rb +0 -48
  135. data/tests/parsers/elbv2/describe_listeners_tests.rb +0 -76
  136. data/tests/parsers/elbv2/describe_load_balancers_tests.rb +0 -54
  137. data/tests/parsers/elbv2/describe_tags_tests.rb +0 -35
  138. data/tests/requests/auto_scaling/auto_scaling_tests.rb +0 -111
  139. data/tests/requests/auto_scaling/describe_types_tests.rb +0 -102
  140. data/tests/requests/auto_scaling/helper.rb +0 -229
  141. data/tests/requests/auto_scaling/model_tests.rb +0 -235
  142. data/tests/requests/auto_scaling/notification_configuration_tests.rb +0 -124
  143. data/tests/requests/auto_scaling/tag_tests.rb +0 -63
  144. data/tests/requests/beanstalk/application_tests.rb +0 -140
  145. data/tests/requests/beanstalk/solution_stack_tests.rb +0 -22
  146. data/tests/requests/cdn/cdn_tests.rb +0 -252
  147. data/tests/requests/cloud_formation/stack_tests.rb +0 -167
  148. data/tests/requests/cloud_watch/get_metric_statistics_tests.rb +0 -28
  149. data/tests/requests/cloud_watch/list_metrics_test.rb +0 -64
  150. data/tests/requests/cloud_watch/put_metric_data_tests.rb +0 -36
  151. data/tests/requests/compute/address_tests.rb +0 -144
  152. data/tests/requests/compute/assign_private_ip_tests.rb +0 -55
  153. data/tests/requests/compute/availability_zone_tests.rb +0 -25
  154. data/tests/requests/compute/client_tests.rb +0 -25
  155. data/tests/requests/compute/dhcp_options_tests.rb +0 -39
  156. data/tests/requests/compute/helper.rb +0 -27
  157. data/tests/requests/compute/image_tests.rb +0 -169
  158. data/tests/requests/compute/instance_attrib_tests.rb +0 -168
  159. data/tests/requests/compute/instance_tests.rb +0 -338
  160. data/tests/requests/compute/internet_gateway_tests.rb +0 -49
  161. data/tests/requests/compute/key_pair_tests.rb +0 -67
  162. data/tests/requests/compute/network_acl_tests.rb +0 -112
  163. data/tests/requests/compute/network_interface_tests.rb +0 -239
  164. data/tests/requests/compute/placement_group_tests.rb +0 -48
  165. data/tests/requests/compute/region_tests.rb +0 -52
  166. data/tests/requests/compute/route_tests.rb +0 -341
  167. data/tests/requests/compute/security_group_tests.rb +0 -446
  168. data/tests/requests/compute/snapshot_tests.rb +0 -77
  169. data/tests/requests/compute/spot_datafeed_subscription_tests.rb +0 -47
  170. data/tests/requests/compute/spot_instance_tests.rb +0 -55
  171. data/tests/requests/compute/spot_price_history_tests.rb +0 -23
  172. data/tests/requests/compute/subnet_tests.rb +0 -87
  173. data/tests/requests/compute/tag_tests.rb +0 -101
  174. data/tests/requests/compute/volume_tests.rb +0 -263
  175. data/tests/requests/compute/vpc_tests.rb +0 -222
  176. data/tests/requests/data_pipeline/helper.rb +0 -78
  177. data/tests/requests/data_pipeline/pipeline_tests.rb +0 -80
  178. data/tests/requests/dns/change_resource_record_sets_tests.rb +0 -34
  179. data/tests/requests/dns/dns_tests.rb +0 -240
  180. data/tests/requests/dns/health_check_tests.rb +0 -159
  181. data/tests/requests/dns/helper.rb +0 -21
  182. data/tests/requests/dynamodb/item_tests.rb +0 -137
  183. data/tests/requests/dynamodb/table_tests.rb +0 -99
  184. data/tests/requests/ecs/cluster_tests.rb +0 -112
  185. data/tests/requests/ecs/container_instance_tests.rb +0 -119
  186. data/tests/requests/ecs/helper.rb +0 -276
  187. data/tests/requests/ecs/sample_task_definition1.json +0 -56
  188. data/tests/requests/ecs/service_tests.rb +0 -132
  189. data/tests/requests/ecs/task_definitions_tests.rb +0 -97
  190. data/tests/requests/ecs/task_tests.rb +0 -145
  191. data/tests/requests/efs/file_system_tests.rb +0 -152
  192. data/tests/requests/efs/helper.rb +0 -44
  193. data/tests/requests/elasticache/cache_cluster_tests.rb +0 -137
  194. data/tests/requests/elasticache/describe_events.rb +0 -17
  195. data/tests/requests/elasticache/describe_reserved_cache_nodes.rb +0 -17
  196. data/tests/requests/elasticache/helper.rb +0 -103
  197. data/tests/requests/elasticache/parameter_group_tests.rb +0 -105
  198. data/tests/requests/elasticache/security_group_tests.rb +0 -108
  199. data/tests/requests/elasticache/subnet_group_tests.rb +0 -52
  200. data/tests/requests/elb/helper.rb +0 -91
  201. data/tests/requests/elb/listener_tests.rb +0 -68
  202. data/tests/requests/elb/load_balancer_tests.rb +0 -89
  203. data/tests/requests/elb/policy_tests.rb +0 -132
  204. data/tests/requests/elbv2/helper.rb +0 -66
  205. data/tests/requests/elbv2/load_balancer_tests.rb +0 -50
  206. data/tests/requests/emr/helper.rb +0 -167
  207. data/tests/requests/emr/instance_group_tests.rb +0 -106
  208. data/tests/requests/emr/job_flow_tests.rb +0 -88
  209. data/tests/requests/federation/get_signin_token_tests.rb +0 -11
  210. data/tests/requests/glacier/archive_tests.rb +0 -13
  211. data/tests/requests/glacier/multipart_upload_tests.rb +0 -29
  212. data/tests/requests/glacier/tree_hash_tests.rb +0 -91
  213. data/tests/requests/glacier/vault_tests.rb +0 -35
  214. data/tests/requests/iam/access_key_tests.rb +0 -53
  215. data/tests/requests/iam/account_policy_tests.rb +0 -20
  216. data/tests/requests/iam/account_tests.rb +0 -34
  217. data/tests/requests/iam/group_policy_tests.rb +0 -48
  218. data/tests/requests/iam/group_tests.rb +0 -44
  219. data/tests/requests/iam/helper.rb +0 -154
  220. data/tests/requests/iam/instance_profile_tests.rb +0 -44
  221. data/tests/requests/iam/login_profile_tests.rb +0 -62
  222. data/tests/requests/iam/managed_policy_tests.rb +0 -110
  223. data/tests/requests/iam/mfa_tests.rb +0 -23
  224. data/tests/requests/iam/role_tests.rb +0 -156
  225. data/tests/requests/iam/server_certificate_tests.rb +0 -130
  226. data/tests/requests/iam/user_policy_tests.rb +0 -45
  227. data/tests/requests/iam/user_tests.rb +0 -78
  228. data/tests/requests/iam/versioned_managed_policy_tests.rb +0 -105
  229. data/tests/requests/kinesis/helper.rb +0 -111
  230. data/tests/requests/kinesis/stream_tests.rb +0 -169
  231. data/tests/requests/kms/helper.rb +0 -27
  232. data/tests/requests/kms/key_tests.rb +0 -23
  233. data/tests/requests/lambda/function_sample_1.js +0 -9
  234. data/tests/requests/lambda/function_sample_2.js +0 -9
  235. data/tests/requests/lambda/function_tests.rb +0 -460
  236. data/tests/requests/lambda/helper.rb +0 -81
  237. data/tests/requests/rds/cluster_snapshot_tests.rb +0 -43
  238. data/tests/requests/rds/cluster_tests.rb +0 -37
  239. data/tests/requests/rds/db_engine_versions.rb +0 -7
  240. data/tests/requests/rds/db_snapshot_tests.rb +0 -62
  241. data/tests/requests/rds/describe_events.rb +0 -16
  242. data/tests/requests/rds/event_subscription_tests.rb +0 -30
  243. data/tests/requests/rds/helper.rb +0 -406
  244. data/tests/requests/rds/instance_option_tests.rb +0 -27
  245. data/tests/requests/rds/instance_tests.rb +0 -149
  246. data/tests/requests/rds/log_file_tests.rb +0 -19
  247. data/tests/requests/rds/parameter_group_tests.rb +0 -62
  248. data/tests/requests/rds/parameter_request_tests.rb +0 -32
  249. data/tests/requests/rds/security_group_tests.rb +0 -101
  250. data/tests/requests/rds/subnet_groups_tests.rb +0 -52
  251. data/tests/requests/rds/tagging_tests.rb +0 -78
  252. data/tests/requests/redshift/cluster_parameter_group_tests.rb +0 -76
  253. data/tests/requests/redshift/cluster_security_group_tests.rb +0 -42
  254. data/tests/requests/redshift/cluster_snapshot_tests.rb +0 -73
  255. data/tests/requests/redshift/cluster_tests.rb +0 -80
  256. data/tests/requests/ses/helper.rb +0 -9
  257. data/tests/requests/ses/verified_domain_identity_tests.rb +0 -16
  258. data/tests/requests/ses/verified_email_address_tests.rb +0 -27
  259. data/tests/requests/simpledb/attributes_tests.rb +0 -86
  260. data/tests/requests/simpledb/domain_tests.rb +0 -51
  261. data/tests/requests/simpledb/helper.rb +0 -10
  262. data/tests/requests/sns/helper.rb +0 -9
  263. data/tests/requests/sns/subscription_tests.rb +0 -86
  264. data/tests/requests/sns/topic_tests.rb +0 -53
  265. data/tests/requests/sqs/helper.rb +0 -9
  266. data/tests/requests/sqs/message_tests.rb +0 -51
  267. data/tests/requests/sqs/queue_tests.rb +0 -50
  268. data/tests/requests/storage/acl_utils_tests.rb +0 -209
  269. data/tests/requests/storage/bucket_tests.rb +0 -416
  270. data/tests/requests/storage/cors_utils_tests.rb +0 -108
  271. data/tests/requests/storage/delete_multiple_objects_tests.rb +0 -12
  272. data/tests/requests/storage/multipart_copy_tests.rb +0 -93
  273. data/tests/requests/storage/multipart_upload_tests.rb +0 -121
  274. data/tests/requests/storage/object_tests.rb +0 -269
  275. data/tests/requests/storage/versioning_tests.rb +0 -300
  276. data/tests/requests/sts/assume_role_tests.rb +0 -19
  277. data/tests/requests/sts/assume_role_with_saml_tests.rb +0 -18
  278. data/tests/requests/sts/assume_role_with_web_identity_tests.rb +0 -28
  279. data/tests/requests/sts/get_federation_token_tests.rb +0 -20
  280. data/tests/requests/sts/session_token_tests.rb +0 -16
  281. data/tests/requests/support/helper.rb +0 -43
  282. data/tests/requests/support/trusted_advisor_check_tests.rb +0 -16
  283. data/tests/signaturev4_tests.rb +0 -106
  284. data/tests/signed_params_tests.rb +0 -17
  285. data/tests/storage_tests.rb +0 -7
@@ -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
@@ -1,11 +0,0 @@
1
- module Shindo
2
- class Tests
3
- def responds_to(method_names)
4
- [*method_names].each do |method_name|
5
- tests("#respond_to?(:#{method_name})").returns(true) do
6
- @instance.respond_to?(method_name)
7
- end
8
- end
9
- end
10
- end
11
- end
@@ -1,104 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Shindo.tests('Fog::Schema::DataValidator', 'meta') do
4
-
5
- validator = Fog::Schema::DataValidator.new
6
-
7
- tests('#validate') do
8
- tests('returns true') do
9
- returns(true, 'when value matches schema expectation') do
10
- validator.validate({ 'key' => 'Value' }, 'key' => String)
11
- end
12
-
13
- returns(true, 'when values within an array all match schema expectation') do
14
- validator.validate({ 'key' => [1, 2] }, 'key' => [Integer])
15
- end
16
-
17
- returns(true, 'when nested values match schema expectation') do
18
- validator.validate({ 'key' => { nested_key: 'Value' } }, 'key' => { nested_key: String })
19
- end
20
-
21
- returns(true, 'when collection of values all match schema expectation') do
22
- validator.validate([{ 'key' => 'Value' }, 'key' => 'Value'], [{ 'key' => String }])
23
- end
24
-
25
- returns(true, 'when collection is empty although schema covers optional members') do
26
- validator.validate([], [{ 'key' => String }])
27
- end
28
-
29
- returns(true, 'when additional keys are passed and not strict') do
30
- validator.validate({ 'key' => 'Value', extra: 'Bonus' }, { 'key' => String }, allow_extra_keys: true)
31
- end
32
-
33
- returns(true, 'when value is nil and schema expects NilClass') do
34
- validator.validate({ 'key' => nil }, 'key' => NilClass)
35
- end
36
-
37
- returns(true, 'when value and schema match as hashes') do
38
- validator.validate({}, {})
39
- end
40
-
41
- returns(true, 'when value and schema match as arrays') do
42
- validator.validate([], [])
43
- end
44
-
45
- returns(true, 'when value is a Time') do
46
- validator.validate({ 'time' => Time.now }, 'time' => Time)
47
- end
48
-
49
- returns(true, 'when key is missing but value should be NilClass (#1477)') do
50
- validator.validate({}, { 'key' => NilClass }, allow_optional_rules: true)
51
- end
52
-
53
- returns(true, 'when key is missing but value is nullable (#1477)') do
54
- validator.validate({}, { 'key' => Fog::Nullable::String }, allow_optional_rules: true)
55
- end
56
- end
57
-
58
- tests('returns false') do
59
- returns(false, 'when value does not match schema expectation') do
60
- validator.validate({ 'key' => nil }, 'key' => String)
61
- end
62
-
63
- returns(false, 'when key formats do not match') do
64
- validator.validate({ 'key' => 'Value' }, key: String)
65
- end
66
-
67
- returns(false, 'when additional keys are passed and strict') do
68
- validator.validate({ 'key' => 'Missing' }, {})
69
- end
70
-
71
- returns(false, 'when some keys do not appear') do
72
- validator.validate({}, 'key' => String)
73
- end
74
-
75
- returns(false, 'when collection contains a member that does not match schema') do
76
- validator.validate([{ 'key' => 'Value' }, 'key' => 5], ['key' => String])
77
- end
78
-
79
- returns(false, 'when collection has multiple schema patterns') do
80
- validator.validate([{ 'key' => 'Value' }], [{ 'key' => Integer }, { 'key' => String }])
81
- end
82
-
83
- returns(false, 'when hash and array are compared') do
84
- validator.validate({}, [])
85
- end
86
-
87
- returns(false, 'when array and hash are compared') do
88
- validator.validate([], {})
89
- end
90
-
91
- returns(false, 'when a hash is expected but another data type is found') do
92
- validator.validate({ 'key' => { nested_key: [] } }, 'key' => { nested_key: {} })
93
- end
94
-
95
- returns(false, 'when key is missing but value should be NilClass (#1477)') do
96
- validator.validate({}, { 'key' => NilClass }, allow_optional_rules: false)
97
- end
98
-
99
- returns(false, 'when key is missing but value is nullable (#1477)') do
100
- validator.validate({}, { 'key' => Fog::Nullable::String }, allow_optional_rules: false)
101
- end
102
- end
103
- end
104
- end
@@ -1,9 +0,0 @@
1
- module Shindo
2
- class Tests
3
- def succeeds(&block)
4
- test('succeeds') do
5
- !instance_eval(&Proc.new(&block)).nil?
6
- end
7
- end
8
- end
9
- end
data/tests/lorem.txt DELETED
@@ -1 +0,0 @@
1
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
@@ -1,6 +0,0 @@
1
- Shindo.tests('AWS::AutoScaling | activities', ['aws', 'auto_scaling_m']) do
2
-
3
- pending # FIXME: activity#save is not implemented
4
- collection_tests(Fog::AWS[:auto_scaling].activities, {}, false)
5
-
6
- end
@@ -1,13 +0,0 @@
1
- Shindo.tests('AWS::AutoScaling | configuration', ['aws', 'auto_scaling_m']) do
2
-
3
- params = {
4
- :id => uniq_id,
5
- :image_id => 'ami-8c1fece5',
6
- :instance_type => 't1.micro'
7
- }
8
-
9
- model_tests(Fog::AWS[:auto_scaling].configurations, params, false) do
10
- @instance.wait_for { ready? }
11
- end
12
-
13
- end
@@ -1,11 +0,0 @@
1
- Shindo.tests('AWS::AutoScaling | configurations', ['aws', 'auto_scaling_m']) do
2
-
3
- params = {
4
- :id => uniq_id,
5
- :image_id => 'ami-8c1fece5',
6
- :instance_type => 't1.micro'
7
- }
8
-
9
- collection_tests(Fog::AWS[:auto_scaling].configurations, params, false)
10
-
11
- end
@@ -1,27 +0,0 @@
1
- Shindo.tests('AWS::AutoScaling | group', ['aws', 'auto_scaling_m']) do
2
-
3
- params = {
4
- :id => uniq_id,
5
- :auto_scaling_group_name => "name",
6
- :availability_zones => [],
7
- :launch_configuration_name => "lc"
8
- }
9
-
10
- lc_params = {
11
- :id => params[:launch_configuration_name],
12
- :image_id => "image-id",
13
- :instance_type => "instance-type",
14
- }
15
-
16
- Fog::AWS[:auto_scaling].configurations.new(lc_params).save
17
-
18
- model_tests(Fog::AWS[:auto_scaling].groups, params, true) do
19
- @instance.update
20
- end
21
-
22
- test("setting attributes in the constructor") do
23
- group = Fog::AWS[:auto_scaling].groups.new(:min_size => 1, :max_size => 2)
24
- group.min_size == 1 && group.max_size == 2
25
- end
26
-
27
- end
File without changes
@@ -1,15 +0,0 @@
1
- require 'fog/aws/models/auto_scaling/instance'
2
-
3
- Shindo.tests("Fog::AWS::AutoScaling::Instance", 'aws') do
4
- @instance = Fog::AWS::AutoScaling::Instance.new
5
-
6
- test('#healthy? = true') do
7
- @instance.health_status = 'Healthy'
8
- @instance.healthy? == true
9
- end
10
-
11
- test('#heatlhy? = false') do
12
- @instance.health_status = 'Unhealthy'
13
- @instance.healthy? == false
14
- end
15
- end
@@ -1,6 +0,0 @@
1
- Shindo.tests('AWS::AutoScaling | instances', ['aws', 'auto_scaling_m']) do
2
-
3
- pending # FIXME: instance#save is not defined
4
- #collection_tests(Fog::AWS[:auto_scaling].instances, {}, false)
5
-
6
- end