fog 0.0.91 → 0.0.92

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. data/Gemfile +1 -1
  2. data/Gemfile.lock +39 -39
  3. data/fog.gemspec +17 -16
  4. data/lib/fog.rb +1 -1
  5. data/lib/fog/aws/elb.rb +4 -0
  6. data/lib/fog/aws/models/ec2/snapshot.rb +3 -0
  7. data/lib/fog/aws/parsers/ec2/create_snapshot.rb +5 -1
  8. data/lib/fog/aws/parsers/ec2/describe_snapshots.rb +5 -1
  9. data/lib/fog/aws/parsers/elb/create_load_balancer.rb +26 -0
  10. data/lib/fog/aws/parsers/elb/delete_load_balancer.rb +24 -0
  11. data/lib/fog/aws/parsers/s3/access_control_list.rb +46 -0
  12. data/lib/fog/aws/requests/ec2/create_snapshot.rb +11 -7
  13. data/lib/fog/aws/requests/ec2/describe_snapshots.rb +3 -0
  14. data/lib/fog/aws/requests/ec2/revoke_security_group_ingress.rb +0 -1
  15. data/lib/fog/aws/requests/ec2/run_instances.rb +0 -2
  16. data/lib/fog/aws/requests/ec2/terminate_instances.rb +0 -1
  17. data/lib/fog/aws/requests/elb/create_load_balancer.rb +57 -0
  18. data/lib/fog/aws/requests/elb/delete_load_balancer.rb +40 -0
  19. data/lib/fog/aws/requests/s3/copy_object.rb +0 -1
  20. data/lib/fog/aws/requests/s3/get_bucket.rb +2 -3
  21. data/lib/fog/aws/requests/s3/get_bucket_acl.rb +53 -0
  22. data/lib/fog/aws/requests/s3/get_object.rb +1 -31
  23. data/lib/fog/aws/requests/s3/get_object_acl.rb +58 -0
  24. data/lib/fog/aws/requests/s3/get_object_torrent.rb +55 -0
  25. data/lib/fog/aws/requests/s3/get_object_url.rb +54 -0
  26. data/lib/fog/aws/requests/s3/put_bucket_acl.rb +80 -0
  27. data/lib/fog/aws/s3.rb +8 -2
  28. data/lib/fog/collection.rb +1 -1
  29. data/lib/fog/connection.rb +7 -5
  30. data/lib/fog/model.rb +5 -2
  31. data/lib/fog/rackspace/files.rb +2 -2
  32. data/lib/fog/rackspace/requests/files/get_object.rb +1 -1
  33. data/lib/fog/terremark/parsers/shared/get_internet_services.rb +2 -2
  34. data/lib/fog/terremark/parsers/shared/get_node_services.rb +3 -0
  35. data/lib/fog/terremark/parsers/shared/vapp.rb +33 -3
  36. data/lib/fog/terremark/requests/shared/delete_internet_service.rb +0 -12
  37. data/lib/fog/terremark/requests/shared/delete_node_service.rb +0 -12
  38. data/lib/fog/terremark/requests/shared/delete_vapp.rb +0 -12
  39. data/lib/fog/terremark/shared.rb +0 -1
  40. data/spec/aws/models/s3/file_spec.rb +2 -2
  41. data/spec/aws/models/s3/files_spec.rb +2 -2
  42. data/spec/aws/requests/ec2/get_console_output_spec.rb +4 -4
  43. data/spec/aws/requests/s3/get_bucket_spec.rb +9 -9
  44. data/tests/aws/helper.rb +105 -0
  45. data/tests/aws/requests/ec2/address_tests.rb +88 -0
  46. data/tests/aws/requests/ec2/snapshot_tests.rb +50 -0
  47. data/tests/aws/requests/ec2/volume_tests.rb +84 -0
  48. data/tests/helper.rb +21 -6
  49. data/tests/helper_tests.rb +38 -7
  50. data/tests/rackspace/requests/servers/create_image_tests.rb +1 -1
  51. data/tests/rackspace/requests/servers/create_server_tests.rb +1 -1
  52. data/tests/rackspace/requests/servers/delete_image_tests.rb +1 -4
  53. data/tests/rackspace/requests/servers/delete_server_tests.rb +1 -4
  54. data/tests/rackspace/requests/servers/get_flavor_details_tests.rb +2 -5
  55. data/tests/rackspace/requests/servers/get_image_details_tests.rb +2 -5
  56. data/tests/rackspace/requests/servers/get_server_details_tests.rb +2 -5
  57. data/tests/rackspace/requests/servers/list_addresses_tests.rb +2 -5
  58. data/tests/rackspace/requests/servers/list_flavors_detail_tests.rb +1 -1
  59. data/tests/rackspace/requests/servers/list_flavors_tests.rb +1 -1
  60. data/tests/rackspace/requests/servers/list_images_detail_tests.rb +1 -1
  61. data/tests/rackspace/requests/servers/list_images_tests.rb +1 -1
  62. data/tests/rackspace/requests/servers/list_private_addresses_tests.rb +2 -5
  63. data/tests/rackspace/requests/servers/list_public_addresses_tests.rb +2 -5
  64. data/tests/rackspace/requests/servers/list_servers_detail_tests.rb +1 -1
  65. data/tests/rackspace/requests/servers/list_servers_tests.rb +1 -1
  66. data/tests/rackspace/requests/servers/reboot_server_tests.rb +1 -4
  67. data/tests/rackspace/requests/servers/update_server_tests.rb +2 -5
  68. data/tests/slicehost/requests/create_slice_tests.rb +1 -1
  69. data/tests/slicehost/requests/delete_slice_tests.rb +1 -4
  70. data/tests/slicehost/requests/get_backups_tests.rb +1 -2
  71. data/tests/slicehost/requests/get_flavor_tests.rb +2 -5
  72. data/tests/slicehost/requests/get_flavors_tests.rb +1 -1
  73. data/tests/slicehost/requests/get_image_tests.rb +2 -5
  74. data/tests/slicehost/requests/get_images_tests.rb +1 -1
  75. data/tests/slicehost/requests/get_slice_tests.rb +2 -5
  76. data/tests/slicehost/requests/get_slices_tests.rb +1 -1
  77. data/tests/slicehost/requests/reboot_slice_tests.rb +2 -5
  78. metadata +19 -18
  79. data/spec/aws/requests/ec2/allocate_address_spec.rb +0 -18
  80. data/spec/aws/requests/ec2/associate_address_spec.rb +0 -43
  81. data/spec/aws/requests/ec2/attach_volume_spec.rb +0 -51
  82. data/spec/aws/requests/ec2/create_snapshot_spec.rb +0 -36
  83. data/spec/aws/requests/ec2/create_volume_spec.rb +0 -23
  84. data/spec/aws/requests/ec2/delete_snapshot_spec.rb +0 -34
  85. data/spec/aws/requests/ec2/delete_volume_spec.rb +0 -26
  86. data/spec/aws/requests/ec2/describe_addresses_spec.rb +0 -38
  87. data/spec/aws/requests/ec2/describe_snapshots_spec.rb +0 -50
  88. data/spec/aws/requests/ec2/describe_volumes_spec.rb +0 -50
  89. data/spec/aws/requests/ec2/detach_volume_spec.rb +0 -41
  90. data/spec/aws/requests/ec2/disassociate_address_spec.rb +0 -36
  91. data/spec/aws/requests/ec2/release_address_spec.rb +0 -26
@@ -1,18 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
2
-
3
- describe 'EC2.allocate_address' do
4
- describe 'success' do
5
-
6
- after(:each) do
7
- AWS[:ec2].release_address(@public_ip)
8
- end
9
-
10
- it "should return proper attributes" do
11
- actual = AWS[:ec2].allocate_address
12
- actual.body['requestId'].should be_a(String)
13
- @public_ip = actual.body['publicIp']
14
- actual.body['publicIp'].should be_a(String)
15
- end
16
-
17
- end
18
- end
@@ -1,43 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
2
-
3
- describe 'EC2.associate_address' do
4
- describe 'success' do
5
-
6
- before(:each) do
7
- @instance_id = AWS[:ec2].run_instances(GENTOO_AMI, 1, 1).body['instancesSet'].first['instanceId']
8
- @public_ip = AWS[:ec2].allocate_address.body['publicIp']
9
- AWS[:ec2].servers.get(@instance_id).wait_for { ready? }
10
- end
11
-
12
- after(:each) do
13
- AWS[:ec2].release_address(@public_ip)
14
- AWS[:ec2].terminate_instances(@instance_id)
15
- end
16
-
17
- it "should return proper attributes" do
18
- actual = AWS[:ec2].associate_address(@instance_id, @public_ip)
19
- actual.body['requestId'].should be_a(String)
20
- [false, true].should include(actual.body['return'])
21
- end
22
-
23
- end
24
- describe 'failure' do
25
-
26
- it "should raise a BadRequest error if the instance does not exist" do
27
- @public_ip = AWS[:ec2].allocate_address.body['publicIp']
28
- lambda {
29
- AWS[:ec2].associate_address('i-00000000', @public_ip)
30
- }.should raise_error(Excon::Errors::BadRequest)
31
- AWS[:ec2].release_address(@public_ip)
32
- end
33
-
34
- it "should raise a BadRequest error if the address does not exist" do
35
- @instance_id = AWS[:ec2].run_instances(GENTOO_AMI, 1, 1).body['instancesSet'].first['instanceId']
36
- lambda {
37
- AWS[:ec2].associate_address(@instance_id, '127.0.0.1')
38
- }.should raise_error(Excon::Errors::BadRequest)
39
- AWS[:ec2].terminate_instances(@instance_id)
40
- end
41
-
42
- end
43
- end
@@ -1,51 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
2
-
3
- describe 'EC2.attach_volume' do
4
- describe 'success' do
5
-
6
- before(:each) do
7
- @instance_id = AWS[:ec2].run_instances(GENTOO_AMI, 1, 1, {'Placement.AvailabilityZone' => 'us-east-1a'}).body['instancesSet'].first['instanceId']
8
- @volume_id = AWS[:ec2].create_volume('us-east-1a', 1).body['volumeId']
9
- AWS[:ec2].servers.get(@instance_id).wait_for { ready? }
10
- AWS[:ec2].volumes.get(@volume_id).wait_for { ready? }
11
- end
12
-
13
- after(:each) do
14
- AWS[:ec2].volumes.get(@volume_id).wait_for { state == 'attached' }
15
- AWS[:ec2].detach_volume(@volume_id)
16
- AWS[:ec2].volumes.get(@volume_id).wait_for { ready? }
17
- AWS[:ec2].delete_volume(@volume_id)
18
- AWS[:ec2].terminate_instances(@instance_id)
19
- end
20
-
21
- it "should return proper attributes" do
22
- actual = AWS[:ec2].attach_volume(@instance_id, @volume_id, '/dev/sdh')
23
- actual.body['attachTime'].should be_a(Time)
24
- actual.body['device'].should be_a(String)
25
- actual.body['instanceId'].should be_a(String)
26
- actual.body['requestId'].should be_a(String)
27
- actual.body['status'].should be_a(String)
28
- actual.body['volumeId'].should be_a(String)
29
- end
30
-
31
- end
32
- describe 'failure' do
33
-
34
- it "should raise a BadRequest error if the instance does not exist" do
35
- @volume_id = AWS[:ec2].create_volume('us-east-1a', 1).body['volumeId']
36
- lambda {
37
- AWS[:ec2].attach_volume('i-00000000', @volume_id, '/dev/sdh')
38
- }.should raise_error(Excon::Errors::BadRequest)
39
- AWS[:ec2].delete_volume(@volume_id)
40
- end
41
-
42
- it "should raise a BadRequest error if the address does not exist" do
43
- @instance_id = AWS[:ec2].run_instances(GENTOO_AMI, 1, 1).body['instancesSet'].first['instanceId']
44
- lambda {
45
- AWS[:ec2].attach_volume(@instance_id, 'vol-00000000', '/dev/sdh')
46
- }.should raise_error(Excon::Errors::BadRequest)
47
- AWS[:ec2].terminate_instances(@instance_id)
48
- end
49
-
50
- end
51
- end
@@ -1,36 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
2
-
3
- describe 'EC2.create_snapshot' do
4
- describe 'success' do
5
-
6
- before(:each) do
7
- @volume_id = AWS[:ec2].create_volume('us-east-1a', 1).body['volumeId']
8
- end
9
-
10
- after(:each) do
11
- AWS[:ec2].delete_volume(@volume_id)
12
- AWS[:ec2].snapshots.get(@snapshot_id).wait_for { ready? }
13
- AWS[:ec2].delete_snapshot(@snapshot_id)
14
- end
15
-
16
- it "should return proper attributes" do
17
- actual = AWS[:ec2].create_snapshot(@volume_id)
18
- actual.body['progress'].should be_nil
19
- @snapshot_id = actual.body['snapshotId']
20
- actual.body['snapshotId'].should be_a(String)
21
- actual.body['startTime'].should be_a(Time)
22
- actual.body['status'].should be_a(String)
23
- actual.body['volumeId'].should be_a(String)
24
- end
25
-
26
- end
27
- describe 'failure' do
28
-
29
- it "should raise a BadRequest error if the volume does not exist" do
30
- lambda {
31
- AWS[:ec2].create_snapshot('vol-00000000')
32
- }.should raise_error(Excon::Errors::BadRequest)
33
- end
34
-
35
- end
36
- end
@@ -1,23 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
2
-
3
- describe 'EC2.create_volume' do
4
- describe 'success' do
5
-
6
- after(:each) do
7
- AWS[:ec2].delete_volume(@volume_id)
8
- end
9
-
10
- it "should return proper attributes" do
11
- actual = AWS[:ec2].create_volume('us-east-1a', 1)
12
- actual.body['availabilityZone'].should be_a(String)
13
- actual.body['createTime'].should be_a(Time)
14
- actual.body['requestId'].should be_a(String)
15
- actual.body['size'].should == 1
16
- actual.body['snapshotId'].should be_nil
17
- actual.body['status'].should be_a(String)
18
- actual.body['volumeId'].should be_a(String)
19
- @volume_id = actual.body['volumeId']
20
- end
21
-
22
- end
23
- end
@@ -1,34 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
2
-
3
- describe 'EC2.delete_snapshot' do
4
- describe 'success' do
5
-
6
- before(:each) do
7
- @volume_id = AWS[:ec2].create_volume('us-east-1a', 1).body['volumeId']
8
- @snapshot_id = AWS[:ec2].create_snapshot(@volume_id).body['snapshotId']
9
- end
10
-
11
- after(:each) do
12
- AWS[:ec2].delete_volume(@volume_id)
13
- end
14
-
15
- it "should return proper attributes" do
16
- AWS[:ec2].snapshots.get(@snapshot_id).wait_for { ready? }
17
- actual = AWS[:ec2].delete_snapshot(@snapshot_id)
18
- unless actual.body.empty?
19
- actual.body['requestId'].should be_a(String)
20
- [false, true].should include(actual.body['return'])
21
- end
22
- end
23
-
24
- end
25
- describe 'failure' do
26
-
27
- it "should raise a BadRequest error if snapshot does not exist" do
28
- lambda {
29
- AWS[:ec2].release_address('snap-00000000')
30
- }.should raise_error(Excon::Errors::BadRequest)
31
- end
32
-
33
- end
34
- end
@@ -1,26 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
2
-
3
- describe 'EC2.create_volume' do
4
- describe 'success' do
5
-
6
- before(:each) do
7
- @volume_id = AWS[:ec2].create_volume('us-east-1a', 1).body['volumeId']
8
- end
9
-
10
- it "should return proper attributes" do
11
- actual = AWS[:ec2].delete_volume(@volume_id)
12
- actual.body['requestId'].should be_a(String)
13
- actual.body['return'].should == true
14
- end
15
-
16
- end
17
- describe 'failure' do
18
-
19
- it "should raise a BadRequest error if volume does not exist" do
20
- lambda {
21
- AWS[:ec2].delete_volume('vol-00000000')
22
- }.should raise_error(Excon::Errors::BadRequest)
23
- end
24
-
25
- end
26
- end
@@ -1,38 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
2
-
3
- describe 'EC2.describe_addresses' do
4
- describe 'success' do
5
-
6
- before(:each) do
7
- @public_ip = AWS[:ec2].allocate_address.body['publicIp']
8
- end
9
-
10
- after(:each) do
11
- AWS[:ec2].release_address(@public_ip)
12
- end
13
-
14
- it "should return proper attributes with no params" do
15
- actual = AWS[:ec2].describe_addresses
16
- actual.body['requestId'].should be_a(String)
17
- item = actual.body['addressesSet'].select {|address| address['publicIp'] == @public_ip}
18
- item.should_not be_nil
19
- end
20
-
21
- it "should return proper attributes for specific ip" do
22
- actual = AWS[:ec2].describe_addresses(@public_ip)
23
- actual.body['requestId'].should be_a(String)
24
- item = actual.body['addressesSet'].select {|address| address['publicIp'] == @public_ip}
25
- item.should_not be_nil
26
- end
27
-
28
- end
29
- describe 'failure' do
30
-
31
- it "should raise a BadRequest error if ip does not exist" do
32
- lambda {
33
- AWS[:ec2].describe_addresses('127.0.0.1')
34
- }.should raise_error(Excon::Errors::BadRequest)
35
- end
36
-
37
- end
38
- end
@@ -1,50 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
2
-
3
- describe 'EC2.describe_snapshots' do
4
- describe 'success' do
5
-
6
- before(:all) do
7
- @volume_id = AWS[:ec2].create_volume('us-east-1a', 1).body['volumeId']
8
- AWS[:ec2].volumes.get(@volume_id).wait_for { ready? }
9
- @snapshot_id = AWS[:ec2].create_snapshot(@volume_id).body['snapshotId']
10
- AWS[:ec2].snapshots.get(@snapshot_id).wait_for { ready? }
11
- end
12
-
13
- after(:all) do
14
- AWS[:ec2].delete_volume(@volume_id)
15
- AWS[:ec2].delete_snapshot(@snapshot_id)
16
- end
17
-
18
- it "should return proper attributes with no params" do
19
- actual = AWS[:ec2].describe_snapshots
20
- actual.body['snapshotSet'].should be_an(Array)
21
- snapshot = actual.body['snapshotSet'].select {|snapshot| snapshot['snapshotId'] == @snapshot_id}.first
22
- snapshot['progress'].should be_a(String)
23
- snapshot['snapshotId'].should be_a(String)
24
- snapshot['startTime'].should be_a(Time)
25
- snapshot['status'].should be_a(String)
26
- snapshot['volumeId'].should be_a(String)
27
- end
28
-
29
- it "should return proper attributes with params" do
30
- actual = AWS[:ec2].describe_snapshots([@snapshot_id])
31
- actual.body['snapshotSet'].should be_an(Array)
32
- snapshot = actual.body['snapshotSet'].select {|snapshot| snapshot['snapshotId'] == @snapshot_id}.first
33
- snapshot['progress'].should be_a(String)
34
- snapshot['snapshotId'].should be_a(String)
35
- snapshot['startTime'].should be_a(Time)
36
- snapshot['status'].should be_a(String)
37
- snapshot['volumeId'].should be_a(String)
38
- end
39
-
40
- end
41
- describe 'failure' do
42
-
43
- it "should raise a BadRequest error if the snapshot does not exist" do
44
- lambda {
45
- AWS[:ec2].describe_snapshots('snap-00000000')
46
- }.should raise_error(Excon::Errors::BadRequest)
47
- end
48
-
49
- end
50
- end
@@ -1,50 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
2
-
3
- describe 'EC2.describe_volumes' do
4
- describe 'success' do
5
-
6
- before(:each) do
7
- @volume_id = AWS[:ec2].create_volume('us-east-1a', 1).body['volumeId']
8
- end
9
-
10
- after(:each) do
11
- AWS[:ec2].delete_volume(@volume_id)
12
- end
13
-
14
- it "should return proper attributes with no params" do
15
- actual = AWS[:ec2].describe_volumes
16
- actual.body['requestId'].should be_a(String)
17
- volume = actual.body['volumeSet'].select {|volume| volume['volumeId'] == @volume_id}.first
18
- volume['availabilityZone'].should be_a(String)
19
- volume['createTime'].should be_a(Time)
20
- volume['size'].should == 1
21
- volume['snapshotId'].should be_nil
22
- volume['status'].should be_a(String)
23
- volume['volumeId'].should == @volume_id
24
- volume['attachmentSet'].should == []
25
- end
26
-
27
- it "should return proper attributes for specific volume" do
28
- actual = AWS[:ec2].describe_volumes(@volume_id)
29
- actual.body['requestId'].should be_a(String)
30
- volume = actual.body['volumeSet'].select {|volume| volume['volumeId'] == @volume_id}.first
31
- volume['availabilityZone'].should be_a(String)
32
- volume['createTime'].should be_a(Time)
33
- volume['size'].should == 1
34
- volume['snapshotId'].should be_nil
35
- volume['status'].should be_a(String)
36
- volume['volumeId'].should == @volume_id
37
- volume['attachmentSet'].should == []
38
- end
39
-
40
- end
41
- describe 'failure' do
42
-
43
- it "should raise a BadRequest error if volume does not exist" do
44
- lambda {
45
- AWS[:ec2].describe_volumes('vol-00000000')
46
- }.should raise_error(Excon::Errors::BadRequest)
47
- end
48
-
49
- end
50
- end
@@ -1,41 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
2
-
3
- describe 'EC2.detach_volume' do
4
- describe 'success' do
5
-
6
- before(:each) do
7
- @instance_id = AWS[:ec2].run_instances(GENTOO_AMI, 1, 1, {'Placement.AvailabilityZone' => 'us-east-1a'}).body['instancesSet'].first['instanceId']
8
- @volume_id = AWS[:ec2].create_volume('us-east-1a', 1).body['volumeId']
9
- AWS[:ec2].servers.get(@instance_id).wait_for { ready? }
10
- AWS[:ec2].servers.get(@instance_id).wait_for { ready? }
11
- AWS[:ec2].attach_volume(@instance_id, @volume_id, '/dev/sdh')
12
- AWS[:ec2].volumes.get(@volume_id).wait_for { ready? }
13
- end
14
-
15
- after(:each) do
16
- AWS[:ec2].volumes.get(@volume_id).wait_for { ready? }
17
- AWS[:ec2].delete_volume(@volume_id)
18
- AWS[:ec2].terminate_instances([@instance_id])
19
- end
20
-
21
- it "should return proper attributes" do
22
- actual = AWS[:ec2].detach_volume(@volume_id)
23
- actual.body['attachTime'].should be_a(Time)
24
- actual.body['device'].should be_a(String)
25
- actual.body['instanceId'].should be_a(String)
26
- actual.body['requestId'].should be_a(String)
27
- actual.body['status'].should be_a(String)
28
- actual.body['volumeId'].should be_a(String)
29
- end
30
-
31
- end
32
- describe 'failure' do
33
-
34
- it "should raise a BadRequest error if the volume does not exist" do
35
- lambda {
36
- AWS[:ec2].detach_volume('vol-00000000')
37
- }.should raise_error(Excon::Errors::BadRequest)
38
- end
39
-
40
- end
41
- end
@@ -1,36 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
2
-
3
- describe 'EC2.disassociate_address' do
4
- describe 'success' do
5
-
6
- before(:each) do
7
- @instance_id = AWS[:ec2].run_instances(GENTOO_AMI, 1, 1).body['instancesSet'].first['instanceId']
8
- @public_ip = AWS[:ec2].allocate_address.body['publicIp']
9
- AWS[:ec2].servers.get(@instance_id).wait_for { ready? }
10
- AWS[:ec2].associate_address(@instance_id, @public_ip)
11
- end
12
-
13
- after(:each) do
14
- AWS[:ec2].release_address(@public_ip)
15
- AWS[:ec2].terminate_instances([@instance_id])
16
- end
17
-
18
- it "should return proper attributes" do
19
- actual = AWS[:ec2].disassociate_address(@public_ip)
20
- actual.body['requestId'].should be_a(String)
21
- [false, true].should include(actual.body['return'])
22
- end
23
-
24
- end
25
-
26
- describe 'failure' do
27
-
28
- it "should raise a BadRequest error if the address does not exist" do
29
- lambda {
30
- AWS[:ec2].disassociate_address('127.0.0.1')
31
- }.should raise_error(Excon::Errors::BadRequest)
32
- end
33
-
34
- end
35
-
36
- end