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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +53 -3
- data/README.md +43 -0
- data/fog-aws.gemspec +3 -4
- data/lib/fog/aws/compute.rb +6 -3
- data/lib/fog/aws/credential_fetcher.rb +22 -8
- data/lib/fog/aws/iam/default_policies.json +1574 -0
- data/lib/fog/aws/iam/default_policy_versions.json +3373 -0
- data/lib/fog/aws/models/compute/security_group.rb +13 -5
- data/lib/fog/aws/models/storage/directories.rb +1 -0
- data/lib/fog/aws/models/storage/file.rb +8 -7
- data/lib/fog/aws/parsers/compute/describe_security_groups.rb +18 -4
- data/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +15 -0
- data/lib/fog/aws/requests/compute/create_network_interface.rb +7 -4
- data/lib/fog/aws/requests/compute/create_subnet.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_security_groups.rb +2 -0
- data/lib/fog/aws/requests/rds/add_tags_to_resource.rb +12 -10
- data/lib/fog/aws/requests/rds/list_tags_for_resource.rb +10 -7
- data/lib/fog/aws/requests/rds/remove_tags_from_resource.rb +9 -8
- data/lib/fog/aws/storage.rb +5 -1
- data/lib/fog/aws/version.rb +1 -1
- metadata +5 -280
- data/tests/credentials_tests.rb +0 -149
- data/tests/helper.rb +0 -29
- data/tests/helpers/collection_helper.rb +0 -90
- data/tests/helpers/compute/flavors_helper.rb +0 -28
- data/tests/helpers/compute/server_helper.rb +0 -23
- data/tests/helpers/compute/servers_helper.rb +0 -8
- data/tests/helpers/dns_helper.rb +0 -56
- data/tests/helpers/formats_helper.rb +0 -100
- data/tests/helpers/formats_helper_tests.rb +0 -107
- data/tests/helpers/mock_helper.rb +0 -109
- data/tests/helpers/model_helper.rb +0 -30
- data/tests/helpers/responds_to_helper.rb +0 -11
- data/tests/helpers/schema_validator_tests.rb +0 -104
- data/tests/helpers/succeeds_helper.rb +0 -9
- data/tests/lorem.txt +0 -1
- data/tests/models/auto_scaling/activities_tests.rb +0 -6
- data/tests/models/auto_scaling/configuration_test.rb +0 -13
- data/tests/models/auto_scaling/configurations_tests.rb +0 -11
- data/tests/models/auto_scaling/groups_test.rb +0 -27
- data/tests/models/auto_scaling/helper.rb +0 -0
- data/tests/models/auto_scaling/instance_tests.rb +0 -15
- data/tests/models/auto_scaling/instances_tests.rb +0 -6
- data/tests/models/beanstalk/application_tests.rb +0 -69
- data/tests/models/beanstalk/applications_tests.rb +0 -7
- data/tests/models/beanstalk/environment_tests.rb +0 -131
- data/tests/models/beanstalk/environments_tests.rb +0 -34
- data/tests/models/beanstalk/template_tests.rb +0 -47
- data/tests/models/beanstalk/templates_tests.rb +0 -62
- data/tests/models/beanstalk/version_tests.rb +0 -66
- data/tests/models/beanstalk/versions_tests.rb +0 -60
- data/tests/models/cdn/distribution_tests.rb +0 -15
- data/tests/models/cdn/distributions_tests.rb +0 -15
- data/tests/models/cdn/invalidation_tests.rb +0 -31
- data/tests/models/cdn/invalidations_tests.rb +0 -14
- data/tests/models/cdn/streaming_distribution_tests.rb +0 -15
- data/tests/models/cdn/streaming_distributions_tests.rb +0 -15
- data/tests/models/cloud_watch/alarm_data_tests.rb +0 -42
- data/tests/models/cloud_watch/alarm_history_tests.rb +0 -22
- data/tests/models/cloud_watch/metric_statistics_tests.rb +0 -51
- data/tests/models/cloud_watch/metrics_tests.rb +0 -32
- data/tests/models/compute/address_tests.rb +0 -43
- data/tests/models/compute/addresses_tests.rb +0 -5
- data/tests/models/compute/dhcp_option_tests.rb +0 -3
- data/tests/models/compute/dhcp_options_tests.rb +0 -3
- data/tests/models/compute/internet_gateway_tests.rb +0 -3
- data/tests/models/compute/internet_gateways_tests.rb +0 -3
- data/tests/models/compute/key_pair_tests.rb +0 -26
- data/tests/models/compute/key_pairs_tests.rb +0 -5
- data/tests/models/compute/network_acl_tests.rb +0 -109
- data/tests/models/compute/network_acls_tests.rb +0 -20
- data/tests/models/compute/network_interfaces_test.rb +0 -12
- data/tests/models/compute/security_group_tests.rb +0 -98
- data/tests/models/compute/security_groups_tests.rb +0 -5
- data/tests/models/compute/server_tests.rb +0 -94
- data/tests/models/compute/snapshot_tests.rb +0 -10
- data/tests/models/compute/snapshots_tests.rb +0 -10
- data/tests/models/compute/subnet_tests.rb +0 -13
- data/tests/models/compute/subnets_tests.rb +0 -5
- data/tests/models/compute/volume_tests.rb +0 -65
- data/tests/models/compute/volumes_tests.rb +0 -5
- data/tests/models/compute/vpc_tests.rb +0 -26
- data/tests/models/compute/vpcs_tests.rb +0 -19
- data/tests/models/data_pipeline/pipeline_tests.rb +0 -8
- data/tests/models/data_pipeline/pipelines_tests.rb +0 -8
- data/tests/models/dns/record_tests.rb +0 -33
- data/tests/models/dns/records_tests.rb +0 -41
- data/tests/models/dns/zone_tests.rb +0 -4
- data/tests/models/dns/zones_tests.rb +0 -4
- data/tests/models/efs/file_system_tests.rb +0 -12
- data/tests/models/efs/mount_target_tests.rb +0 -45
- data/tests/models/efs/mount_targets_tests.rb +0 -30
- data/tests/models/elasticache/cluster_tests.rb +0 -30
- data/tests/models/elasticache/parameter_groups_tests.rb +0 -15
- data/tests/models/elasticache/security_groups_tests.rb +0 -52
- data/tests/models/elasticache/subnet_groups_tests.rb +0 -43
- data/tests/models/elb/model_tests.rb +0 -360
- data/tests/models/elb/tagging_tests.rb +0 -15
- data/tests/models/glacier/model_tests.rb +0 -47
- data/tests/models/iam/access_keys_tests.rb +0 -53
- data/tests/models/iam/groups_tests.rb +0 -59
- data/tests/models/iam/instance_profile_tests.rb +0 -18
- data/tests/models/iam/managed_policies_tests.rb +0 -89
- data/tests/models/iam/policies_tests.rb +0 -57
- data/tests/models/iam/roles_tests.rb +0 -71
- data/tests/models/iam/users_tests.rb +0 -119
- data/tests/models/rds/cluster_tests.rb +0 -54
- data/tests/models/rds/clusters_tests.rb +0 -5
- data/tests/models/rds/event_subscription_tests.rb +0 -9
- data/tests/models/rds/event_subscriptions_tests.rb +0 -6
- data/tests/models/rds/helper.rb +0 -25
- data/tests/models/rds/instance_option_tests.rb +0 -14
- data/tests/models/rds/parameter_group_tests.rb +0 -24
- data/tests/models/rds/parameter_groups_tests.rb +0 -8
- data/tests/models/rds/security_group_tests.rb +0 -77
- data/tests/models/rds/security_groups_tests.rb +0 -5
- data/tests/models/rds/server_tests.rb +0 -131
- data/tests/models/rds/servers_tests.rb +0 -24
- data/tests/models/rds/snapshot_tests.rb +0 -12
- data/tests/models/rds/snapshots_tests.rb +0 -12
- data/tests/models/rds/tagging_tests.rb +0 -20
- data/tests/models/sns/topic_tests.rb +0 -15
- data/tests/models/sns/topics_tests.rb +0 -6
- data/tests/models/storage/directory_tests.rb +0 -202
- data/tests/models/storage/file_tests.rb +0 -129
- data/tests/models/storage/files_tests.rb +0 -90
- data/tests/models/storage/url_tests.rb +0 -25
- data/tests/models/storage/version_tests.rb +0 -52
- data/tests/models/storage/versions_tests.rb +0 -51
- data/tests/models/support/trusted_advisor_tests.rb +0 -25
- data/tests/parsers/compute/describe_images_tests.rb +0 -33
- data/tests/parsers/elb/describe_load_balancers.rb +0 -65
- data/tests/parsers/elbv2/create_load_balancer_tests.rb +0 -48
- data/tests/parsers/elbv2/describe_listeners_tests.rb +0 -76
- data/tests/parsers/elbv2/describe_load_balancers_tests.rb +0 -54
- data/tests/parsers/elbv2/describe_tags_tests.rb +0 -35
- data/tests/requests/auto_scaling/auto_scaling_tests.rb +0 -111
- data/tests/requests/auto_scaling/describe_types_tests.rb +0 -102
- data/tests/requests/auto_scaling/helper.rb +0 -229
- data/tests/requests/auto_scaling/model_tests.rb +0 -235
- data/tests/requests/auto_scaling/notification_configuration_tests.rb +0 -124
- data/tests/requests/auto_scaling/tag_tests.rb +0 -63
- data/tests/requests/beanstalk/application_tests.rb +0 -140
- data/tests/requests/beanstalk/solution_stack_tests.rb +0 -22
- data/tests/requests/cdn/cdn_tests.rb +0 -252
- data/tests/requests/cloud_formation/stack_tests.rb +0 -167
- data/tests/requests/cloud_watch/get_metric_statistics_tests.rb +0 -28
- data/tests/requests/cloud_watch/list_metrics_test.rb +0 -64
- data/tests/requests/cloud_watch/put_metric_data_tests.rb +0 -36
- data/tests/requests/compute/address_tests.rb +0 -144
- data/tests/requests/compute/assign_private_ip_tests.rb +0 -55
- data/tests/requests/compute/availability_zone_tests.rb +0 -25
- data/tests/requests/compute/client_tests.rb +0 -25
- data/tests/requests/compute/dhcp_options_tests.rb +0 -39
- data/tests/requests/compute/helper.rb +0 -27
- data/tests/requests/compute/image_tests.rb +0 -169
- data/tests/requests/compute/instance_attrib_tests.rb +0 -168
- data/tests/requests/compute/instance_tests.rb +0 -338
- data/tests/requests/compute/internet_gateway_tests.rb +0 -49
- data/tests/requests/compute/key_pair_tests.rb +0 -67
- data/tests/requests/compute/network_acl_tests.rb +0 -112
- data/tests/requests/compute/network_interface_tests.rb +0 -239
- data/tests/requests/compute/placement_group_tests.rb +0 -48
- data/tests/requests/compute/region_tests.rb +0 -52
- data/tests/requests/compute/route_tests.rb +0 -341
- data/tests/requests/compute/security_group_tests.rb +0 -446
- data/tests/requests/compute/snapshot_tests.rb +0 -77
- data/tests/requests/compute/spot_datafeed_subscription_tests.rb +0 -47
- data/tests/requests/compute/spot_instance_tests.rb +0 -55
- data/tests/requests/compute/spot_price_history_tests.rb +0 -23
- data/tests/requests/compute/subnet_tests.rb +0 -87
- data/tests/requests/compute/tag_tests.rb +0 -101
- data/tests/requests/compute/volume_tests.rb +0 -263
- data/tests/requests/compute/vpc_tests.rb +0 -222
- data/tests/requests/data_pipeline/helper.rb +0 -78
- data/tests/requests/data_pipeline/pipeline_tests.rb +0 -80
- data/tests/requests/dns/change_resource_record_sets_tests.rb +0 -34
- data/tests/requests/dns/dns_tests.rb +0 -240
- data/tests/requests/dns/health_check_tests.rb +0 -159
- data/tests/requests/dns/helper.rb +0 -21
- data/tests/requests/dynamodb/item_tests.rb +0 -137
- data/tests/requests/dynamodb/table_tests.rb +0 -99
- data/tests/requests/ecs/cluster_tests.rb +0 -112
- data/tests/requests/ecs/container_instance_tests.rb +0 -119
- data/tests/requests/ecs/helper.rb +0 -276
- data/tests/requests/ecs/sample_task_definition1.json +0 -56
- data/tests/requests/ecs/service_tests.rb +0 -132
- data/tests/requests/ecs/task_definitions_tests.rb +0 -97
- data/tests/requests/ecs/task_tests.rb +0 -145
- data/tests/requests/efs/file_system_tests.rb +0 -152
- data/tests/requests/efs/helper.rb +0 -44
- data/tests/requests/elasticache/cache_cluster_tests.rb +0 -137
- data/tests/requests/elasticache/describe_events.rb +0 -17
- data/tests/requests/elasticache/describe_reserved_cache_nodes.rb +0 -17
- data/tests/requests/elasticache/helper.rb +0 -103
- data/tests/requests/elasticache/parameter_group_tests.rb +0 -105
- data/tests/requests/elasticache/security_group_tests.rb +0 -108
- data/tests/requests/elasticache/subnet_group_tests.rb +0 -52
- data/tests/requests/elb/helper.rb +0 -91
- data/tests/requests/elb/listener_tests.rb +0 -68
- data/tests/requests/elb/load_balancer_tests.rb +0 -89
- data/tests/requests/elb/policy_tests.rb +0 -132
- data/tests/requests/elbv2/helper.rb +0 -66
- data/tests/requests/elbv2/load_balancer_tests.rb +0 -50
- data/tests/requests/emr/helper.rb +0 -167
- data/tests/requests/emr/instance_group_tests.rb +0 -106
- data/tests/requests/emr/job_flow_tests.rb +0 -88
- data/tests/requests/federation/get_signin_token_tests.rb +0 -11
- data/tests/requests/glacier/archive_tests.rb +0 -13
- data/tests/requests/glacier/multipart_upload_tests.rb +0 -29
- data/tests/requests/glacier/tree_hash_tests.rb +0 -91
- data/tests/requests/glacier/vault_tests.rb +0 -35
- data/tests/requests/iam/access_key_tests.rb +0 -53
- data/tests/requests/iam/account_policy_tests.rb +0 -20
- data/tests/requests/iam/account_tests.rb +0 -34
- data/tests/requests/iam/group_policy_tests.rb +0 -48
- data/tests/requests/iam/group_tests.rb +0 -44
- data/tests/requests/iam/helper.rb +0 -154
- data/tests/requests/iam/instance_profile_tests.rb +0 -44
- data/tests/requests/iam/login_profile_tests.rb +0 -62
- data/tests/requests/iam/managed_policy_tests.rb +0 -110
- data/tests/requests/iam/mfa_tests.rb +0 -23
- data/tests/requests/iam/role_tests.rb +0 -156
- data/tests/requests/iam/server_certificate_tests.rb +0 -130
- data/tests/requests/iam/user_policy_tests.rb +0 -45
- data/tests/requests/iam/user_tests.rb +0 -78
- data/tests/requests/iam/versioned_managed_policy_tests.rb +0 -105
- data/tests/requests/kinesis/helper.rb +0 -111
- data/tests/requests/kinesis/stream_tests.rb +0 -169
- data/tests/requests/kms/helper.rb +0 -27
- data/tests/requests/kms/key_tests.rb +0 -23
- data/tests/requests/lambda/function_sample_1.js +0 -9
- data/tests/requests/lambda/function_sample_2.js +0 -9
- data/tests/requests/lambda/function_tests.rb +0 -460
- data/tests/requests/lambda/helper.rb +0 -81
- data/tests/requests/rds/cluster_snapshot_tests.rb +0 -43
- data/tests/requests/rds/cluster_tests.rb +0 -37
- data/tests/requests/rds/db_engine_versions.rb +0 -7
- data/tests/requests/rds/db_snapshot_tests.rb +0 -62
- data/tests/requests/rds/describe_events.rb +0 -16
- data/tests/requests/rds/event_subscription_tests.rb +0 -30
- data/tests/requests/rds/helper.rb +0 -406
- data/tests/requests/rds/instance_option_tests.rb +0 -27
- data/tests/requests/rds/instance_tests.rb +0 -149
- data/tests/requests/rds/log_file_tests.rb +0 -19
- data/tests/requests/rds/parameter_group_tests.rb +0 -62
- data/tests/requests/rds/parameter_request_tests.rb +0 -32
- data/tests/requests/rds/security_group_tests.rb +0 -101
- data/tests/requests/rds/subnet_groups_tests.rb +0 -52
- data/tests/requests/rds/tagging_tests.rb +0 -78
- data/tests/requests/redshift/cluster_parameter_group_tests.rb +0 -76
- data/tests/requests/redshift/cluster_security_group_tests.rb +0 -42
- data/tests/requests/redshift/cluster_snapshot_tests.rb +0 -73
- data/tests/requests/redshift/cluster_tests.rb +0 -80
- data/tests/requests/ses/helper.rb +0 -9
- data/tests/requests/ses/verified_domain_identity_tests.rb +0 -16
- data/tests/requests/ses/verified_email_address_tests.rb +0 -27
- data/tests/requests/simpledb/attributes_tests.rb +0 -86
- data/tests/requests/simpledb/domain_tests.rb +0 -51
- data/tests/requests/simpledb/helper.rb +0 -10
- data/tests/requests/sns/helper.rb +0 -9
- data/tests/requests/sns/subscription_tests.rb +0 -86
- data/tests/requests/sns/topic_tests.rb +0 -53
- data/tests/requests/sqs/helper.rb +0 -9
- data/tests/requests/sqs/message_tests.rb +0 -51
- data/tests/requests/sqs/queue_tests.rb +0 -50
- data/tests/requests/storage/acl_utils_tests.rb +0 -209
- data/tests/requests/storage/bucket_tests.rb +0 -416
- data/tests/requests/storage/cors_utils_tests.rb +0 -108
- data/tests/requests/storage/delete_multiple_objects_tests.rb +0 -12
- data/tests/requests/storage/multipart_copy_tests.rb +0 -93
- data/tests/requests/storage/multipart_upload_tests.rb +0 -121
- data/tests/requests/storage/object_tests.rb +0 -269
- data/tests/requests/storage/versioning_tests.rb +0 -300
- data/tests/requests/sts/assume_role_tests.rb +0 -19
- data/tests/requests/sts/assume_role_with_saml_tests.rb +0 -18
- data/tests/requests/sts/assume_role_with_web_identity_tests.rb +0 -28
- data/tests/requests/sts/get_federation_token_tests.rb +0 -20
- data/tests/requests/sts/session_token_tests.rb +0 -16
- data/tests/requests/support/helper.rb +0 -43
- data/tests/requests/support/trusted_advisor_check_tests.rb +0 -16
- data/tests/signaturev4_tests.rb +0 -106
- data/tests/signed_params_tests.rb +0 -17
- data/tests/storage_tests.rb +0 -7
data/tests/helpers/dns_helper.rb
DELETED
@@ -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,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
|
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,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
|