fog 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -2
- data/Gemfile.lock +6 -6
- data/README.rdoc +4 -1
- data/bin/fog +2 -1
- data/examples/bluebox_create.rb +33 -0
- data/fog.gemspec +58 -30
- data/lib/fog.rb +2 -1
- data/lib/fog/aws/elb.rb +0 -9
- data/lib/fog/aws/requests/elb/create_load_balancer.rb +3 -3
- data/lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb +1 -1
- data/lib/fog/aws/requests/elb/describe_instance_health.rb +1 -1
- data/lib/fog/aws/requests/elb/describe_load_balancers.rb +1 -1
- data/lib/fog/aws/requests/elb/disable_availability_zones_for_load_balancer.rb +1 -1
- data/lib/fog/aws/requests/elb/enable_availability_zones_for_load_balancer.rb +1 -1
- data/lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb +1 -1
- data/lib/fog/aws/requests/s3/get_bucket.rb +1 -6
- data/lib/fog/aws/requests/s3/get_bucket_acl.rb +1 -1
- data/lib/fog/aws/requests/s3/get_bucket_location.rb +1 -1
- data/lib/fog/aws/requests/s3/get_bucket_logging.rb +1 -1
- data/lib/fog/aws/requests/s3/get_bucket_object_versions.rb +1 -6
- data/lib/fog/aws/requests/s3/get_bucket_versioning.rb +1 -1
- data/lib/fog/aws/requests/s3/get_object.rb +1 -1
- data/lib/fog/aws/requests/s3/get_object_acl.rb +2 -2
- data/lib/fog/aws/requests/s3/get_object_torrent.rb +1 -1
- data/lib/fog/aws/requests/s3/get_request_payment.rb +1 -1
- data/lib/fog/aws/requests/s3/head_object.rb +1 -1
- data/lib/fog/aws/requests/s3/put_bucket_acl.rb +1 -1
- data/lib/fog/aws/requests/s3/put_bucket_logging.rb +1 -1
- data/lib/fog/aws/requests/s3/put_bucket_versioning.rb +1 -1
- data/lib/fog/aws/requests/s3/put_object_url.rb +54 -0
- data/lib/fog/aws/requests/s3/put_request_payment.rb +1 -1
- data/lib/fog/aws/s3.rb +7 -2
- data/lib/fog/bin.rb +1 -1
- data/lib/fog/bluebox.rb +100 -0
- data/lib/fog/bluebox/bin.rb +43 -0
- data/lib/fog/bluebox/models/flavor.rb +43 -0
- data/lib/fog/bluebox/models/flavors.rb +38 -0
- data/lib/fog/bluebox/models/image.rb +17 -0
- data/lib/fog/bluebox/models/images.rb +42 -0
- data/lib/fog/bluebox/models/server.rb +79 -0
- data/lib/fog/bluebox/models/servers.rb +39 -0
- data/lib/fog/bluebox/requests/create_block.rb +39 -0
- data/lib/fog/bluebox/requests/destroy_block.rb +32 -0
- data/lib/fog/bluebox/requests/get_block.rb +32 -0
- data/lib/fog/bluebox/requests/get_blocks.rb +34 -0
- data/lib/fog/bluebox/requests/get_product.rb +32 -0
- data/lib/fog/bluebox/requests/get_products.rb +31 -0
- data/lib/fog/bluebox/requests/get_template.rb +32 -0
- data/lib/fog/bluebox/requests/get_templates.rb +32 -0
- data/lib/fog/bluebox/requests/reboot_block.rb +33 -0
- data/lib/fog/credentials.rb +2 -1
- data/lib/fog/rackspace/files.rb +4 -12
- data/lib/fog/rackspace/models/servers/flavors.rb +1 -1
- data/lib/fog/rackspace/models/servers/images.rb +1 -1
- data/lib/fog/rackspace/models/servers/servers.rb +1 -1
- data/lib/fog/rackspace/requests/files/get_container.rb +1 -6
- data/lib/fog/rackspace/requests/files/get_containers.rb +1 -7
- data/lib/fog/rackspace/requests/files/head_container.rb +1 -1
- data/lib/fog/rackspace/requests/files/head_containers.rb +1 -1
- data/lib/fog/rackspace/requests/servers/create_server.rb +4 -5
- data/lib/fog/rackspace/requests/servers/delete_image.rb +2 -1
- data/lib/fog/rackspace/requests/servers/delete_server.rb +2 -3
- data/lib/fog/rackspace/requests/servers/get_server_details.rb +2 -3
- data/lib/fog/rackspace/requests/servers/list_addresses.rb +2 -3
- data/lib/fog/rackspace/requests/servers/list_private_addresses.rb +2 -3
- data/lib/fog/rackspace/requests/servers/list_public_addresses.rb +2 -3
- data/lib/fog/rackspace/requests/servers/reboot_server.rb +1 -1
- data/lib/fog/rackspace/requests/servers/update_server.rb +2 -3
- data/lib/fog/rackspace/servers.rb +21 -11
- data/lib/fog/slicehost.rb +18 -13
- data/lib/fog/vcloud.rb +148 -107
- data/lib/fog/vcloud/model.rb +2 -1
- data/lib/fog/vcloud/parser.rb +5 -0
- data/lib/fog/vcloud/requests/get_vdc.rb +3 -3
- data/lib/fog/vcloud/requests/get_versions.rb +1 -1
- data/lib/fog/vcloud/requests/login.rb +1 -1
- data/lib/fog/vcloud/terremark/ecloud.rb +34 -0
- data/lib/fog/vcloud/terremark/ecloud/models/internet_service.rb +29 -0
- data/lib/fog/vcloud/terremark/ecloud/models/internet_services.rb +51 -0
- data/lib/fog/vcloud/terremark/ecloud/models/public_ip.rb +26 -0
- data/lib/fog/vcloud/terremark/ecloud/models/public_ips.rb +32 -0
- data/lib/fog/vcloud/terremark/ecloud/models/vdc.rb +11 -0
- data/lib/fog/vcloud/terremark/ecloud/parsers/get_internet_services.rb +59 -0
- data/lib/fog/vcloud/terremark/ecloud/parsers/get_public_ip.rb +30 -0
- data/lib/fog/vcloud/terremark/ecloud/parsers/get_public_ips.rb +40 -0
- data/lib/fog/vcloud/terremark/ecloud/parsers/internet_service.rb +58 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/add_internet_service.rb +82 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/delete_internet_service.rb +39 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_internet_services.rb +73 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_public_ip.rb +49 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb +47 -0
- data/spec/bluebox/models/flavors_spec.rb +14 -0
- data/spec/bluebox/models/server_spec.rb +25 -0
- data/spec/bluebox/models/servers_spec.rb +27 -0
- data/spec/spec_helper.rb +16 -0
- data/spec/vcloud/spec_helper.rb +16 -1
- data/spec/vcloud/terremark/ecloud/models/internet_service_spec.rb +58 -0
- data/spec/vcloud/terremark/ecloud/models/internet_services_spec.rb +29 -0
- data/spec/vcloud/terremark/ecloud/models/public_ip_spec.rb +43 -0
- data/spec/vcloud/terremark/ecloud/models/public_ips_spec.rb +26 -0
- data/spec/vcloud/terremark/ecloud/models/vdc_spec.rb +4 -0
- data/spec/vcloud/terremark/ecloud/requests/add_internet_service_spec.rb +57 -0
- data/spec/vcloud/terremark/ecloud/requests/delete_internet_service_spec.rb +34 -0
- data/spec/vcloud/terremark/ecloud/requests/get_internet_services_spec.rb +57 -0
- data/spec/vcloud/terremark/ecloud/requests/get_public_ip_spec.rb +40 -0
- data/spec/vcloud/terremark/ecloud/requests/get_public_ips_spec.rb +44 -0
- data/tests/bluebox/helper.rb +26 -0
- data/tests/bluebox/requests/block_tests.rb +68 -0
- data/tests/bluebox/requests/product_tests.rb +25 -0
- data/tests/bluebox/requests/template_tests.rb +32 -0
- data/tests/helper.rb +6 -6
- data/tests/helper_tests.rb +4 -0
- data/tests/rackspace/helper.rb +0 -32
- data/tests/rackspace/requests/servers/address_tests.rb +40 -0
- data/tests/rackspace/requests/servers/flavor_tests.rb +34 -0
- data/tests/rackspace/requests/servers/image_tests.rb +59 -0
- data/tests/rackspace/requests/servers/server_tests.rb +83 -0
- data/tests/slicehost/helper.rb +0 -35
- data/tests/slicehost/requests/backup_tests.rb +17 -0
- data/tests/slicehost/requests/flavor_tests.rb +30 -0
- data/tests/slicehost/requests/image_tests.rb +28 -0
- data/tests/slicehost/requests/slice_tests.rb +63 -0
- metadata +59 -31
- data/tests/rackspace/requests/servers/create_image_tests.rb +0 -20
- data/tests/rackspace/requests/servers/create_server_tests.rb +0 -18
- data/tests/rackspace/requests/servers/delete_image_tests.rb +0 -23
- data/tests/rackspace/requests/servers/delete_server_tests.rb +0 -19
- data/tests/rackspace/requests/servers/get_flavor_details_tests.rb +0 -16
- data/tests/rackspace/requests/servers/get_image_details_tests.rb +0 -16
- data/tests/rackspace/requests/servers/get_server_details_tests.rb +0 -21
- data/tests/rackspace/requests/servers/list_addresses_tests.rb +0 -22
- data/tests/rackspace/requests/servers/list_flavors_detail_tests.rb +0 -9
- data/tests/rackspace/requests/servers/list_flavors_tests.rb +0 -9
- data/tests/rackspace/requests/servers/list_images_detail_tests.rb +0 -9
- data/tests/rackspace/requests/servers/list_images_tests.rb +0 -9
- data/tests/rackspace/requests/servers/list_private_addresses_tests.rb +0 -22
- data/tests/rackspace/requests/servers/list_public_addresses_tests.rb +0 -22
- data/tests/rackspace/requests/servers/list_servers_detail_tests.rb +0 -14
- data/tests/rackspace/requests/servers/list_servers_tests.rb +0 -14
- data/tests/rackspace/requests/servers/reboot_server_tests.rb +0 -30
- data/tests/rackspace/requests/servers/update_server_tests.rb +0 -22
- data/tests/slicehost/requests/create_slice_tests.rb +0 -14
- data/tests/slicehost/requests/delete_slice_tests.rb +0 -20
- data/tests/slicehost/requests/get_backups_tests.rb +0 -9
- data/tests/slicehost/requests/get_flavor_tests.rb +0 -17
- data/tests/slicehost/requests/get_flavors_tests.rb +0 -9
- data/tests/slicehost/requests/get_image_tests.rb +0 -17
- data/tests/slicehost/requests/get_images_tests.rb +0 -9
- data/tests/slicehost/requests/get_slice_tests.rb +0 -22
- data/tests/slicehost/requests/get_slices_tests.rb +0 -9
- data/tests/slicehost/requests/reboot_slice_tests.rb +0 -23
@@ -0,0 +1,25 @@
|
|
1
|
+
Shindo.tests('Bluebox | product requests', ['bluebox']) do
|
2
|
+
|
3
|
+
tests('success') do
|
4
|
+
|
5
|
+
@product_id = '94fd37a7-2606-47f7-84d5-9000deda52ae' # 1 GB
|
6
|
+
|
7
|
+
tests("get_product('#{@product_id}')").formats(Bluebox::Formats::PRODUCT) do
|
8
|
+
Bluebox[:blocks].get_product(@product_id).body
|
9
|
+
end
|
10
|
+
|
11
|
+
tests("get_products").formats([Bluebox::Formats::PRODUCT]) do
|
12
|
+
Bluebox[:blocks].get_products.body
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
tests('failure') do
|
18
|
+
|
19
|
+
tests("get_product('00000000-0000-0000-0000-000000000000')").raises(Fog::Bluebox::NotFound) do
|
20
|
+
Bluebox[:blocks].get_product('00000000-0000-0000-0000-000000000000')
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
Shindo.tests('Bluebox | template requests', ['bluebox']) do
|
2
|
+
|
3
|
+
@template_format = {
|
4
|
+
'created' => String,
|
5
|
+
'description' => String,
|
6
|
+
'id' => String,
|
7
|
+
'public' => Fog::Boolean
|
8
|
+
}
|
9
|
+
|
10
|
+
tests('success') do
|
11
|
+
|
12
|
+
@template_id = 'a00baa8f-b5d0-4815-8238-b471c4c4bf72' # Ubuntu 9.10 64bit
|
13
|
+
|
14
|
+
tests("get_template('#{@template_id}')").formats(@template_format) do
|
15
|
+
Bluebox[:blocks].get_template(@template_id).body
|
16
|
+
end
|
17
|
+
|
18
|
+
tests("get_templates").formats([@template_format]) do
|
19
|
+
Bluebox[:blocks].get_templates.body
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
tests('failure') do
|
25
|
+
|
26
|
+
tests("get_template('00000000-0000-0000-0000-000000000000')").raises(Fog::Bluebox::NotFound) do
|
27
|
+
Bluebox[:blocks].get_template('00000000-0000-0000-0000-000000000000')
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
data/tests/helper.rb
CHANGED
@@ -24,12 +24,8 @@ module Shindo
|
|
24
24
|
|
25
25
|
def succeeds(&block)
|
26
26
|
test('succeeds') do
|
27
|
-
|
28
|
-
|
29
|
-
true
|
30
|
-
rescue Exception, Interrupt
|
31
|
-
false
|
32
|
-
end
|
27
|
+
instance_eval(&block)
|
28
|
+
true
|
33
29
|
end
|
34
30
|
end
|
35
31
|
|
@@ -39,6 +35,10 @@ module Shindo
|
|
39
35
|
valid = true
|
40
36
|
data = original_data.dup
|
41
37
|
format = original_format.dup
|
38
|
+
if format.is_a?(Array)
|
39
|
+
data = {:element => data}
|
40
|
+
format = {:element => format}
|
41
|
+
end
|
42
42
|
for key, value in format
|
43
43
|
valid &&= data.has_key?(key)
|
44
44
|
datum = data.delete(key)
|
data/tests/helper_tests.rb
CHANGED
data/tests/rackspace/helper.rb
CHANGED
@@ -27,38 +27,6 @@ module Rackspace
|
|
27
27
|
|
28
28
|
module Formats
|
29
29
|
|
30
|
-
FLAVOR = {
|
31
|
-
'disk' => Integer,
|
32
|
-
'id' => Integer,
|
33
|
-
'name' => String,
|
34
|
-
'ram' => Integer
|
35
|
-
}
|
36
|
-
|
37
|
-
IMAGE = {
|
38
|
-
'created' => String,
|
39
|
-
'id' => Integer,
|
40
|
-
'name' => String,
|
41
|
-
'progress' => Integer,
|
42
|
-
'serverId' => Integer,
|
43
|
-
'status' => String,
|
44
|
-
'updated' => String
|
45
|
-
}
|
46
|
-
|
47
|
-
SERVER = {
|
48
|
-
'addresses' => {
|
49
|
-
'private' => [String],
|
50
|
-
'public' => [String]
|
51
|
-
},
|
52
|
-
'flavorId' => Integer,
|
53
|
-
'hostId' => String,
|
54
|
-
'id' => Integer,
|
55
|
-
'imageId' => Integer,
|
56
|
-
'metadata' => {},
|
57
|
-
'name' => String,
|
58
|
-
'progress' => Integer,
|
59
|
-
'status' => String
|
60
|
-
}
|
61
|
-
|
62
30
|
SUMMARY = {
|
63
31
|
'id' => Integer,
|
64
32
|
'name' => String
|
@@ -0,0 +1,40 @@
|
|
1
|
+
Shindo.tests('Rackspace::Servers | address requests', ['rackspace']) do
|
2
|
+
|
3
|
+
tests('success') do
|
4
|
+
|
5
|
+
@server = Rackspace[:servers].servers.create(:flavor_id => 1, :image_id => 19, :name => 'foglistaddresses')
|
6
|
+
|
7
|
+
tests("#list_addresses(#{@server.id})").formats({'addresses' => {'private' => [String], 'public' => [String]}}) do
|
8
|
+
Rackspace[:servers].list_addresses(@server.id).body
|
9
|
+
end
|
10
|
+
|
11
|
+
tests("#list_private_addresses(#{@server.id})").formats({'private' => [String]}) do
|
12
|
+
Rackspace[:servers].list_private_addresses(@server.id).body
|
13
|
+
end
|
14
|
+
|
15
|
+
tests("#list_public_addresses(#{@server.id})").formats({'public' => [String]}) do
|
16
|
+
Rackspace[:servers].list_public_addresses(@server.id).body
|
17
|
+
end
|
18
|
+
|
19
|
+
@server.wait_for { ready? }
|
20
|
+
@server.destroy
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
tests('failure') do
|
25
|
+
|
26
|
+
tests('#list_addresses(0)').raises(Fog::Rackspace::Servers::NotFound) do
|
27
|
+
Rackspace[:servers].list_addresses(0)
|
28
|
+
end
|
29
|
+
|
30
|
+
tests('#list_private_addresses(0)').raises(Fog::Rackspace::Servers::NotFound) do
|
31
|
+
Rackspace[:servers].list_private_addresses(0)
|
32
|
+
end
|
33
|
+
|
34
|
+
tests('#list_public_addresses(0)').raises(Fog::Rackspace::Servers::NotFound) do
|
35
|
+
Rackspace[:servers].list_public_addresses(0)
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
Shindo.tests('Rackspace::Servers | flavor requests', ['rackspace']) do
|
2
|
+
|
3
|
+
@flavor_format = {
|
4
|
+
'disk' => Integer,
|
5
|
+
'id' => Integer,
|
6
|
+
'name' => String,
|
7
|
+
'ram' => Integer
|
8
|
+
}
|
9
|
+
|
10
|
+
tests('success') do
|
11
|
+
|
12
|
+
tests('#get_flavor_details(1)').formats(@flavor_format) do
|
13
|
+
Rackspace[:servers].get_flavor_details(1).body['flavor']
|
14
|
+
end
|
15
|
+
|
16
|
+
tests('#list_flavors').formats({'flavors' => [Rackspace::Servers::Formats::SUMMARY]}) do
|
17
|
+
Rackspace[:servers].list_flavors.body
|
18
|
+
end
|
19
|
+
|
20
|
+
tests('#list_flavors_detail').formats({'flavors' => [@flavor_format]}) do
|
21
|
+
Rackspace[:servers].list_flavors_detail.body
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
tests('failure') do
|
27
|
+
|
28
|
+
tests('#get_flavor_details(0)').raises(Fog::Rackspace::Servers::NotFound) do
|
29
|
+
Rackspace[:servers].get_flavor_details(0)
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
Shindo.tests('Rackspace::Servers | image requests', ['rackspace']) do
|
2
|
+
|
3
|
+
@image_format = {
|
4
|
+
'created' => String,
|
5
|
+
'id' => Integer,
|
6
|
+
'name' => String,
|
7
|
+
'progress' => Integer,
|
8
|
+
'serverId' => Integer,
|
9
|
+
'status' => String,
|
10
|
+
'updated' => String
|
11
|
+
}
|
12
|
+
|
13
|
+
tests('success') do
|
14
|
+
|
15
|
+
@server = Rackspace[:servers].servers.create(:flavor_id => 1, :image_id => 19, :name => 'foggetserverdetails')
|
16
|
+
@server.wait_for { ready? }
|
17
|
+
@image_id = nil
|
18
|
+
|
19
|
+
tests("#create_image(#{@server.id})").formats(@image_format.reject {|key,value| key == 'progress'}) do
|
20
|
+
data = Rackspace[:servers].create_image(@server.id).body['image']
|
21
|
+
@image_id = data['id']
|
22
|
+
data
|
23
|
+
end
|
24
|
+
|
25
|
+
Rackspace[:servers].images.get(@image_id).wait_for { ready? }
|
26
|
+
|
27
|
+
tests("#get_image_details(#{@image_id})").formats(@image_format) do
|
28
|
+
Rackspace[:servers].get_image_details(@image_id).body['image']
|
29
|
+
end
|
30
|
+
|
31
|
+
tests('#list_images').formats({'images' => [Rackspace::Servers::Formats::SUMMARY]}) do
|
32
|
+
Rackspace[:servers].list_images.body
|
33
|
+
end
|
34
|
+
|
35
|
+
tests('#list_images_detail').formats({'images' => [@image_format]}) do
|
36
|
+
Rackspace[:servers].list_images_detail.body
|
37
|
+
end
|
38
|
+
|
39
|
+
tests("#delete_image(#{@image_id})").succeeds do
|
40
|
+
Rackspace[:servers].delete_image(@image_id)
|
41
|
+
end
|
42
|
+
|
43
|
+
@server.destroy
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
tests('failure') do
|
48
|
+
|
49
|
+
tests('#delete_image(0)').raises(Excon::Errors::BadRequest) do
|
50
|
+
Rackspace[:servers].delete_image(0)
|
51
|
+
end
|
52
|
+
|
53
|
+
tests('#get_image_details(0)').raises(Fog::Rackspace::Servers::NotFound) do
|
54
|
+
Rackspace[:servers].get_image_details(0)
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
Shindo.tests('Rackspace::Servers | server requests', ['rackspace']) do
|
2
|
+
|
3
|
+
@server_format = {
|
4
|
+
'addresses' => {
|
5
|
+
'private' => [String],
|
6
|
+
'public' => [String]
|
7
|
+
},
|
8
|
+
'flavorId' => Integer,
|
9
|
+
'hostId' => String,
|
10
|
+
'id' => Integer,
|
11
|
+
'imageId' => Integer,
|
12
|
+
'metadata' => {},
|
13
|
+
'name' => String,
|
14
|
+
'progress' => Integer,
|
15
|
+
'status' => String
|
16
|
+
}
|
17
|
+
|
18
|
+
tests('success') do
|
19
|
+
|
20
|
+
@server_id = nil
|
21
|
+
|
22
|
+
tests('#create_server(1, 19)').formats(@server_format.merge('adminPass' => String)) do
|
23
|
+
# 1 => 256MB, 19 => Gentoo
|
24
|
+
data = Rackspace[:servers].create_server(1, 19).body['server']
|
25
|
+
@server_id = data['id']
|
26
|
+
data
|
27
|
+
end
|
28
|
+
|
29
|
+
Rackspace[:servers].servers.get(@server_id).wait_for { ready? }
|
30
|
+
|
31
|
+
tests("#get_server_details(#{@server_id})").formats(@server_format) do
|
32
|
+
Rackspace[:servers].get_server_details(@server_id).body['server']
|
33
|
+
end
|
34
|
+
|
35
|
+
tests('#list_servers').formats({'servers' => [Rackspace::Servers::Formats::SUMMARY]}) do
|
36
|
+
Rackspace[:servers].list_servers.body
|
37
|
+
end
|
38
|
+
|
39
|
+
tests('#list_servers_detail').formats({'servers' => [@server_format]}) do
|
40
|
+
Rackspace[:servers].list_servers_detail.body
|
41
|
+
end
|
42
|
+
|
43
|
+
tests("#update_server(#{@server_id}, :name => 'fogupdatedserver', :adminPass => 'fogupdatedserver')").succeeds do
|
44
|
+
Rackspace[:servers].update_server(@server_id, :name => 'fogupdatedserver', :adminPass => 'fogupdatedserver')
|
45
|
+
end
|
46
|
+
|
47
|
+
tests("#reboot_server(#{@server_id}, 'HARD')").succeeds do
|
48
|
+
Rackspace[:servers].reboot_server(@server_id, 'HARD')
|
49
|
+
end
|
50
|
+
|
51
|
+
tests("#reboot_server(#{@server_id}, 'SOFT')").succeeds do
|
52
|
+
Rackspace[:servers].reboot_server(@server_id, 'SOFT')
|
53
|
+
end
|
54
|
+
|
55
|
+
Rackspace[:servers].servers.get(@server_id).wait_for { ready? }
|
56
|
+
|
57
|
+
tests("#delete_server(#{@server_id})").succeeds do
|
58
|
+
Rackspace[:servers].delete_server(@server_id)
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
|
63
|
+
tests('failure') do
|
64
|
+
|
65
|
+
tests('#delete_server(0)').raises(Fog::Rackspace::Servers::NotFound) do
|
66
|
+
Rackspace[:servers].delete_server(0)
|
67
|
+
end
|
68
|
+
|
69
|
+
tests('#get_server_details(0)').raises(Fog::Rackspace::Servers::NotFound) do
|
70
|
+
Rackspace[:servers].get_server_details(0)
|
71
|
+
end
|
72
|
+
|
73
|
+
tests("#update_server(0, :name => 'fogupdatedserver', :adminPass => 'fogupdatedserver')").raises(Fog::Rackspace::Servers::NotFound) do
|
74
|
+
Rackspace[:servers].update_server(0, :name => 'fogupdatedserver', :adminPass => 'fogupdatedserver')
|
75
|
+
end
|
76
|
+
|
77
|
+
tests('#reboot_server(0)').raises(Fog::Rackspace::Servers::NotFound) do
|
78
|
+
Rackspace[:servers].reboot_server(0)
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
data/tests/slicehost/helper.rb
CHANGED
@@ -13,39 +13,4 @@ module Slicehost
|
|
13
13
|
@@connections[service]
|
14
14
|
end
|
15
15
|
|
16
|
-
module Formats
|
17
|
-
|
18
|
-
BACKUP = {
|
19
|
-
'date' => String,
|
20
|
-
'id' => Integer,
|
21
|
-
'name' => String,
|
22
|
-
'slice-id' => Integer
|
23
|
-
}
|
24
|
-
|
25
|
-
FLAVOR = {
|
26
|
-
'id' => Integer,
|
27
|
-
'name' => String,
|
28
|
-
'price' => Integer,
|
29
|
-
'ram' => Integer
|
30
|
-
}
|
31
|
-
|
32
|
-
IMAGE = {
|
33
|
-
'id' => Integer,
|
34
|
-
'name' => String
|
35
|
-
}
|
36
|
-
|
37
|
-
SLICE = {
|
38
|
-
'addresses' => [String],
|
39
|
-
'bw-in' => Float,
|
40
|
-
'bw-out' => Float,
|
41
|
-
'flavor-id' => Integer,
|
42
|
-
'id' => Integer,
|
43
|
-
'image-id' => Integer,
|
44
|
-
'name' => String,
|
45
|
-
'progress' => Integer,
|
46
|
-
'status' => String
|
47
|
-
}
|
48
|
-
|
49
|
-
end
|
50
|
-
|
51
16
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Shindo.tests('Slicehost | backup requests', ['slicehost']) do
|
2
|
+
|
3
|
+
@backup_format = {
|
4
|
+
'date' => String,
|
5
|
+
'id' => Integer,
|
6
|
+
'name' => String,
|
7
|
+
'slice-id' => Integer
|
8
|
+
}
|
9
|
+
|
10
|
+
tests('success') do
|
11
|
+
|
12
|
+
tests('#get_backups').formats({ 'backups' => [@backup_format] }) do
|
13
|
+
Slicehost[:slices].get_backups.body
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
Shindo.tests('Slicehost | flavor requests', ['slicehost']) do
|
2
|
+
|
3
|
+
@flavor_format = {
|
4
|
+
'id' => Integer,
|
5
|
+
'name' => String,
|
6
|
+
'price' => Integer,
|
7
|
+
'ram' => Integer
|
8
|
+
}
|
9
|
+
|
10
|
+
tests('success') do
|
11
|
+
|
12
|
+
tests('#get_flavor(1)').formats(@flavor_format) do
|
13
|
+
Slicehost[:slices].get_flavor(1).body
|
14
|
+
end
|
15
|
+
|
16
|
+
tests('#get_flavors').formats({ 'flavors' => [@flavor_format] }) do
|
17
|
+
Slicehost[:slices].get_flavors.body
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
tests('failure') do
|
23
|
+
|
24
|
+
tests('#get_flavor(0)').raises(Excon::Errors::Forbidden) do
|
25
|
+
Slicehost[:slices].get_flavor(0)
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|