fog 0.8.1 → 0.8.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +106 -17
- data/bin/fog +1 -1
- data/changelog.txt +17 -0
- data/docs/_layouts/default.html +2 -1
- data/docs/about/contributing.markdown +1 -1
- data/docs/compute/index.markdown +104 -0
- data/docs/index.markdown +1 -0
- data/docs/storage/index.markdown +17 -0
- data/fog.gemspec +3 -2
- data/lib/fog.rb +1 -1
- data/lib/fog/aws/elb.rb +1 -0
- data/lib/fog/aws/iam.rb +1 -0
- data/lib/fog/aws/rds.rb +1 -0
- data/lib/fog/aws/requests/simpledb/batch_put_attributes.rb +5 -5
- data/lib/fog/aws/requests/simpledb/create_domain.rb +1 -1
- data/lib/fog/aws/requests/simpledb/delete_attributes.rb +3 -3
- data/lib/fog/aws/requests/simpledb/delete_domain.rb +1 -1
- data/lib/fog/aws/requests/simpledb/domain_metadata.rb +1 -1
- data/lib/fog/aws/requests/simpledb/get_attributes.rb +5 -5
- data/lib/fog/aws/requests/simpledb/list_domains.rb +2 -2
- data/lib/fog/aws/requests/simpledb/put_attributes.rb +6 -6
- data/lib/fog/aws/ses.rb +1 -0
- data/lib/fog/aws/simpledb.rb +8 -2
- data/lib/fog/bin.rb +2 -2
- data/lib/fog/cdn/aws.rb +8 -2
- data/lib/fog/cdn/rackspace.rb +8 -2
- data/lib/fog/compute/aws.rb +12 -3
- data/lib/fog/compute/bluebox.rb +8 -2
- data/lib/fog/compute/ecloud.rb +9 -4
- data/lib/fog/compute/go_grid.rb +8 -2
- data/lib/fog/compute/linode.rb +38 -6
- data/lib/fog/compute/models/aws/volumes.rb +4 -4
- data/lib/fog/compute/models/bluebox/server.rb +3 -3
- data/lib/fog/compute/models/brightbox/server.rb +9 -9
- data/lib/fog/compute/models/linode/data_center.rb +12 -0
- data/lib/fog/compute/models/linode/data_centers.rb +26 -0
- data/lib/fog/compute/models/linode/disk.rb +62 -0
- data/lib/fog/compute/models/linode/disks.rb +40 -0
- data/lib/fog/compute/models/linode/flavor.rb +23 -0
- data/lib/fog/compute/models/linode/flavors.rb +32 -0
- data/lib/fog/compute/models/linode/image.rb +14 -0
- data/lib/fog/compute/models/linode/images.rb +33 -0
- data/lib/fog/compute/models/linode/ip.rb +30 -0
- data/lib/fog/compute/models/linode/ips.rb +40 -0
- data/lib/fog/compute/models/linode/kernel.rb +12 -0
- data/lib/fog/compute/models/linode/kernels.rb +32 -0
- data/lib/fog/compute/models/linode/server.rb +88 -0
- data/lib/fog/compute/models/linode/servers.rb +32 -0
- data/lib/fog/compute/models/linode/stack_script.rb +13 -0
- data/lib/fog/compute/models/linode/stack_scripts.rb +32 -0
- data/lib/fog/compute/models/rackspace/server.rb +2 -2
- data/lib/fog/compute/models/slicehost/server.rb +2 -2
- data/lib/fog/compute/models/voxel/server.rb +3 -3
- data/lib/fog/compute/new_servers.rb +8 -2
- data/lib/fog/compute/rackspace.rb +8 -2
- data/lib/fog/compute/requests/aws/allocate_address.rb +4 -2
- data/lib/fog/compute/requests/aws/associate_address.rb +4 -2
- data/lib/fog/compute/requests/aws/attach_volume.rb +4 -2
- data/lib/fog/compute/requests/aws/authorize_security_group_ingress.rb +5 -3
- data/lib/fog/compute/requests/aws/create_image.rb +2 -1
- data/lib/fog/compute/requests/aws/create_key_pair.rb +4 -2
- data/lib/fog/compute/requests/aws/create_security_group.rb +5 -3
- data/lib/fog/compute/requests/aws/create_snapshot.rb +6 -4
- data/lib/fog/compute/requests/aws/create_tags.rb +7 -5
- data/lib/fog/compute/requests/aws/create_volume.rb +4 -2
- data/lib/fog/compute/requests/aws/delete_key_pair.rb +3 -1
- data/lib/fog/compute/requests/aws/delete_security_group.rb +4 -2
- data/lib/fog/compute/requests/aws/delete_snapshot.rb +3 -1
- data/lib/fog/compute/requests/aws/delete_tags.rb +5 -3
- data/lib/fog/compute/requests/aws/delete_volume.rb +4 -2
- data/lib/fog/compute/requests/aws/deregister_image.rb +2 -0
- data/lib/fog/compute/requests/aws/describe_addresses.rb +3 -1
- data/lib/fog/compute/requests/aws/describe_availability_zones.rb +2 -0
- data/lib/fog/compute/requests/aws/describe_images.rb +3 -1
- data/lib/fog/compute/requests/aws/describe_instances.rb +12 -10
- data/lib/fog/compute/requests/aws/describe_key_pairs.rb +3 -1
- data/lib/fog/compute/requests/aws/describe_regions.rb +2 -0
- data/lib/fog/compute/requests/aws/describe_reserved_instances.rb +2 -0
- data/lib/fog/compute/requests/aws/describe_reserved_instances_offerings.rb +2 -0
- data/lib/fog/compute/requests/aws/describe_security_groups.rb +3 -1
- data/lib/fog/compute/requests/aws/describe_snapshots.rb +5 -3
- data/lib/fog/compute/requests/aws/describe_tags.rb +2 -0
- data/lib/fog/compute/requests/aws/describe_volumes.rb +9 -7
- data/lib/fog/compute/requests/aws/detach_volume.rb +3 -1
- data/lib/fog/compute/requests/aws/disassociate_address.rb +4 -2
- data/lib/fog/compute/requests/aws/get_console_output.rb +3 -1
- data/lib/fog/compute/requests/aws/get_password_data.rb +15 -1
- data/lib/fog/compute/requests/aws/import_key_pair.rb +4 -2
- data/lib/fog/compute/requests/aws/modify_image_attributes.rb +4 -0
- data/lib/fog/compute/requests/aws/modify_snapshot_attribute.rb +4 -0
- data/lib/fog/compute/requests/aws/monitor_instances.rb +3 -1
- data/lib/fog/compute/requests/aws/reboot_instances.rb +4 -2
- data/lib/fog/compute/requests/aws/register_image.rb +4 -0
- data/lib/fog/compute/requests/aws/release_address.rb +3 -1
- data/lib/fog/compute/requests/aws/revoke_security_group_ingress.rb +3 -1
- data/lib/fog/compute/requests/aws/run_instances.rb +12 -6
- data/lib/fog/compute/requests/aws/start_instances.rb +2 -0
- data/lib/fog/compute/requests/aws/stop_instances.rb +2 -0
- data/lib/fog/compute/requests/aws/terminate_instances.rb +5 -3
- data/lib/fog/compute/requests/aws/unmonitor_instances.rb +3 -1
- data/lib/fog/compute/requests/go_grid/grid_image_get.rb +1 -1
- data/lib/fog/compute/requests/go_grid/grid_image_list.rb +1 -1
- data/lib/fog/compute/requests/linode/avail_datacenters.rb +1 -2
- data/lib/fog/compute/requests/linode/avail_distributions.rb +1 -2
- data/lib/fog/compute/requests/linode/avail_kernels.rb +6 -5
- data/lib/fog/compute/requests/linode/avail_linodeplans.rb +9 -3
- data/lib/fog/compute/requests/linode/avail_stackscripts.rb +3 -15
- data/lib/fog/compute/requests/linode/linode_boot.rb +15 -0
- data/lib/fog/compute/requests/linode/linode_config_create.rb +21 -0
- data/lib/fog/compute/requests/linode/linode_config_list.rb +18 -0
- data/lib/fog/compute/requests/linode/linode_create.rb +3 -4
- data/lib/fog/compute/requests/linode/linode_delete.rb +0 -1
- data/lib/fog/compute/requests/linode/linode_disk_create.rb +21 -0
- data/lib/fog/compute/requests/linode/linode_disk_createfromdistribution.rb +22 -0
- data/lib/fog/compute/requests/linode/linode_disk_createfromstackscript.rb +24 -0
- data/lib/fog/compute/requests/linode/linode_disk_delete.rb +19 -0
- data/lib/fog/compute/requests/linode/linode_disk_list.rb +19 -0
- data/lib/fog/compute/requests/linode/linode_ip_addprivate.rb +15 -0
- data/lib/fog/compute/requests/linode/linode_ip_list.rb +19 -0
- data/lib/fog/compute/requests/linode/linode_list.rb +0 -1
- data/lib/fog/compute/requests/linode/linode_reboot.rb +1 -2
- data/lib/fog/compute/requests/linode/linode_shutdown.rb +15 -0
- data/lib/fog/compute/requests/linode/linode_update.rb +15 -0
- data/lib/fog/compute/requests/linode/stackscript_list.rb +31 -0
- data/lib/fog/compute/requests/rackspace/confirm_resized_server.rb +3 -3
- data/lib/fog/compute/requests/rackspace/create_image.rb +2 -2
- data/lib/fog/compute/requests/rackspace/create_server.rb +2 -2
- data/lib/fog/compute/requests/rackspace/delete_image.rb +2 -2
- data/lib/fog/compute/requests/rackspace/delete_server.rb +2 -2
- data/lib/fog/compute/requests/rackspace/list_images_detail.rb +2 -2
- data/lib/fog/compute/requests/rackspace/list_servers_detail.rb +2 -2
- data/lib/fog/compute/requests/rackspace/resize_server.rb +4 -4
- data/lib/fog/compute/requests/rackspace/revert_resized_server.rb +4 -4
- data/lib/fog/compute/slicehost.rb +8 -2
- data/lib/fog/compute/storm_on_demand.rb +12 -1
- data/lib/fog/compute/voxel.rb +8 -2
- data/lib/fog/core/mock.rb +14 -1
- data/lib/fog/dns/aws.rb +8 -2
- data/lib/fog/dns/bluebox.rb +8 -2
- data/lib/fog/dns/dnsimple.rb +15 -3
- data/lib/fog/dns/linode.rb +8 -2
- data/lib/fog/dns/slicehost.rb +8 -2
- data/lib/fog/dns/zerigo.rb +8 -2
- data/lib/fog/providers/aws.rb +5 -10
- data/lib/fog/providers/linode.rb +0 -3
- data/lib/fog/storage.rb +6 -4
- data/lib/fog/storage/aws.rb +8 -2
- data/lib/fog/storage/google.rb +8 -2
- data/lib/fog/storage/local.rb +8 -2
- data/lib/fog/storage/models/aws/file.rb +0 -1
- data/lib/fog/storage/models/google/file.rb +1 -5
- data/lib/fog/storage/models/local/file.rb +1 -1
- data/lib/fog/storage/models/rackspace/file.rb +1 -5
- data/lib/fog/storage/rackspace.rb +8 -2
- data/lib/fog/storage/requests/aws/copy_object.rb +2 -2
- data/lib/fog/storage/requests/aws/delete_bucket.rb +3 -3
- data/lib/fog/storage/requests/aws/delete_object.rb +1 -1
- data/lib/fog/storage/requests/aws/get_bucket.rb +1 -1
- data/lib/fog/storage/requests/aws/get_bucket_acl.rb +1 -1
- data/lib/fog/storage/requests/aws/get_bucket_location.rb +1 -1
- data/lib/fog/storage/requests/aws/get_object.rb +1 -1
- data/lib/fog/storage/requests/aws/get_object_acl.rb +1 -1
- data/lib/fog/storage/requests/aws/get_request_payment.rb +1 -1
- data/lib/fog/storage/requests/aws/get_service.rb +1 -1
- data/lib/fog/storage/requests/aws/put_bucket.rb +3 -3
- data/lib/fog/storage/requests/aws/put_object.rb +3 -3
- data/lib/fog/storage/requests/aws/put_request_payment.rb +1 -1
- data/lib/fog/storage/requests/google/copy_object.rb +2 -2
- data/lib/fog/storage/requests/google/delete_bucket.rb +3 -3
- data/lib/fog/storage/requests/google/delete_object.rb +1 -1
- data/lib/fog/storage/requests/google/get_bucket.rb +1 -1
- data/lib/fog/storage/requests/google/get_bucket_acl.rb +1 -1
- data/lib/fog/storage/requests/google/get_object.rb +1 -1
- data/lib/fog/storage/requests/google/get_object_acl.rb +1 -1
- data/lib/fog/storage/requests/google/get_service.rb +2 -2
- data/lib/fog/storage/requests/google/put_bucket.rb +3 -3
- data/lib/fog/storage/requests/google/put_object.rb +3 -3
- data/lib/fog/terremark/requests/shared/get_network.rb +1 -1
- data/lib/fog/terremark/requests/shared/get_organization.rb +1 -1
- data/lib/fog/terremark/requests/shared/get_organizations.rb +1 -1
- data/lib/fog/terremark/requests/shared/get_public_ips.rb +1 -1
- data/lib/fog/terremark/requests/shared/get_vdc.rb +1 -1
- data/lib/fog/terremark/shared.rb +4 -0
- data/lib/fog/terremark/vcloud.rb +11 -1
- data/spec/ecloud/bin_spec.rb +8 -2
- data/spec/ecloud/spec_helper.rb +3 -3
- data/tests/compute/helper.rb +1 -3
- data/tests/compute/models/aws/server_tests.rb +3 -2
- data/tests/compute/requests/aws/instance_tests.rb +12 -9
- data/tests/compute/requests/aws/key_pair_tests.rb +1 -1
- data/tests/compute/requests/aws/volume_tests.rb +2 -2
- data/tests/compute/requests/brightbox/helper.rb +3 -0
- data/tests/compute/requests/linode/kernel_tests.rb +27 -0
- data/tests/compute/requests/linode/linode_tests.rb +62 -4
- data/tests/compute/requests/linode/stackscripts_tests.rb +35 -0
- data/tests/compute/requests/rackspace/resize_tests.rb +2 -2
- data/tests/compute/requests/voxel/server_tests.rb +1 -0
- data/tests/core/credential_tests.rb +7 -2
- data/tests/core/parser_tests.rb +1 -1
- data/tests/helper.rb +1 -1
- data/tests/helpers/compute/server_helper.rb +6 -0
- data/tests/helpers/formats_helper.rb +2 -0
- data/tests/helpers/mock_helper.rb +8 -1
- data/tests/helpers/model_helper.rb +1 -3
- data/tests/helpers/responds_to_helper.rb +2 -2
- data/tests/storage/helper.rb +1 -1
- data/tests/storage/models/directories_tests.rb +8 -4
- data/tests/storage/models/directory_test.rb +15 -11
- data/tests/storage/models/file_tests.rb +6 -6
- data/tests/storage/models/files_tests.rb +5 -5
- metadata +105 -55
data/spec/ecloud/spec_helper.rb
CHANGED
@@ -253,7 +253,7 @@ end
|
|
253
253
|
|
254
254
|
Spec::Runner.configure do |config|
|
255
255
|
config.after(:all) do
|
256
|
-
Fog::Ecloud::Compute::Mock.
|
256
|
+
Fog::Ecloud::Compute::Mock.reset
|
257
257
|
end
|
258
258
|
|
259
259
|
config.before(:each, :type => :vcloud_request) do
|
@@ -261,12 +261,12 @@ Spec::Runner.configure do |config|
|
|
261
261
|
end
|
262
262
|
|
263
263
|
config.before(:each, :type => :mock_tmrk_ecloud_request) do
|
264
|
-
Fog::Ecloud::Compute::Mock.
|
264
|
+
Fog::Ecloud::Compute::Mock.reset
|
265
265
|
setup_ecloud_mock_data
|
266
266
|
@vcloud = Fog::Ecloud::Compute.new(:ecloud_username => "foo", :ecloud_password => "bar", :ecloud_versions_uri => "http://fakey.com/api/versions")
|
267
267
|
end
|
268
268
|
config.before(:each, :type => :mock_tmrk_ecloud_model) do
|
269
|
-
Fog::Ecloud::Compute::Mock.
|
269
|
+
Fog::Ecloud::Compute::Mock.reset
|
270
270
|
setup_ecloud_mock_data
|
271
271
|
@vcloud = Fog::Ecloud::Compute.new(:ecloud_username => "foo", :ecloud_password => "bar", :ecloud_versions_uri => "http://fakey.com/api/versions")
|
272
272
|
end
|
data/tests/compute/helper.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
Shindo.tests("AWS::Compute | monitor", ['aws']) do
|
2
2
|
|
3
|
-
|
3
|
+
@instance = AWS[:compute].servers.new
|
4
|
+
|
5
|
+
[:addresses, :flavor, :key_pair, :key_pair=, :volumes].each do |association|
|
4
6
|
responds_to(association)
|
5
7
|
end
|
6
8
|
|
7
|
-
@instance = AWS[:compute].servers.new
|
8
9
|
|
9
10
|
tests('new instance') do
|
10
11
|
|
@@ -4,7 +4,7 @@ Shindo.tests('AWS::Compute | instance requests', ['aws']) do
|
|
4
4
|
# 'architecture' => String,
|
5
5
|
'amiLaunchIndex' => Integer,
|
6
6
|
'blockDeviceMapping' => [],
|
7
|
-
'clientToken' =>
|
7
|
+
'clientToken' => Fog::Nullable::String,
|
8
8
|
'dnsName' => NilClass,
|
9
9
|
'imageId' => String,
|
10
10
|
'instanceId' => String,
|
@@ -60,7 +60,7 @@ Shindo.tests('AWS::Compute | instance requests', ['aws']) do
|
|
60
60
|
|
61
61
|
@get_password_data_format = {
|
62
62
|
'instanceId' => String,
|
63
|
-
'passwordData' => String,
|
63
|
+
'passwordData' => Fog::Nullable::String,
|
64
64
|
'requestId' => String,
|
65
65
|
'timestamp' => Time
|
66
66
|
}
|
@@ -119,15 +119,18 @@ Shindo.tests('AWS::Compute | instance requests', ['aws']) do
|
|
119
119
|
end
|
120
120
|
|
121
121
|
tests("#get_password_data('#{@instance_id}')").formats(@get_password_data_format) do
|
122
|
-
|
123
|
-
result = nil
|
124
|
-
Fog.wait_for do
|
125
|
-
result = AWS[:compute].get_password_data(@instance_id).body
|
126
|
-
!result['passwordData'].nil?
|
127
|
-
end
|
122
|
+
result = AWS[:compute].get_password_data(@instance_id).body
|
128
123
|
|
129
124
|
tests("key can decrypt passwordData").returns(true) do
|
130
|
-
|
125
|
+
|
126
|
+
pending if Fog.mocking?
|
127
|
+
|
128
|
+
password_data = result['passwordData']
|
129
|
+
Fog.wait_for do
|
130
|
+
password_data ||= AWS[:compute].get_password_data(@instance_id).body['passwordData']
|
131
|
+
end
|
132
|
+
|
133
|
+
decoded_password = Base64.decode64(password_data)
|
131
134
|
pkey = OpenSSL::PKey::RSA.new(key.private_key)
|
132
135
|
String === pkey.private_decrypt(decoded_password)
|
133
136
|
end
|
@@ -21,7 +21,7 @@ Shindo.tests('AWS::Compute | key pair requests', ['aws']) do
|
|
21
21
|
|
22
22
|
tests("#create_key_pair('#{@key_pair_name}')").formats(@keypair_format.merge({'keyMaterial' => String})) do
|
23
23
|
body = AWS[:compute].create_key_pair(@key_pair_name).body
|
24
|
-
tests("
|
24
|
+
tests("key material").returns(OpenSSL::PKey::RSA, "is a valid private RSA key") do
|
25
25
|
OpenSSL::PKey::RSA.new(body['keyMaterial']).class
|
26
26
|
end
|
27
27
|
body
|
@@ -22,12 +22,12 @@ Shindo.tests('AWS::Compute | volume requests', ['aws']) do
|
|
22
22
|
@volumes_format = {
|
23
23
|
'volumeSet' => [{
|
24
24
|
'availabilityZone' => String,
|
25
|
-
'attachmentSet' =>
|
25
|
+
'attachmentSet' => Array,
|
26
26
|
'createTime' => Time,
|
27
27
|
'size' => Integer,
|
28
28
|
'snapshotId' => Fog::Nullable::String,
|
29
29
|
'status' => String,
|
30
|
-
'tagSet' =>
|
30
|
+
'tagSet' => Hash,
|
31
31
|
'volumeId' => String
|
32
32
|
}],
|
33
33
|
'requestId' => String
|
@@ -270,6 +270,9 @@ class Brightbox
|
|
270
270
|
"library_ftp_host" => String,
|
271
271
|
"library_ftp_user" => String,
|
272
272
|
"library_ftp_password" => Fog::Nullable::String,
|
273
|
+
"verified_telephone" => Fog::Nullable::Boolean,
|
274
|
+
"verified_at" => Fog::Nullable::Time,
|
275
|
+
"verified_ip" => Fog::Nullable::String,
|
273
276
|
"owner" => Brightbox::Compute::Formats::Nested::USER,
|
274
277
|
"users" => [Brightbox::Compute::Formats::Nested::USER],
|
275
278
|
"clients" => [Brightbox::Compute::Formats::Nested::API_CLIENT],
|
@@ -0,0 +1,27 @@
|
|
1
|
+
Shindo.tests('Linode::Compute | kernel requests', ['linode']) do
|
2
|
+
|
3
|
+
@kernels_format = Linode::Compute::Formats::BASIC.merge({
|
4
|
+
'DATA' => [{
|
5
|
+
'LABEL' => String,
|
6
|
+
'ISXEN' => Integer,
|
7
|
+
'ISPVOPS' => Integer,
|
8
|
+
'KERNELID' => Integer
|
9
|
+
}]
|
10
|
+
})
|
11
|
+
|
12
|
+
tests('success') do
|
13
|
+
@kernel_id = nil
|
14
|
+
|
15
|
+
tests('#avail_kernels').formats(@kernels_format) do
|
16
|
+
pending if Fog.mocking?
|
17
|
+
data = Linode[:compute].avail_kernels.body
|
18
|
+
@kernel_id = data['DATA'].first['KERNELID']
|
19
|
+
data
|
20
|
+
end
|
21
|
+
|
22
|
+
tests("@avail_kernels(#{@kernel_id})").formats(@kernels_format) do
|
23
|
+
pending if Fog.mocking?
|
24
|
+
Linode[:compute].avail_kernels(@kernel_id).body
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -35,6 +35,28 @@ Shindo.tests('Linode::Compute | linode requests', ['linode']) do
|
|
35
35
|
'DATA' => { 'JobID' => Integer }
|
36
36
|
})
|
37
37
|
|
38
|
+
@ip_format = Linode::Compute::Formats::BASIC.merge({
|
39
|
+
'DATA' => { 'IPAddressID' => Integer }
|
40
|
+
})
|
41
|
+
|
42
|
+
@disks_format = Linode::Compute::Formats::BASIC.merge({
|
43
|
+
'DATA' => [{
|
44
|
+
"UPDATE_DT" => String,
|
45
|
+
"DISKID" => Integer,
|
46
|
+
"LABEL" => String,
|
47
|
+
"TYPE" => String,
|
48
|
+
"LINODEID" => Integer,
|
49
|
+
"ISREADONLY" => Integer,
|
50
|
+
"STATUS" => Integer,
|
51
|
+
"CREATE_DT" => String,
|
52
|
+
"SIZE" => Integer
|
53
|
+
}]
|
54
|
+
})
|
55
|
+
|
56
|
+
@disk_format = Linode::Compute::Formats::BASIC.merge({
|
57
|
+
'DATA' => { 'JobID' => Integer, 'DiskID' => Integer }
|
58
|
+
})
|
59
|
+
|
38
60
|
tests('success') do
|
39
61
|
|
40
62
|
@linode_id = nil
|
@@ -53,16 +75,52 @@ Shindo.tests('Linode::Compute | linode requests', ['linode']) do
|
|
53
75
|
end
|
54
76
|
|
55
77
|
tests('#linode_list').formats(@linodes_format) do
|
56
|
-
pending if Fog.mocking?
|
78
|
+
pending if Fog.mocking?
|
57
79
|
Linode[:compute].linode_list.body
|
58
80
|
end
|
59
81
|
|
82
|
+
tests('#linode_update').formats(@linode_format) do
|
83
|
+
pending if Fog.mocking?
|
84
|
+
Linode[:compute].linode_update(@linode_id, :label => 'testing').body
|
85
|
+
end
|
86
|
+
|
87
|
+
tests('#linode_ip_addprivate').formats(@ip_format) do
|
88
|
+
pending if Fog.mocking?
|
89
|
+
Linode[:compute].linode_ip_addprivate(@linode_id).body
|
90
|
+
end
|
91
|
+
|
92
|
+
tests('#linode_disk_create').formats(@disk_format) do
|
93
|
+
pending if Fog.mocking?
|
94
|
+
data = Linode[:compute].linode_disk_create(@linode_id, 'test1', 'ext3', 1).body
|
95
|
+
@disk1_id = data['DATA']['DiskID']
|
96
|
+
data
|
97
|
+
end
|
98
|
+
|
99
|
+
tests('#linode_disk_createfromdistribution').formats(@disk_format) do
|
100
|
+
pending if Fog.mocking?
|
101
|
+
data = Linode[:compute].linode_disk_createfromdistribution(@linode_id, 73, 'test1', 600, 'P@SSW)RD').body
|
102
|
+
@disk2_id = data['DATA']['DiskID']
|
103
|
+
data
|
104
|
+
end
|
105
|
+
|
106
|
+
tests('#linode_disk_list').formats(@disks_format) do
|
107
|
+
pending if Fog.mocking?
|
108
|
+
Linode[:compute].linode_disk_list(@linode_id).body
|
109
|
+
end
|
110
|
+
|
60
111
|
# tests("#linode_reboot(#{@linode_id})").formats(@reboot_format) do
|
61
112
|
# Linode[:compute].linode_reboot(@linode_id).body
|
62
|
-
# end
|
113
|
+
# end
|
114
|
+
|
115
|
+
tests('#linode_disk_delete').formats(@disk_format) do
|
116
|
+
pending if Fog.mocking?
|
117
|
+
Linode[:compute].linode_disk_delete(@linode_id, @disk1_id).body
|
118
|
+
Linode[:compute].linode_disk_delete(@linode_id, @disk2_id).body
|
119
|
+
end
|
63
120
|
|
64
121
|
tests('#linode_delete(#{@linode_id})').succeeds do
|
65
122
|
pending if Fog.mocking?
|
123
|
+
sleep 1 until Linode[:compute].linode_disk_list(@linode_id).body['DATA'].size == 0
|
66
124
|
Linode[:compute].linode_delete(@linode_id)
|
67
125
|
end
|
68
126
|
|
@@ -72,12 +130,12 @@ Shindo.tests('Linode::Compute | linode requests', ['linode']) do
|
|
72
130
|
|
73
131
|
tests('#linode_reboot(0)').raises(Fog::Linode::Compute::NotFound) do
|
74
132
|
pending if Fog.mocking?
|
75
|
-
Linode[:compute].linode_reboot(
|
133
|
+
Linode[:compute].linode_reboot(1)
|
76
134
|
end
|
77
135
|
|
78
136
|
tests('#linode_delete(0)').raises(Fog::Linode::Compute::NotFound) do
|
79
137
|
pending if Fog.mocking?
|
80
|
-
Linode[:compute].linode_delete(
|
138
|
+
Linode[:compute].linode_delete(1)
|
81
139
|
end
|
82
140
|
|
83
141
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
Shindo.tests('Linode::Compute | stack_script requests', ['linode']) do
|
2
|
+
|
3
|
+
@stack_scripts_format = Linode::Compute::Formats::BASIC.merge({
|
4
|
+
'DATA' => [{
|
5
|
+
'STACKSCRIPTID' => Integer,
|
6
|
+
'SCRIPT' => String,
|
7
|
+
'DESCRIPTION' => String,
|
8
|
+
'DISTRIBUTIONIDLIST' => String,
|
9
|
+
'LABEL' => String,
|
10
|
+
'DEPLOYMENTSTOTAL' => Integer,
|
11
|
+
'LATESTREV' => Integer,
|
12
|
+
'CREATE_DT' => String,
|
13
|
+
'DEPLOYMENTSACTIVE' => Integer,
|
14
|
+
'REV_NOTE' => String,
|
15
|
+
'REV_DT' => String,
|
16
|
+
'ISPUBLIC' => Integer,
|
17
|
+
'USERID' => Integer
|
18
|
+
}]
|
19
|
+
})
|
20
|
+
|
21
|
+
tests('success') do
|
22
|
+
|
23
|
+
tests('#avail_stackscripts').formats(@stack_scripts_format) do
|
24
|
+
pending if Fog.mocking?
|
25
|
+
Linode[:compute].avail_stackscripts.body
|
26
|
+
end
|
27
|
+
|
28
|
+
tests('#stackscript_list').formats(@stack_scripts_format) do
|
29
|
+
pending if Fog.mocking?
|
30
|
+
Linode[:compute].stackscript_list.body
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -14,12 +14,12 @@ Shindo.tests('Rackspace::Compute | resize request', ['rackspace']) do
|
|
14
14
|
Rackspace[:compute].resize_server(@revert_server.id, 2)
|
15
15
|
end
|
16
16
|
|
17
|
-
@confirm_server.wait_for {
|
17
|
+
@confirm_server.wait_for { state == 'VERIFY_RESIZE' }
|
18
18
|
tests("#confirm_resized_server(#{@confirm_server.id})").succeeds do
|
19
19
|
Rackspace[:compute].confirm_resized_server(@confirm_server.id)
|
20
20
|
end
|
21
21
|
|
22
|
-
@revert_server.wait_for {
|
22
|
+
@revert_server.wait_for { state == 'VERIFY_RESIZE' }
|
23
23
|
tests("#revert_resized_server(#{@revert_server.id})").succeeds do
|
24
24
|
Rackspace[:compute].revert_resized_server(@revert_server.id)
|
25
25
|
end
|
@@ -21,12 +21,17 @@ Shindo.tests do
|
|
21
21
|
Fog.credentials_path
|
22
22
|
}
|
23
23
|
|
24
|
-
returns('
|
25
|
-
ENV['HOME'] = '/home/me'
|
24
|
+
returns(File.join(ENV['HOME'], '.fog'), 'falls back to home path if FOG_RC not set') {
|
26
25
|
ENV.delete('FOG_RC')
|
27
26
|
Fog.credentials_path
|
28
27
|
}
|
29
28
|
|
29
|
+
returns(nil, 'ignores home path if it does not exist') {
|
30
|
+
ENV.delete('FOG_RC')
|
31
|
+
ENV['HOME'] = '/no/such/path'
|
32
|
+
Fog.credentials_path
|
33
|
+
}
|
34
|
+
|
30
35
|
returns(nil, 'returns nil when neither FOG_RC or HOME are set') {
|
31
36
|
ENV.delete('HOME')
|
32
37
|
ENV.delete('FOG_RC')
|
data/tests/core/parser_tests.rb
CHANGED
@@ -59,7 +59,7 @@ posuere eu odio. Donec sodales, ante porta condimentum
|
|
59
59
|
}
|
60
60
|
|
61
61
|
|
62
|
-
tests('TestParser').returns(@response) do
|
62
|
+
tests('TestParser').returns(@response, "returns the response") do
|
63
63
|
test_parser = TestParser.new
|
64
64
|
Nokogiri::XML::SAX::Parser.new(test_parser).parse(@xml)
|
65
65
|
test_parser.response
|
data/tests/helper.rb
CHANGED
@@ -9,7 +9,7 @@ end
|
|
9
9
|
|
10
10
|
# check to see which credentials are available and add others to the skipped tags list
|
11
11
|
all_providers = ['aws', 'bluebox', 'brightbox', 'dnsimple', 'ecloud', 'gogrid', 'google', 'linode', 'local', 'newservers', 'rackspace', 'slicehost', 'stormondemand', 'voxel', 'zerigo']
|
12
|
-
available_providers = Fog.
|
12
|
+
available_providers = Fog.available_providers.map {|provider| provider.downcase}
|
13
13
|
for provider in (all_providers - available_providers)
|
14
14
|
Formatador.display_line("[yellow]Skipping tests for [bold]#{provider}[/] [yellow]due to lacking credentials (add some to '~/.fog' to run them)[/]")
|
15
15
|
Thread.current[:tags] << ('-' << provider)
|
@@ -2,6 +2,12 @@ def server_tests(connection, params = {}, mocks_implemented = true)
|
|
2
2
|
|
3
3
|
model_tests(connection.servers, params, mocks_implemented) do
|
4
4
|
|
5
|
+
tests('#reload').returns(true) do
|
6
|
+
pending if Fog.mocking? && !mocks_implemented
|
7
|
+
identity = @instance.identity
|
8
|
+
!identity.nil? && identity == @instance.reload.identity
|
9
|
+
end
|
10
|
+
|
5
11
|
responds_to([:ready?, :state])
|
6
12
|
|
7
13
|
tests('#reboot').succeeds do
|
@@ -4,12 +4,14 @@
|
|
4
4
|
module Fog
|
5
5
|
module Boolean; end
|
6
6
|
module Nullable
|
7
|
+
module Boolean; end
|
7
8
|
module Integer; end
|
8
9
|
module String; end
|
9
10
|
module Time; end
|
10
11
|
end
|
11
12
|
end
|
12
13
|
[FalseClass, TrueClass].each {|klass| klass.send(:include, Fog::Boolean)}
|
14
|
+
[NilClass, Fog::Boolean].each {|klass| klass.send(:include, Fog::Nullable::Boolean)}
|
13
15
|
[NilClass, String].each {|klass| klass.send(:include, Fog::Nullable::String)}
|
14
16
|
[NilClass, Time].each {|klass| klass.send(:include, Fog::Nullable::Time)}
|
15
17
|
[Integer, NilClass].each {|klass| klass.send(:include, Fog::Nullable::Integer)}
|
@@ -15,12 +15,17 @@ if Fog.mock?
|
|
15
15
|
:bluebox_customer_id => 'bluebox_customer_id',
|
16
16
|
:brightbox_client_id => 'brightbox_client_id',
|
17
17
|
:brightbox_secret => 'brightbox_secret',
|
18
|
+
:dnsimple_email => 'dnsimple_email',
|
19
|
+
:dnsimple_password => 'dnsimple_password',
|
20
|
+
:ecloud_username => 'ecloud_username',
|
21
|
+
:ecloud_password => 'ecloud_password',
|
22
|
+
:ecloud_versions_uri => 'http://ecloud.versions.uri',
|
18
23
|
:go_grid_api_key => 'go_grid_api_key',
|
19
24
|
:go_grid_shared_secret => 'go_grid_shared_secret',
|
20
25
|
:google_storage_access_key_id => 'google_storage_access_key_id',
|
21
26
|
:google_storage_secret_access_key => 'google_storage_secret_access_key',
|
22
27
|
:linode_api_key => 'linode_api_key',
|
23
|
-
|
28
|
+
:local_root => '~/.fog',
|
24
29
|
:new_servers_password => 'new_servers_password',
|
25
30
|
:new_servers_username => 'new_servers_username',
|
26
31
|
# :public_key_path => '~/.ssh/id_rsa.pub',
|
@@ -28,6 +33,8 @@ if Fog.mock?
|
|
28
33
|
:rackspace_api_key => 'rackspace_api_key',
|
29
34
|
:rackspace_username => 'rackspace_username',
|
30
35
|
:slicehost_password => 'slicehost_password',
|
36
|
+
:storm_on_demand_username => 'storm_on_demand_username',
|
37
|
+
:storm_on_demand_password => 'storm_on_demand_password',
|
31
38
|
:voxel_api_key => 'voxel_api_key',
|
32
39
|
:voxel_api_secret => 'voxel_api_secret',
|
33
40
|
:zerigo_email => 'zerigo_email',
|
@@ -2,9 +2,7 @@ def model_tests(collection, params = {}, mocks_implemented = true)
|
|
2
2
|
|
3
3
|
tests('success') do
|
4
4
|
|
5
|
-
|
6
|
-
@instance = collection.new(params)
|
7
|
-
end
|
5
|
+
@instance = collection.new(params)
|
8
6
|
|
9
7
|
tests("#save").succeeds do
|
10
8
|
pending if Fog.mocking? && !mocks_implemented
|
@@ -3,11 +3,11 @@ module Shindo
|
|
3
3
|
|
4
4
|
def responds_to(method_names)
|
5
5
|
for method_name in [*method_names]
|
6
|
-
tests("#respond_to?(:#{method_name})").
|
6
|
+
tests("#respond_to?(:#{method_name})").returns(true) do
|
7
7
|
@instance.respond_to?(method_name)
|
8
8
|
end
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
12
|
end
|
13
|
-
end
|
13
|
+
end
|