fog 1.24.0 → 1.25.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/CHANGELOG.md +184 -1
- data/CONTRIBUTORS.md +23 -0
- data/README.md +17 -9
- data/Rakefile +4 -0
- data/fog.gemspec +18 -6
- data/lib/fog.rb +1 -1
- data/lib/fog/aws/auto_scaling.rb +12 -12
- data/lib/fog/aws/beanstalk.rb +12 -10
- data/lib/fog/aws/cdn.rb +0 -1
- data/lib/fog/aws/cloud_formation.rb +13 -11
- data/lib/fog/aws/cloud_watch.rb +14 -11
- data/lib/fog/aws/compute.rb +19 -19
- data/lib/fog/aws/core.rb +21 -0
- data/lib/fog/aws/dns.rb +0 -1
- data/lib/fog/aws/elasticache.rb +13 -9
- data/lib/fog/aws/elb.rb +23 -14
- data/lib/fog/aws/emr.rb +11 -9
- data/lib/fog/aws/iam.rb +14 -11
- data/lib/fog/aws/models/compute/security_group.rb +41 -0
- data/lib/fog/aws/models/elb/load_balancer.rb +31 -0
- data/lib/fog/aws/models/glacier/archive.rb +3 -1
- data/lib/fog/aws/models/iam/role.rb +1 -1
- data/lib/fog/aws/models/iam/roles.rb +1 -1
- data/lib/fog/aws/models/storage/file.rb +1 -1
- data/lib/fog/aws/parsers/compute/describe_security_groups.rb +68 -53
- data/lib/fog/aws/parsers/elb/describe_load_balancer_attributes.rb +7 -0
- data/lib/fog/aws/parsers/elb/describe_tags.rb +26 -0
- data/lib/fog/aws/parsers/elb/tag_list_parser.rb +57 -0
- data/lib/fog/aws/parsers/storage/get_bucket_website.rb +5 -1
- data/lib/fog/aws/rds.rb +13 -11
- data/lib/fog/aws/region_methods.rb +1 -1
- data/lib/fog/aws/requests/dynamodb/put_item.rb +1 -1
- data/lib/fog/aws/requests/elb/add_tags.rb +46 -0
- data/lib/fog/aws/requests/elb/create_load_balancer.rb +4 -1
- data/lib/fog/aws/requests/elb/describe_load_balancer_attributes.rb +3 -0
- data/lib/fog/aws/requests/elb/describe_tags.rb +56 -0
- data/lib/fog/aws/requests/elb/modify_load_balancer_attributes.rb +9 -3
- data/lib/fog/aws/requests/elb/remove_tags.rb +46 -0
- data/lib/fog/aws/requests/storage/copy_object.rb +1 -1
- data/lib/fog/aws/requests/storage/delete_object.rb +4 -3
- data/lib/fog/aws/requests/storage/post_object_hidden_fields.rb +23 -5
- data/lib/fog/aws/requests/storage/post_object_restore.rb +1 -1
- data/lib/fog/aws/requests/storage/put_bucket_website.rb +46 -18
- data/lib/fog/aws/ses.rb +1 -2
- data/lib/fog/aws/signaturev4.rb +62 -15
- data/lib/fog/aws/simpledb.rb +0 -1
- data/lib/fog/aws/sns.rb +12 -9
- data/lib/fog/aws/sqs.rb +14 -10
- data/lib/fog/aws/storage.rb +102 -78
- data/lib/fog/aws/sts.rb +10 -9
- data/lib/fog/bare_metal_cloud/compute.rb +0 -1
- data/lib/fog/bin.rb +1 -0
- data/lib/fog/bin/brightbox.rb +3 -1
- data/lib/fog/bin/rackspace.rb +4 -0
- data/lib/fog/bluebox/models/compute/server.rb +1 -0
- data/lib/fog/cloudstack/models/compute/server.rb +12 -1
- data/lib/fog/cloudstack/models/compute/snapshots.rb +3 -2
- data/lib/fog/cloudstack/models/compute/volume.rb +5 -0
- data/lib/fog/cloudstack/models/compute/volumes.rb +3 -2
- data/lib/fog/core/parser.rb +2 -112
- data/lib/fog/dnsmadeeasy/dns.rb +0 -1
- data/lib/fog/dynect/core.rb +0 -1
- data/lib/fog/dynect/dns.rb +11 -3
- data/lib/fog/ecloud/compute.rb +0 -1
- data/lib/fog/ecloud/core.rb +1 -1
- data/lib/fog/fogdocker/compute.rb +4 -1
- data/lib/fog/fogdocker/core.rb +1 -7
- data/lib/fog/fogdocker/errors.rb +9 -0
- data/lib/fog/fogdocker/models/compute/images.rb +4 -0
- data/lib/fog/fogdocker/models/compute/server.rb +18 -1
- data/lib/fog/fogdocker/requests/compute/container_action.rb +53 -3
- data/lib/fog/fogdocker/requests/compute/container_get.rb +31 -12
- data/lib/fog/fogdocker/requests/compute/image_search.rb +29 -0
- data/lib/fog/google/dns.rb +46 -12
- data/lib/fog/google/examples/dns/project.rb +8 -0
- data/lib/fog/google/examples/dns/zones.rb +43 -0
- data/lib/fog/google/models/compute/images.rb +2 -1
- data/lib/fog/google/models/dns/change.rb +40 -0
- data/lib/fog/google/models/dns/changes.rb +52 -0
- data/lib/fog/google/models/dns/project.rb +75 -0
- data/lib/fog/google/models/dns/projects.rb +25 -0
- data/lib/fog/google/models/dns/record.rb +112 -0
- data/lib/fog/google/models/dns/records.rb +52 -0
- data/lib/fog/google/models/dns/zone.rb +74 -0
- data/lib/fog/google/models/dns/zones.rb +34 -0
- data/lib/fog/google/models/storage/file.rb +1 -1
- data/lib/fog/google/models/storage/files.rb +1 -5
- data/lib/fog/google/requests/dns/create_change.rb +64 -0
- data/lib/fog/google/requests/dns/create_managed_zone.rb +64 -31
- data/lib/fog/google/requests/dns/delete_managed_zone.rb +20 -24
- data/lib/fog/google/requests/dns/get_change.rb +42 -0
- data/lib/fog/google/requests/dns/get_managed_zone.rb +22 -16
- data/lib/fog/google/requests/dns/get_project.rb +42 -0
- data/lib/fog/google/requests/dns/list_changes.rb +41 -0
- data/lib/fog/google/requests/dns/list_managed_zones.rb +15 -10
- data/lib/fog/google/requests/dns/list_resource_record_sets.rb +50 -0
- data/lib/fog/google/storage.rb +0 -1
- data/lib/fog/hp/storage.rb +1 -1
- data/lib/fog/internet_archive/storage.rb +0 -1
- data/lib/fog/libvirt/models/compute/server.rb +17 -7
- data/lib/fog/opennebula/models/compute/flavor.rb +46 -8
- data/lib/fog/opennebula/models/compute/flavors.rb +7 -0
- data/lib/fog/opennebula/models/compute/interface.rb +1 -1
- data/lib/fog/opennebula/models/compute/network.rb +1 -0
- data/lib/fog/opennebula/models/compute/networks.rb +5 -1
- data/lib/fog/opennebula/requests/compute/list_networks.rb +34 -25
- data/lib/fog/opennebula/requests/compute/template_pool.rb +47 -5
- data/lib/fog/openstack/compute.rb +2 -2
- data/lib/fog/openstack/docs/storage.md +18 -0
- data/lib/fog/openstack/identity.rb +1 -1
- data/lib/fog/openstack/image.rb +1 -1
- data/lib/fog/openstack/metering.rb +1 -1
- data/lib/fog/openstack/models/compute/server.rb +1 -0
- data/lib/fog/openstack/models/storage/directory.rb +8 -2
- data/lib/fog/openstack/network.rb +1 -1
- data/lib/fog/openstack/orchestration.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_security_group.rb +1 -1
- data/lib/fog/openstack/requests/storage/public_url.rb +28 -0
- data/lib/fog/openstack/requests/storage/put_container.rb +1 -0
- data/lib/fog/openstack/storage.rb +1 -0
- data/lib/fog/openstack/volume.rb +1 -1
- data/lib/fog/ovirt/compute.rb +1 -0
- data/lib/fog/ovirt/models/compute/server.rb +5 -0
- data/lib/fog/ovirt/requests/compute/update_volume.rb +39 -0
- data/lib/fog/rackspace.rb +1 -0
- data/lib/fog/rackspace/core.rb +1 -0
- data/lib/fog/rackspace/docs/networking.md +315 -0
- data/lib/fog/rackspace/mock_data.rb +1 -2
- data/lib/fog/rackspace/models/dns/zones.rb +2 -1
- data/lib/fog/rackspace/models/load_balancers/node.rb +7 -0
- data/lib/fog/rackspace/models/networking/network.rb +27 -0
- data/lib/fog/rackspace/models/networking/networks.rb +23 -0
- data/lib/fog/rackspace/models/networking/virtual_interface.rb +85 -0
- data/lib/fog/rackspace/models/networking/virtual_interfaces.rb +45 -0
- data/lib/fog/rackspace/models/queues/queue.rb +1 -1
- data/lib/fog/rackspace/networking.rb +192 -0
- data/lib/fog/rackspace/requests/load_balancers/create_node.rb +3 -0
- data/lib/fog/rackspace/requests/load_balancers/update_node.rb +3 -0
- data/lib/fog/rackspace/requests/networking/create_network.rb +36 -0
- data/lib/fog/rackspace/requests/networking/create_virtual_interface.rb +30 -0
- data/lib/fog/rackspace/requests/networking/delete_network.rb +21 -0
- data/lib/fog/rackspace/requests/networking/delete_virtual_interface.rb +23 -0
- data/lib/fog/rackspace/requests/networking/get_network.rb +21 -0
- data/lib/fog/rackspace/requests/networking/list_networks.rb +18 -0
- data/lib/fog/rackspace/requests/networking/list_virtual_interfaces.rb +22 -0
- data/lib/fog/vcloud/compute.rb +0 -1
- data/lib/fog/vcloud/core.rb +1 -0
- data/lib/fog/vcloud_director/compute.rb +1 -1
- data/lib/fog/version.rb +1 -1
- data/lib/fog/vsphere/compute.rb +38 -1
- data/lib/fog/vsphere/requests/compute/list_clusters.rb +31 -1
- data/lib/fog/vsphere/requests/compute/modify_vm_interface.rb +1 -1
- data/lib/fog/zerigo/dns.rb +0 -1
- data/lib/tasks/changelog_task.rb +1 -0
- data/tests/aws/models/elb/model_tests.rb +6 -0
- data/tests/aws/models/elb/tagging_tests.rb +15 -0
- data/tests/aws/models/iam/access_keys_tests.rb +1 -1
- data/tests/aws/models/iam/policies_tests.rb +2 -1
- data/tests/aws/models/iam/users_tests.rb +7 -4
- data/tests/aws/models/storage/url_tests.rb +5 -9
- data/tests/aws/requests/compute/tag_tests.rb +2 -0
- data/tests/aws/requests/elb/load_balancer_tests.rb +5 -1
- data/tests/aws/requests/storage/bucket_tests.rb +15 -1
- data/tests/aws/signaturev4_tests.rb +47 -0
- data/tests/bluebox/requests/compute/block_tests.rb +2 -1
- data/tests/compute/helper.rb +0 -10
- data/tests/compute/models/flavors_tests.rb +1 -1
- data/tests/fogdocker/compute_tests.rb +1 -1
- data/tests/fogdocker/models/compute/server_tests.rb +13 -3
- data/tests/fogdocker/requests/compute/container_action_tests.rb +19 -8
- data/tests/fogdocker/requests/compute/image_search_tests.rb +11 -0
- data/tests/google/models/dns/change_tests.rb +28 -0
- data/tests/google/models/dns/changes_tests.rb +36 -0
- data/tests/google/models/dns/projects_tests.rb +12 -0
- data/tests/google/models/dns/record_tests.rb +42 -0
- data/tests/google/models/dns/records_tests.rb +36 -0
- data/tests/google/models/dns/zone_tests.rb +28 -0
- data/tests/google/models/dns/zones_tests.rb +14 -0
- data/tests/google/requests/dns/change_tests.rb +86 -0
- data/tests/google/requests/dns/managed_zone_tests.rb +1 -1
- data/tests/google/requests/dns/project_tests.rb +29 -0
- data/tests/google/requests/dns/record_tests.rb +49 -0
- data/tests/helper.rb +1 -1
- data/tests/helpers/mock_helper.rb +2 -2
- data/tests/opennebula/models/compute/flavor_tests.rb +29 -0
- data/tests/opennebula/models/compute/flavors_tests.rb +17 -0
- data/tests/opennebula/models/compute/network_tests.rb +2 -2
- data/tests/opennebula/models/compute/networks_tests.rb +2 -0
- data/tests/openstack/requests/storage/object_tests.rb +10 -0
- data/tests/ovirt/compute_tests.rb +1 -1
- data/tests/ovirt/requests/compute/update_volume_tests.rb +20 -0
- data/tests/rackspace/models/networking/network_tests.rb +10 -0
- data/tests/rackspace/models/networking/networks_tests.rb +10 -0
- data/tests/rackspace/models/networking/virtual_interface_tests.rb +33 -0
- data/tests/rackspace/models/networking/virtual_interfaces_tests.rb +24 -0
- data/tests/rackspace/models/queues/queue_tests.rb +9 -0
- data/tests/rackspace/networking_tests.rb +118 -0
- data/tests/rackspace/requests/networking/network_tests.rb +49 -0
- data/tests/rackspace/requests/networking/virtual_interface_tests.rb +49 -0
- data/tests/vsphere/requests/compute/list_clusters_tests.rb +11 -0
- metadata +228 -180
- data/lib/fog/bin/terremark.rb +0 -29
- data/lib/fog/bin/vmfusion.rb +0 -58
- data/lib/fog/bin/voxel.rb +0 -29
- data/lib/fog/terremark.rb +0 -11
- data/lib/fog/terremark/models/shared/address.rb +0 -25
- data/lib/fog/terremark/models/shared/addresses.rb +0 -45
- data/lib/fog/terremark/models/shared/image.rb +0 -19
- data/lib/fog/terremark/models/shared/images.rb +0 -41
- data/lib/fog/terremark/models/shared/internetservice.rb +0 -66
- data/lib/fog/terremark/models/shared/internetservices.rb +0 -39
- data/lib/fog/terremark/models/shared/network.rb +0 -31
- data/lib/fog/terremark/models/shared/networks.rb +0 -48
- data/lib/fog/terremark/models/shared/nodeservice.rb +0 -50
- data/lib/fog/terremark/models/shared/nodeservices.rb +0 -29
- data/lib/fog/terremark/models/shared/server.rb +0 -210
- data/lib/fog/terremark/models/shared/servers.rb +0 -50
- data/lib/fog/terremark/models/shared/task.rb +0 -46
- data/lib/fog/terremark/models/shared/tasks.rb +0 -54
- data/lib/fog/terremark/models/shared/vdc.rb +0 -40
- data/lib/fog/terremark/models/shared/vdcs.rb +0 -48
- data/lib/fog/terremark/parser.rb +0 -18
- data/lib/fog/terremark/parsers/shared/get_catalog.rb +0 -33
- data/lib/fog/terremark/parsers/shared/get_catalog_item.rb +0 -32
- data/lib/fog/terremark/parsers/shared/get_internet_services.rb +0 -57
- data/lib/fog/terremark/parsers/shared/get_keys_list.rb +0 -39
- data/lib/fog/terremark/parsers/shared/get_network_ips.rb +0 -24
- data/lib/fog/terremark/parsers/shared/get_node_services.rb +0 -32
- data/lib/fog/terremark/parsers/shared/get_organization.rb +0 -50
- data/lib/fog/terremark/parsers/shared/get_organizations.rb +0 -31
- data/lib/fog/terremark/parsers/shared/get_public_ips.rb +0 -26
- data/lib/fog/terremark/parsers/shared/get_tasks_list.rb +0 -35
- data/lib/fog/terremark/parsers/shared/get_vapp_template.rb +0 -31
- data/lib/fog/terremark/parsers/shared/get_vdc.rb +0 -87
- data/lib/fog/terremark/parsers/shared/instantiate_vapp_template.rb +0 -26
- data/lib/fog/terremark/parsers/shared/internet_service.rb +0 -58
- data/lib/fog/terremark/parsers/shared/network.rb +0 -39
- data/lib/fog/terremark/parsers/shared/node_service.rb +0 -28
- data/lib/fog/terremark/parsers/shared/public_ip.rb +0 -22
- data/lib/fog/terremark/parsers/shared/task.rb +0 -25
- data/lib/fog/terremark/parsers/shared/vapp.rb +0 -61
- data/lib/fog/terremark/requests/shared/add_internet_service.rb +0 -54
- data/lib/fog/terremark/requests/shared/add_node_service.rb +0 -51
- data/lib/fog/terremark/requests/shared/configure_vapp.rb +0 -59
- data/lib/fog/terremark/requests/shared/create_internet_service.rb +0 -59
- data/lib/fog/terremark/requests/shared/delete_internet_service.rb +0 -21
- data/lib/fog/terremark/requests/shared/delete_node_service.rb +0 -21
- data/lib/fog/terremark/requests/shared/delete_public_ip.rb +0 -21
- data/lib/fog/terremark/requests/shared/delete_vapp.rb +0 -20
- data/lib/fog/terremark/requests/shared/deploy_vapp.rb +0 -33
- data/lib/fog/terremark/requests/shared/get_catalog.rb +0 -30
- data/lib/fog/terremark/requests/shared/get_catalog_item.rb +0 -33
- data/lib/fog/terremark/requests/shared/get_internet_services.rb +0 -34
- data/lib/fog/terremark/requests/shared/get_keys_list.rb +0 -34
- data/lib/fog/terremark/requests/shared/get_network.rb +0 -69
- data/lib/fog/terremark/requests/shared/get_network_ips.rb +0 -29
- data/lib/fog/terremark/requests/shared/get_node_services.rb +0 -29
- data/lib/fog/terremark/requests/shared/get_organization.rb +0 -82
- data/lib/fog/terremark/requests/shared/get_organizations.rb +0 -45
- data/lib/fog/terremark/requests/shared/get_public_ip.rb +0 -31
- data/lib/fog/terremark/requests/shared/get_public_ips.rb +0 -68
- data/lib/fog/terremark/requests/shared/get_task.rb +0 -37
- data/lib/fog/terremark/requests/shared/get_tasks_list.rb +0 -30
- data/lib/fog/terremark/requests/shared/get_vapp.rb +0 -40
- data/lib/fog/terremark/requests/shared/get_vapp_template.rb +0 -33
- data/lib/fog/terremark/requests/shared/get_vdc.rb +0 -121
- data/lib/fog/terremark/requests/shared/instantiate_vapp_template.rb +0 -79
- data/lib/fog/terremark/requests/shared/power_off.rb +0 -33
- data/lib/fog/terremark/requests/shared/power_on.rb +0 -33
- data/lib/fog/terremark/requests/shared/power_reset.rb +0 -33
- data/lib/fog/terremark/requests/shared/power_shutdown.rb +0 -22
- data/lib/fog/terremark/shared.rb +0 -304
- data/lib/fog/terremark/vcloud.rb +0 -129
- data/lib/fog/vmfusion.rb +0 -1
- data/lib/fog/vmfusion/compute.rb +0 -28
- data/lib/fog/vmfusion/core.rb +0 -9
- data/lib/fog/vmfusion/models/compute/server.rb +0 -256
- data/lib/fog/vmfusion/models/compute/servers.rb +0 -36
- data/lib/fog/voxel.rb +0 -1
- data/lib/fog/voxel/compute.rb +0 -122
- data/lib/fog/voxel/core.rb +0 -16
- data/lib/fog/voxel/models/compute/image.rb +0 -13
- data/lib/fog/voxel/models/compute/images.rb +0 -27
- data/lib/fog/voxel/models/compute/server.rb +0 -73
- data/lib/fog/voxel/models/compute/servers.rb +0 -29
- data/lib/fog/voxel/parsers/compute/basic.rb +0 -27
- data/lib/fog/voxel/parsers/compute/devices_list.rb +0 -107
- data/lib/fog/voxel/parsers/compute/images_list.rb +0 -55
- data/lib/fog/voxel/parsers/compute/voxcloud_create.rb +0 -36
- data/lib/fog/voxel/parsers/compute/voxcloud_delete.rb +0 -27
- data/lib/fog/voxel/parsers/compute/voxcloud_status.rb +0 -42
- data/lib/fog/voxel/requests/compute/devices_list.rb +0 -22
- data/lib/fog/voxel/requests/compute/devices_power.rb +0 -20
- data/lib/fog/voxel/requests/compute/images_list.rb +0 -29
- data/lib/fog/voxel/requests/compute/voxcloud_create.rb +0 -20
- data/lib/fog/voxel/requests/compute/voxcloud_delete.rb +0 -18
- data/lib/fog/voxel/requests/compute/voxcloud_status.rb +0 -22
- data/lib/fog/xml.rb +0 -4
- data/lib/fog/xml/connection.rb +0 -24
- data/lib/fog/xml/sax_parser_connection.rb +0 -45
- data/tests/core/connection_tests.rb +0 -26
- data/tests/voxel/requests/compute/image_tests.rb +0 -52
- data/tests/voxel/requests/compute/server_tests.rb +0 -123
@@ -10,7 +10,7 @@ Shindo.tests('Fog::Compute[:fogdocker]', ['fogdocker']) do
|
|
10
10
|
|
11
11
|
tests("Compute requests") do
|
12
12
|
%w{ api_version container_all container_create container_delete container_get
|
13
|
-
container_action image_all image_create image_delete image_get }.each do |collection|
|
13
|
+
container_action image_all image_create image_delete image_get image_search }.each do |collection|
|
14
14
|
test("it should respond to #{collection}") { compute.respond_to? collection }
|
15
15
|
end
|
16
16
|
end
|
@@ -22,12 +22,22 @@ Shindo.tests('Fog::Compute[:fogdocker] | server model', ['fogdocker']) do
|
|
22
22
|
:created,
|
23
23
|
:ipaddress,
|
24
24
|
:state_running,
|
25
|
-
:cores,
|
26
25
|
:memory,
|
26
|
+
:cores,
|
27
|
+
:cpu_shares,
|
27
28
|
:hostname,
|
28
29
|
:image,
|
29
|
-
|
30
|
-
|
30
|
+
:attach_stdin,
|
31
|
+
:attach_stdout,
|
32
|
+
:attach_stderr,
|
33
|
+
:state_exit_code,
|
34
|
+
:state_pid,
|
35
|
+
:port_bindings,
|
36
|
+
:links,
|
37
|
+
:privileged,
|
38
|
+
:tty,
|
39
|
+
:exposed_ports,
|
40
|
+
:volumes
|
31
41
|
]
|
32
42
|
tests("The server model should respond to") do
|
33
43
|
attributes.each do |attribute|
|
@@ -2,23 +2,34 @@ Shindo.tests("Fog::Compute[:fogdocker] | container_action request", 'fogdocker')
|
|
2
2
|
|
3
3
|
compute = Fog::Compute[:fogdocker]
|
4
4
|
name = "fog-#{Time.now.to_i}"
|
5
|
-
response = compute.container_create(:name => name, 'image' => 'mattdm/fedora:f19','Cmd' => ['date']
|
5
|
+
response = compute.container_create(:name => name, 'image' => 'mattdm/fedora:f19','Cmd' => ['date'])
|
6
6
|
id = response['id']
|
7
7
|
|
8
8
|
tests("Start Container") do
|
9
|
-
response = compute.container_action(:id => id, :action =>
|
10
|
-
test("should be a kind of Hash") { response.kind_of?
|
9
|
+
response = compute.container_action(:id => id, :action => :start)
|
10
|
+
test("should be a kind of Hash") { response.kind_of? Hash }
|
11
|
+
test("should be running") { response['state_running'] == true }
|
11
12
|
end
|
12
13
|
|
13
14
|
tests("Stop Container") do
|
14
|
-
response = compute.container_action(:id => id, :action =>
|
15
|
-
test("should be a kind of Hash") { response.kind_of? Hash}
|
15
|
+
response = compute.container_action(:id => id, :action => :stop)
|
16
|
+
test("should be a kind of Hash") { response.kind_of? Hash }
|
16
17
|
end
|
17
18
|
|
18
19
|
tests("Kill Container") do
|
19
|
-
response = compute.container_action(:id => id, :action =>
|
20
|
-
test("should be a kind of Hash") { response.kind_of?
|
21
|
-
test("should be stopped") { response['state_running'] == false}
|
20
|
+
response = compute.container_action(:id => id, :action => :kill)
|
21
|
+
test("should be a kind of Hash") { response.kind_of? Hash }
|
22
|
+
test("should be stopped") { response['state_running'] == false }
|
22
23
|
end
|
23
24
|
|
25
|
+
tests("Top Container") do
|
26
|
+
response = compute.container_action(:id => id, :action => :top)
|
27
|
+
test("should be an Array") { response.kind_of? Array }
|
28
|
+
test("should be an array of processes") { !!(response.first['PID'] =~ /^\d+$/) }
|
29
|
+
end
|
30
|
+
|
31
|
+
tests("Logs Container") do
|
32
|
+
response = compute.container_action(:id => id, :action => :logs)
|
33
|
+
test("should be a String") { response.kind_of? String }
|
34
|
+
end
|
24
35
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Shindo.tests("Fog::Compute[:fogdocker] | image_search request", 'fogdocker') do
|
2
|
+
|
3
|
+
compute = Fog::Compute[:fogdocker]
|
4
|
+
|
5
|
+
tests("Search images") do
|
6
|
+
response = compute.image_search('term' => 'test')
|
7
|
+
test("should be a kind of Array") { response.kind_of? Array}
|
8
|
+
test("Array elements should be a kind of Hash") { response.first.kind_of? Hash}
|
9
|
+
test("response elemetns should have a name") { !response.first['name'].nil? && !response.first['name'].empty? }
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
Shindo.tests('Fog::DNS[:google] | change model', ['google']) do
|
2
|
+
# Google requires confirmation of ownership for created domains in some cases.
|
3
|
+
# If you want to run tests in non-mocked mode, set the environment variable to a domain you own.
|
4
|
+
unless Fog.mocking? || ENV['FOG_TEST_GOOGLE_DNS_ZONE']
|
5
|
+
tests('Needs a verified domain, set $FOG_TEST_GOOGLE_DNS_ZONE').pending
|
6
|
+
end
|
7
|
+
|
8
|
+
@dns = Fog::DNS[:google]
|
9
|
+
@zone = @dns.zones.create(
|
10
|
+
:name => Fog::Mock.random_letters(16),
|
11
|
+
:domain => ENV['FOG_TEST_GOOGLE_DNS_ZONE'] || generate_unique_domain,
|
12
|
+
:description => 'Fog test domain'
|
13
|
+
)
|
14
|
+
|
15
|
+
tests('success') do
|
16
|
+
|
17
|
+
tests('#pending?').succeeds do
|
18
|
+
@dns.changes(:service => @dns, :zone => @zone).get('0').pending? == false
|
19
|
+
end
|
20
|
+
|
21
|
+
tests('#ready?').succeeds do
|
22
|
+
@dns.changes(:service => @dns, :zone => @zone).get('0').ready? == true
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
@zone.destroy
|
28
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
Shindo.tests('Fog::DNS[:google] | changes model', ['google']) do
|
2
|
+
# Google requires confirmation of ownership for created domains in some cases.
|
3
|
+
# If you want to run tests in non-mocked mode, set the environment variable to a domain you own.
|
4
|
+
unless Fog.mocking? || ENV['FOG_TEST_GOOGLE_DNS_ZONE']
|
5
|
+
tests('Needs a verified domain, set $FOG_TEST_GOOGLE_DNS_ZONE').pending
|
6
|
+
end
|
7
|
+
|
8
|
+
@dns = Fog::DNS[:google]
|
9
|
+
@zone = @dns.zones.create(
|
10
|
+
:name => Fog::Mock.random_letters(16),
|
11
|
+
:domain => ENV['FOG_TEST_GOOGLE_DNS_ZONE'] || generate_unique_domain,
|
12
|
+
:description => 'Fog test domain'
|
13
|
+
)
|
14
|
+
|
15
|
+
tests('success') do
|
16
|
+
|
17
|
+
tests('#all').succeeds do
|
18
|
+
@dns.changes(:service => @dns, :zone => @zone).all
|
19
|
+
end
|
20
|
+
|
21
|
+
tests('#get').succeeds do
|
22
|
+
@dns.changes(:service => @dns, :zone => @zone).get('0')
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
tests('failure') do
|
28
|
+
|
29
|
+
tests('#get').returns(nil) do
|
30
|
+
@dns.changes(:service => @dns, :zone => @zone).get(Fog::Mock.random_letters_and_numbers(16))
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
@zone.destroy
|
36
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
Shindo.tests('Fog::DNS[:google] | record model', ['google']) do
|
2
|
+
# Google requires confirmation of ownership for created domains in some cases.
|
3
|
+
# If you want to run tests in non-mocked mode, set the environment variable to a domain you own.
|
4
|
+
unless Fog.mocking? || ENV['FOG_TEST_GOOGLE_DNS_ZONE']
|
5
|
+
tests('Needs a verified domain, set $FOG_TEST_GOOGLE_DNS_ZONE').pending
|
6
|
+
end
|
7
|
+
|
8
|
+
@dns = Fog::DNS[:google]
|
9
|
+
params = {
|
10
|
+
:name => "#{Fog::Mock.random_letters(16)}.#{ENV['FOG_TEST_GOOGLE_DNS_ZONE'] || generate_unique_domain}",
|
11
|
+
:type => 'A',
|
12
|
+
:ttl => 3600,
|
13
|
+
:rrdatas => ['192.168.1.1'],
|
14
|
+
}
|
15
|
+
|
16
|
+
tests('success') do
|
17
|
+
@zone = @dns.zones.create(
|
18
|
+
:name => Fog::Mock.random_letters(8),
|
19
|
+
:domain => ENV['FOG_TEST_GOOGLE_DNS_ZONE'] || generate_unique_domain,
|
20
|
+
:description => 'Fog test domain'
|
21
|
+
)
|
22
|
+
|
23
|
+
tests('#save').succeeds do
|
24
|
+
@record = @zone.records.create(params)
|
25
|
+
end
|
26
|
+
|
27
|
+
tests('#modify').succeeds do
|
28
|
+
@record.modify({ :ttl => 2600 })
|
29
|
+
end
|
30
|
+
|
31
|
+
tests('#reload').succeeds do
|
32
|
+
@record.reload
|
33
|
+
end
|
34
|
+
|
35
|
+
tests('#destroy').succeeds do
|
36
|
+
@record.destroy
|
37
|
+
end
|
38
|
+
|
39
|
+
@zone.destroy
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
Shindo.tests('Fog::DNS[:google] | records model', ['google']) do
|
2
|
+
# Google requires confirmation of ownership for created domains in some cases.
|
3
|
+
# If you want to run tests in non-mocked mode, set the environment variable to a domain you own.
|
4
|
+
unless Fog.mocking? || ENV['FOG_TEST_GOOGLE_DNS_ZONE']
|
5
|
+
tests('Needs a verified domain, set $FOG_TEST_GOOGLE_DNS_ZONE').pending
|
6
|
+
end
|
7
|
+
|
8
|
+
@dns = Fog::DNS[:google]
|
9
|
+
@zone = @dns.zones.create(
|
10
|
+
:name => Fog::Mock.random_letters(16),
|
11
|
+
:domain => ENV['FOG_TEST_GOOGLE_DNS_ZONE'] || generate_unique_domain,
|
12
|
+
:description => 'Fog test domain'
|
13
|
+
)
|
14
|
+
|
15
|
+
tests('success') do
|
16
|
+
|
17
|
+
tests('#all').succeeds do
|
18
|
+
@dns.records(:service => @dns, :zone => @zone).all
|
19
|
+
end
|
20
|
+
|
21
|
+
tests('#get').succeeds do
|
22
|
+
@dns.records(:service => @dns, :zone => @zone).get(@zone.domain, 'NS')
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
tests('failure') do
|
28
|
+
|
29
|
+
tests('#get').returns(nil) do
|
30
|
+
@dns.records(:service => @dns, :zone => @zone).get(@zone.domain, 'A')
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
@zone.destroy
|
36
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
Shindo.tests('Fog::DNS[:google] | zone model', ['google']) do
|
2
|
+
# Google requires confirmation of ownership for created domains in some cases.
|
3
|
+
# If you want to run tests in non-mocked mode, set the environment variable to a domain you own.
|
4
|
+
unless Fog.mocking? || ENV['FOG_TEST_GOOGLE_DNS_ZONE']
|
5
|
+
tests('Needs a verified domain, set $FOG_TEST_GOOGLE_DNS_ZONE').pending
|
6
|
+
end
|
7
|
+
|
8
|
+
params = {
|
9
|
+
:name => Fog::Mock.random_letters(16),
|
10
|
+
:domain => ENV['FOG_TEST_GOOGLE_DNS_ZONE'] || generate_unique_domain,
|
11
|
+
:description => 'Fog test domain'
|
12
|
+
}
|
13
|
+
model_tests(Fog::DNS[:google].zones, params)
|
14
|
+
|
15
|
+
tests('success') do
|
16
|
+
@zone = Fog::DNS[:google].zones.create(params)
|
17
|
+
|
18
|
+
tests('#changes').succeeds do
|
19
|
+
@zone.changes
|
20
|
+
end
|
21
|
+
|
22
|
+
tests('#records').succeeds do
|
23
|
+
@zone.records
|
24
|
+
end
|
25
|
+
|
26
|
+
@zone.destroy
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
Shindo.tests('Fog::DNS[:google] | zones model', ['google']) do
|
2
|
+
# Google requires confirmation of ownership for created domains in some cases.
|
3
|
+
# If you want to run tests in non-mocked mode, set the environment variable to a domain you own.
|
4
|
+
unless Fog.mocking? || ENV['FOG_TEST_GOOGLE_DNS_ZONE']
|
5
|
+
tests('Needs a verified domain, set $FOG_TEST_GOOGLE_DNS_ZONE').pending
|
6
|
+
end
|
7
|
+
|
8
|
+
params = {
|
9
|
+
:name => Fog::Mock.random_letters(16),
|
10
|
+
:domain => ENV['FOG_TEST_GOOGLE_DNS_ZONE'] || generate_unique_domain,
|
11
|
+
:description => 'Fog test domain'
|
12
|
+
}
|
13
|
+
collection_tests(Fog::DNS[:google].zones, params)
|
14
|
+
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
Shindo.tests('Fog::DNS[:google] | change requests', ['google']) do
|
2
|
+
# Google requires confirmation of ownership for created domains in some cases.
|
3
|
+
# If you want to run tests in non-mocked mode, set the environment variable to a domain you own.
|
4
|
+
unless Fog.mocking? || ENV['FOG_TEST_GOOGLE_DNS_ZONE']
|
5
|
+
tests('Needs a verified domain, set $FOG_TEST_GOOGLE_DNS_ZONE').pending
|
6
|
+
end
|
7
|
+
|
8
|
+
@dns = Fog::DNS[:google]
|
9
|
+
|
10
|
+
@get_change_format = {
|
11
|
+
'kind' => String,
|
12
|
+
'id' => String,
|
13
|
+
'startTime' => String,
|
14
|
+
'status' => String,
|
15
|
+
'additions' => Fog::Nullable::Array,
|
16
|
+
'deletions' => Fog::Nullable::Array,
|
17
|
+
}
|
18
|
+
|
19
|
+
@list_changes_format = {
|
20
|
+
'kind' => String,
|
21
|
+
'changes' => [@get_change_format],
|
22
|
+
}
|
23
|
+
|
24
|
+
@zone = @dns.zones.create(
|
25
|
+
:name => Fog::Mock.random_letters(16),
|
26
|
+
:domain => ENV['FOG_TEST_GOOGLE_DNS_ZONE'] || generate_unique_domain,
|
27
|
+
:description => 'Fog test domain'
|
28
|
+
)
|
29
|
+
|
30
|
+
rrset_resource = {
|
31
|
+
:name => "#{Fog::Mock.random_letters(16)}.#{ENV['FOG_TEST_GOOGLE_DNS_ZONE'] || generate_unique_domain}",
|
32
|
+
:type => 'A',
|
33
|
+
:ttl => 3600,
|
34
|
+
:rrdatas => ['192.168.1.1'],
|
35
|
+
}
|
36
|
+
|
37
|
+
tests('success') do
|
38
|
+
|
39
|
+
tests('#create_change.additions').formats(@get_change_format) do
|
40
|
+
@dns.create_change(@zone.identity, [rrset_resource], []).body
|
41
|
+
end
|
42
|
+
|
43
|
+
tests('#create_change.additions.deletions').formats(@get_change_format) do
|
44
|
+
@dns.create_change(@zone.identity, [rrset_resource], [rrset_resource]).body
|
45
|
+
end
|
46
|
+
|
47
|
+
tests('#create_change.deletions').formats(@get_change_format) do
|
48
|
+
@dns.create_change(@zone.identity, [], [rrset_resource]).body
|
49
|
+
end
|
50
|
+
|
51
|
+
tests('#list_changes').formats(@list_changes_format) do
|
52
|
+
@dns.list_changes(@zone.identity).body
|
53
|
+
end
|
54
|
+
|
55
|
+
tests('#get_change').formats(@get_change_format) do
|
56
|
+
@dns.get_change(@zone.identity, '0').body
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
tests('failure') do
|
62
|
+
|
63
|
+
tests('#list_changes').raises(Fog::Errors::NotFound) do
|
64
|
+
@dns.list_changes(generate_unique_domain).body
|
65
|
+
end
|
66
|
+
|
67
|
+
tests('#get_change').raises(Fog::Errors::NotFound) do
|
68
|
+
@dns.get_change(generate_unique_domain, Fog::Mock.random_letters_and_numbers(16)).body
|
69
|
+
end
|
70
|
+
|
71
|
+
tests('#get_change').raises(Fog::Errors::NotFound) do
|
72
|
+
@dns.get_change(@zone.identity, Fog::Mock.random_letters_and_numbers(16)).body
|
73
|
+
end
|
74
|
+
|
75
|
+
tests('#create_change').raises(Fog::Errors::NotFound) do
|
76
|
+
@dns.create_change(generate_unique_domain, [], [rrset_resource]).body
|
77
|
+
end
|
78
|
+
|
79
|
+
tests('#create_change').raises(Fog::Errors::NotFound) do
|
80
|
+
@dns.create_change(@zone.identity, [], [rrset_resource]).body
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
84
|
+
|
85
|
+
@zone.destroy
|
86
|
+
end
|
@@ -33,7 +33,7 @@ Shindo.tests('Fog::DNS[:google] | managed_zone requests', ['google']) do
|
|
33
33
|
|
34
34
|
tests("#create_managed_zone").data_matches_schema(
|
35
35
|
@managed_zone_schema, {:allow_extra_keys => false}) do
|
36
|
-
@google.create_managed_zone(zone_name, zone_dns_name).body
|
36
|
+
@google.create_managed_zone(zone_name, zone_dns_name, 'Fog test domain').body
|
37
37
|
end
|
38
38
|
|
39
39
|
tests("#get_managed_zone") do
|
@@ -0,0 +1,29 @@
|
|
1
|
+
Shindo.tests('Fog::DNS[:google] | project requests', ['google']) do
|
2
|
+
@dns = Fog::DNS[:google]
|
3
|
+
|
4
|
+
@project_quota_format = {
|
5
|
+
'kind' => String,
|
6
|
+
'managedZones' => Integer,
|
7
|
+
'rrsetsPerManagedZone' => Integer,
|
8
|
+
'rrsetAdditionsPerChange' => Integer,
|
9
|
+
'rrsetDeletionsPerChange'=>Integer,
|
10
|
+
'totalRrdataSizePerChange' => Integer,
|
11
|
+
'resourceRecordsPerRrset' => Integer,
|
12
|
+
}
|
13
|
+
|
14
|
+
@get_project_format = {
|
15
|
+
'kind' => String,
|
16
|
+
'number' => String,
|
17
|
+
'id' => String,
|
18
|
+
'quota' => @project_quota_format,
|
19
|
+
}
|
20
|
+
|
21
|
+
tests('success') do
|
22
|
+
|
23
|
+
tests('#get_project').formats(@get_project_format) do
|
24
|
+
@dns.get_project(@dns.project).body
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
Shindo.tests('Fog::DNS[:google] | record requests', ['google']) do
|
2
|
+
# Google requires confirmation of ownership for created domains in some cases.
|
3
|
+
# If you want to run tests in non-mocked mode, set the environment variable to a domain you own.
|
4
|
+
unless Fog.mocking? || ENV['FOG_TEST_GOOGLE_DNS_ZONE']
|
5
|
+
tests('Needs a verified domain, set $FOG_TEST_GOOGLE_DNS_ZONE').pending
|
6
|
+
end
|
7
|
+
|
8
|
+
@dns = Fog::DNS[:google]
|
9
|
+
|
10
|
+
@get_resource_record_sets_format = {
|
11
|
+
'kind' => String,
|
12
|
+
'name' => String,
|
13
|
+
'type' => String,
|
14
|
+
'ttl' => Integer,
|
15
|
+
'rrdatas' => Array,
|
16
|
+
}
|
17
|
+
|
18
|
+
@list_resource_record_sets_format = {
|
19
|
+
'kind' => String,
|
20
|
+
'rrsets' => [@get_resource_record_sets_format],
|
21
|
+
}
|
22
|
+
|
23
|
+
tests('success') do
|
24
|
+
@zone = @dns.zones.create(
|
25
|
+
:name => Fog::Mock.random_letters(16),
|
26
|
+
:domain => ENV['FOG_TEST_GOOGLE_DNS_ZONE'] || generate_unique_domain,
|
27
|
+
:description => 'Fog test domain'
|
28
|
+
)
|
29
|
+
|
30
|
+
tests('#list_resource_record_sets').formats(@list_resource_record_sets_format) do
|
31
|
+
@dns.list_resource_record_sets(@zone.identity).body
|
32
|
+
end
|
33
|
+
|
34
|
+
tests('#list_resource_record_sets (with name and type)').formats(@list_resource_record_sets_format) do
|
35
|
+
@dns.list_resource_record_sets(@zone.identity, { :name => @zone.domain, :type => 'NS' }).body
|
36
|
+
end
|
37
|
+
|
38
|
+
@zone.destroy
|
39
|
+
end
|
40
|
+
|
41
|
+
tests('failure') do
|
42
|
+
|
43
|
+
tests('#list_resource_record_sets').raises(Fog::Errors::NotFound) do
|
44
|
+
@dns.list_resource_record_sets(generate_unique_domain).body
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|