fog 0.0.29 → 0.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. data/Rakefile +1 -0
  2. data/VERSION +1 -1
  3. data/bin/fog +18 -11
  4. data/fog.gemspec +43 -14
  5. data/lib/fog.rb +7 -1
  6. data/lib/fog/aws/ec2.rb +0 -7
  7. data/lib/fog/aws/models/ec2/address.rb +22 -26
  8. data/lib/fog/aws/models/ec2/addresses.rb +7 -22
  9. data/lib/fog/aws/models/ec2/instance.rb +2 -15
  10. data/lib/fog/aws/models/ec2/instances.rb +6 -23
  11. data/lib/fog/aws/models/ec2/key_pair.rb +2 -17
  12. data/lib/fog/aws/models/ec2/key_pairs.rb +6 -23
  13. data/lib/fog/aws/models/ec2/security_group.rb +18 -22
  14. data/lib/fog/aws/models/ec2/security_groups.rb +6 -23
  15. data/lib/fog/aws/models/ec2/snapshot.rb +2 -15
  16. data/lib/fog/aws/models/ec2/snapshots.rb +7 -20
  17. data/lib/fog/aws/models/ec2/volume.rb +23 -22
  18. data/lib/fog/aws/models/ec2/volumes.rb +8 -22
  19. data/lib/fog/aws/models/s3/bucket.rb +1 -1
  20. data/lib/fog/aws/models/s3/buckets.rb +3 -20
  21. data/lib/fog/aws/models/s3/objects.rb +11 -22
  22. data/lib/fog/aws/requests/ec2/allocate_address.rb +1 -1
  23. data/lib/fog/aws/requests/ec2/associate_address.rb +2 -2
  24. data/lib/fog/aws/requests/ec2/attach_volume.rb +2 -2
  25. data/lib/fog/aws/requests/ec2/authorize_security_group_ingress.rb +1 -1
  26. data/lib/fog/aws/requests/ec2/create_key_pair.rb +2 -2
  27. data/lib/fog/aws/requests/ec2/create_security_group.rb +2 -2
  28. data/lib/fog/aws/requests/ec2/create_snapshot.rb +2 -2
  29. data/lib/fog/aws/requests/ec2/create_volume.rb +3 -3
  30. data/lib/fog/aws/requests/ec2/delete_key_pair.rb +1 -1
  31. data/lib/fog/aws/requests/ec2/delete_security_group.rb +2 -2
  32. data/lib/fog/aws/requests/ec2/delete_snapshot.rb +2 -2
  33. data/lib/fog/aws/requests/ec2/delete_volume.rb +2 -2
  34. data/lib/fog/aws/requests/ec2/describe_addresses.rb +2 -2
  35. data/lib/fog/aws/requests/ec2/describe_availability_zones.rb +1 -1
  36. data/lib/fog/aws/requests/ec2/describe_images.rb +1 -1
  37. data/lib/fog/aws/requests/ec2/describe_instances.rb +2 -2
  38. data/lib/fog/aws/requests/ec2/describe_key_pairs.rb +2 -2
  39. data/lib/fog/aws/requests/ec2/describe_regions.rb +1 -1
  40. data/lib/fog/aws/requests/ec2/describe_security_groups.rb +2 -2
  41. data/lib/fog/aws/requests/ec2/describe_snapshots.rb +2 -2
  42. data/lib/fog/aws/requests/ec2/describe_volumes.rb +2 -2
  43. data/lib/fog/aws/requests/ec2/detach_volume.rb +2 -2
  44. data/lib/fog/aws/requests/ec2/disassociate_address.rb +2 -2
  45. data/lib/fog/aws/requests/ec2/get_console_output.rb +2 -2
  46. data/lib/fog/aws/requests/ec2/reboot_instances.rb +2 -2
  47. data/lib/fog/aws/requests/ec2/release_address.rb +2 -2
  48. data/lib/fog/aws/requests/ec2/revoke_security_group_ingress.rb +1 -1
  49. data/lib/fog/aws/requests/ec2/run_instances.rb +2 -2
  50. data/lib/fog/aws/requests/ec2/terminate_instances.rb +2 -2
  51. data/lib/fog/aws/requests/s3/copy_object.rb +2 -2
  52. data/lib/fog/aws/requests/s3/delete_bucket.rb +3 -3
  53. data/lib/fog/aws/requests/s3/delete_object.rb +2 -2
  54. data/lib/fog/aws/requests/s3/get_bucket.rb +2 -2
  55. data/lib/fog/aws/requests/s3/get_bucket_location.rb +2 -2
  56. data/lib/fog/aws/requests/s3/get_object.rb +2 -2
  57. data/lib/fog/aws/requests/s3/get_request_payment.rb +2 -2
  58. data/lib/fog/aws/requests/s3/get_service.rb +1 -1
  59. data/lib/fog/aws/requests/s3/head_object.rb +1 -1
  60. data/lib/fog/aws/requests/s3/put_bucket.rb +1 -1
  61. data/lib/fog/aws/requests/s3/put_object.rb +2 -2
  62. data/lib/fog/aws/requests/s3/put_request_payment.rb +1 -1
  63. data/lib/fog/aws/requests/simpledb/batch_put_attributes.rb +2 -2
  64. data/lib/fog/aws/requests/simpledb/create_domain.rb +1 -1
  65. data/lib/fog/aws/requests/simpledb/delete_attributes.rb +2 -2
  66. data/lib/fog/aws/requests/simpledb/delete_domain.rb +1 -1
  67. data/lib/fog/aws/requests/simpledb/domain_metadata.rb +2 -2
  68. data/lib/fog/aws/requests/simpledb/get_attributes.rb +2 -2
  69. data/lib/fog/aws/requests/simpledb/list_domains.rb +1 -1
  70. data/lib/fog/aws/requests/simpledb/put_attributes.rb +1 -1
  71. data/lib/fog/aws/requests/simpledb/select.rb +1 -1
  72. data/lib/fog/aws/s3.rb +0 -7
  73. data/lib/fog/aws/simpledb.rb +0 -4
  74. data/lib/fog/collection.rb +35 -7
  75. data/lib/fog/connection.rb +10 -130
  76. data/lib/fog/model.rb +18 -13
  77. data/lib/fog/parser.rb +0 -5
  78. data/lib/fog/rackspace.rb +35 -15
  79. data/lib/fog/rackspace/files.rb +36 -6
  80. data/lib/fog/rackspace/models/servers/server.rb +2 -16
  81. data/lib/fog/rackspace/models/servers/servers.rb +6 -21
  82. data/lib/fog/rackspace/requests/files/delete_container.rb +38 -0
  83. data/lib/fog/rackspace/requests/files/delete_object.rb +39 -0
  84. data/lib/fog/rackspace/requests/files/get_container.rb +61 -0
  85. data/lib/fog/rackspace/requests/files/get_containers.rb +5 -7
  86. data/lib/fog/rackspace/requests/files/head_container.rb +44 -0
  87. data/lib/fog/rackspace/requests/files/head_containers.rb +1 -1
  88. data/lib/fog/rackspace/requests/files/put_container.rb +38 -0
  89. data/lib/fog/rackspace/requests/files/put_object.rb +41 -0
  90. data/lib/fog/rackspace/requests/servers/create_image.rb +6 -0
  91. data/lib/fog/rackspace/requests/servers/create_server.rb +21 -2
  92. data/lib/fog/rackspace/requests/servers/delete_server.rb +18 -3
  93. data/lib/fog/rackspace/requests/servers/get_server_details.rb +17 -5
  94. data/lib/fog/rackspace/requests/servers/list_addresses.rb +52 -0
  95. data/lib/fog/rackspace/requests/servers/list_flavors.rb +2 -4
  96. data/lib/fog/rackspace/requests/servers/list_flavors_detail.rb +41 -0
  97. data/lib/fog/rackspace/requests/servers/list_images.rb +1 -1
  98. data/lib/fog/rackspace/requests/servers/list_images_detail.rb +1 -1
  99. data/lib/fog/rackspace/requests/servers/list_private_addresses.rb +50 -0
  100. data/lib/fog/rackspace/requests/servers/list_public_addresses.rb +50 -0
  101. data/lib/fog/rackspace/requests/servers/list_servers.rb +11 -2
  102. data/lib/fog/rackspace/requests/servers/list_servers_detail.rb +17 -2
  103. data/lib/fog/rackspace/requests/servers/reboot_server.rb +3 -6
  104. data/lib/fog/rackspace/requests/servers/update_server.rb +18 -5
  105. data/lib/fog/rackspace/servers.rb +20 -0
  106. data/spec/aws/models/ec2/address_spec.rb +4 -4
  107. data/spec/aws/models/ec2/instance_spec.rb +6 -6
  108. data/spec/aws/models/ec2/key_pair_spec.rb +5 -5
  109. data/spec/aws/models/ec2/security_group_spec.rb +5 -5
  110. data/spec/aws/models/ec2/snapshot_spec.rb +8 -8
  111. data/spec/aws/models/ec2/snapshots_spec.rb +6 -6
  112. data/spec/aws/models/ec2/volume_spec.rb +6 -5
  113. data/spec/aws/models/ec2/volumes_spec.rb +4 -4
  114. data/spec/aws/requests/ec2/associate_address_spec.rb +2 -2
  115. data/spec/aws/requests/ec2/attach_volume_spec.rb +2 -2
  116. data/spec/aws/requests/ec2/create_key_pair_spec.rb +1 -1
  117. data/spec/aws/requests/ec2/create_security_group_spec.rb +1 -1
  118. data/spec/aws/requests/ec2/create_snapshot_spec.rb +1 -1
  119. data/spec/aws/requests/ec2/delete_security_group_spec.rb +1 -1
  120. data/spec/aws/requests/ec2/delete_snapshot_spec.rb +1 -1
  121. data/spec/aws/requests/ec2/delete_volume_spec.rb +2 -2
  122. data/spec/aws/requests/ec2/describe_addresses_spec.rb +1 -1
  123. data/spec/aws/requests/ec2/describe_instances_spec.rb +1 -1
  124. data/spec/aws/requests/ec2/describe_key_pairs_spec.rb +1 -1
  125. data/spec/aws/requests/ec2/describe_security_groups_spec.rb +1 -1
  126. data/spec/aws/requests/ec2/describe_snapshots_spec.rb +1 -1
  127. data/spec/aws/requests/ec2/describe_volumes_spec.rb +1 -1
  128. data/spec/aws/requests/ec2/detach_volume_spec.rb +1 -1
  129. data/spec/aws/requests/ec2/disassociate_address_spec.rb +1 -1
  130. data/spec/aws/requests/ec2/get_console_output_spec.rb +1 -1
  131. data/spec/aws/requests/ec2/reboot_instances_spec.rb +1 -1
  132. data/spec/aws/requests/ec2/release_address_spec.rb +1 -1
  133. data/spec/aws/requests/ec2/terminate_instances_spec.rb +1 -1
  134. data/spec/aws/requests/s3/copy_object_spec.rb +4 -5
  135. data/spec/aws/requests/s3/delete_bucket_spec.rb +3 -4
  136. data/spec/aws/requests/s3/delete_object_spec.rb +2 -3
  137. data/spec/aws/requests/s3/get_bucket_location_spec.rb +1 -1
  138. data/spec/aws/requests/s3/get_bucket_spec.rb +4 -6
  139. data/spec/aws/requests/s3/get_object_spec.rb +6 -10
  140. data/spec/aws/requests/s3/get_request_payment_spec.rb +1 -1
  141. data/spec/aws/requests/s3/head_object_spec.rb +2 -4
  142. data/spec/aws/requests/s3/put_object_spec.rb +4 -7
  143. data/spec/aws/requests/s3/put_request_payment_spec.rb +1 -1
  144. data/spec/aws/requests/simpledb/batch_put_attributes_spec.rb +1 -1
  145. data/spec/aws/requests/simpledb/delete_attributes_spec.rb +1 -1
  146. data/spec/aws/requests/simpledb/domain_metadata_spec.rb +1 -1
  147. data/spec/aws/requests/simpledb/get_attributes_spec.rb +1 -1
  148. data/spec/aws/requests/simpledb/put_attributes_spec.rb +1 -1
  149. data/spec/rackspace/requests/files/delete_container_spec.rb +24 -0
  150. data/spec/rackspace/requests/files/delete_object_spec.rb +37 -0
  151. data/spec/rackspace/requests/files/get_container_spec.rb +33 -0
  152. data/spec/rackspace/requests/files/get_containers_spec.rb +12 -1
  153. data/spec/rackspace/requests/files/head_container_spec.rb +30 -0
  154. data/spec/rackspace/requests/files/head_containers_spec.rb +9 -1
  155. data/spec/rackspace/requests/files/put_container_spec.rb +15 -0
  156. data/spec/rackspace/requests/files/put_object_spec.rb +20 -0
  157. data/spec/rackspace/requests/servers/create_image_spec.rb +16 -2
  158. data/spec/rackspace/requests/servers/create_server_spec.rb +1 -1
  159. data/spec/rackspace/requests/servers/delete_image_spec.rb +32 -0
  160. data/spec/rackspace/requests/servers/delete_server_spec.rb +1 -1
  161. data/spec/rackspace/requests/servers/get_server_details_spec.rb +1 -1
  162. data/spec/rackspace/requests/servers/list_addresses_spec.rb +34 -0
  163. data/spec/rackspace/requests/servers/list_flavors_detail_spec.rb +17 -0
  164. data/spec/rackspace/requests/servers/list_flavors_spec.rb +6 -3
  165. data/spec/rackspace/requests/servers/list_images_detail_spec.rb +18 -0
  166. data/spec/rackspace/requests/servers/list_images_spec.rb +5 -2
  167. data/spec/rackspace/requests/servers/list_private_addresses_spec.rb +32 -0
  168. data/spec/rackspace/requests/servers/list_public_addresses_spec.rb +32 -0
  169. data/spec/rackspace/requests/servers/list_servers_detail_spec.rb +1 -1
  170. data/spec/rackspace/requests/servers/reboot_server_spec.rb +31 -0
  171. data/spec/rackspace/requests/servers/update_server_spec.rb +33 -0
  172. data/spec/spec_helper.rb +5 -1
  173. metadata +50 -14
  174. data/benchs/headers_split_vs_match.rb +0 -18
  175. data/benchs/stripping.rb +0 -26
  176. data/lib/fog/errors.rb +0 -145
  177. data/lib/fog/response.rb +0 -12
  178. data/spec/rackspace/requests/servers/delete_image.rb +0 -12
  179. data/spec/rackspace/requests/servers/list_images_detail.rb +0 -12
  180. data/spec/rackspace/requests/servers/reboot_server.rb +0 -12
  181. data/spec/rackspace/requests/servers/update_server.rb +0 -12
@@ -0,0 +1,33 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+
3
+ describe 'Rackspace::Files.get_container' do
4
+ describe 'success' do
5
+
6
+ before(:each) do
7
+ files.put_container('container_name')
8
+ files.put_object('container_name', 'object_name', lorem_file)
9
+ end
10
+
11
+ after(:each) do
12
+ files.delete_object('container_name', 'object_name')
13
+ files.delete_container('container_name')
14
+ end
15
+
16
+ it "should return proper attributes" do
17
+ actual = files.get_container('container_name').body
18
+ actual.first['bytes'].should be_an(Integer)
19
+ actual.first['content_type'].should be_a(String)
20
+ actual.first['hash'].should be_a(String)
21
+ actual.first['last_modified'].should be_a(String)
22
+ actual.first['name'].should be_a(String)
23
+ end
24
+
25
+ end
26
+ describe 'failure' do
27
+
28
+ it "should not raise an if the container does not exist" do
29
+ files.get_container('container_name')
30
+ end
31
+
32
+ end
33
+ end
@@ -3,8 +3,19 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
3
3
  describe 'Rackspace::Files.get_containers' do
4
4
  describe 'success' do
5
5
 
6
+ before(:each) do
7
+ files.put_container('container_name')
8
+ end
9
+
10
+ after(:each) do
11
+ files.delete_container('container_name')
12
+ end
13
+
6
14
  it "should return proper attributes" do
7
- p files.get_containers
15
+ actual = files.get_containers.body
16
+ actual.first['bytes'].should be_an(Integer)
17
+ actual.first['count'].should be_an(Integer)
18
+ actual.first['name'].should be_a(String)
8
19
  end
9
20
 
10
21
  end
@@ -0,0 +1,30 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+
3
+ describe 'Rackspace::Files.head_container' do
4
+ describe 'success' do
5
+
6
+ before(:each) do
7
+ files.put_container('container_name')
8
+ files.put_object('container_name', 'object_name', lorem_file)
9
+ end
10
+
11
+ after(:each) do
12
+ files.delete_object('container_name', 'object_name')
13
+ files.delete_container('container_name')
14
+ end
15
+
16
+ it "should return proper attributes" do
17
+ files.head_container('container_name')
18
+ end
19
+
20
+ end
21
+ describe 'failure' do
22
+
23
+ it "should raise a NotFound error if the container does not exist" do
24
+ lambda do
25
+ files.head_container('container_name')
26
+ end.should raise_error(Excon::Errors::NotFound)
27
+ end
28
+
29
+ end
30
+ end
@@ -3,8 +3,16 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
3
3
  describe 'Rackspace::Files.head_containers' do
4
4
  describe 'success' do
5
5
 
6
+ before(:each) do
7
+ files.put_container('container_name')
8
+ end
9
+
10
+ after(:each) do
11
+ files.delete_container('container_name')
12
+ end
13
+
6
14
  it "should return proper attributes" do
7
- p files.head_containers
15
+ files.head_containers
8
16
  end
9
17
 
10
18
  end
@@ -0,0 +1,15 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+
3
+ describe 'Rackspace::Files.put_container' do
4
+ describe 'success' do
5
+
6
+ after(:each) do
7
+ files.delete_container('container_name')
8
+ end
9
+
10
+ it "should return proper attributes" do
11
+ files.put_container('container_name')
12
+ end
13
+
14
+ end
15
+ end
@@ -0,0 +1,20 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+
3
+ describe 'Rackspace::Files.put_object' do
4
+ describe 'success' do
5
+
6
+ before(:each) do
7
+ files.put_container('container_name')
8
+ end
9
+
10
+ after(:each) do
11
+ files.delete_object('container_name', 'object_name')
12
+ files.delete_container('container_name')
13
+ end
14
+
15
+ it "should return proper attributes" do
16
+ files.put_object('container_name', 'object_name', lorem_file)
17
+ end
18
+
19
+ end
20
+ end
@@ -3,9 +3,23 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
3
3
  describe 'Rackspace::Servers.create_image' do
4
4
  describe 'success' do
5
5
 
6
+ before(:each) do
7
+ # flavor 1 = 256, image 3 = gentoo 2008.0
8
+ @server_id = servers.create_server(1, 3).body['server']['id']
9
+ end
10
+
11
+ after(:each) do
12
+ eventually(128) do
13
+ servers.delete_server(@server_id)
14
+ end
15
+ servers.delete_image(@image_id)
16
+ end
17
+
6
18
  it "should return proper attributes" do
7
- pending
8
- p servers.create_image(id)
19
+ actual = servers.create_image(@server_id).body['image']
20
+ @image_id = actual['id']
21
+ actual['id'].should be_an(Integer)
22
+ actual['serverId'].should be_an(Integer)
9
23
  end
10
24
 
11
25
  end
@@ -25,7 +25,7 @@ describe 'Rackspace::Servers.create_server' do
25
25
  actual['imageId'].should be_an(Integer)
26
26
  actual['metadata'].should be_a(Hash)
27
27
  actual['name'].should be_a(String)
28
- actual['progress'].should be_an(Integer)
28
+ # actual['progress'].should be_an(Integer)
29
29
  actual['status'].should be_a(String)
30
30
  end
31
31
 
@@ -0,0 +1,32 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+
3
+ describe 'Rackspace::Servers.delete_image' do
4
+ describe 'success' do
5
+
6
+ before(:each) do
7
+ # flavor 1 = 256, image 3 = gentoo 2008.0
8
+ @server_id = servers.create_server(1, 3).body['server']['id']
9
+ @image_id = servers.create_image(@server_id)
10
+ end
11
+
12
+ it "should return proper attributes" do
13
+ eventually(128) do
14
+ servers.delete_server(@server_id)
15
+ end
16
+ end
17
+
18
+ it "should return proper attributes" do
19
+ servers.delete_image(@image_id)
20
+ end
21
+
22
+ end
23
+ describe 'failure' do
24
+
25
+ it "should raise a NotFound error if the image does not exist" do
26
+ lambda do
27
+ servers.delete_image(0)
28
+ end.should raise_error(Excon::Errors::NotFound)
29
+ end
30
+
31
+ end
32
+ end
@@ -20,7 +20,7 @@ describe 'Rackspace::Servers.delete_server' do
20
20
  it "should raise a NotFound error if the server does not exist" do
21
21
  lambda {
22
22
  servers.delete_server(0)
23
- }.should raise_error(Fog::Errors::NotFound)
23
+ }.should raise_error(Excon::Errors::NotFound)
24
24
  end
25
25
 
26
26
  end
@@ -37,7 +37,7 @@ describe 'Rackspace::Servers.get_server_details' do
37
37
  it "should raise a NotFound error if the server does not exist" do
38
38
  lambda {
39
39
  servers.get_server_details(0)
40
- }.should raise_error(Fog::Errors::NotFound)
40
+ }.should raise_error(Excon::Errors::NotFound)
41
41
  end
42
42
 
43
43
  end
@@ -0,0 +1,34 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+
3
+ describe 'Rackspace::Servers.list_addresses' do
4
+ describe 'success' do
5
+
6
+ before(:each) do
7
+ # flavor 1 = 256, image 3 = gentoo 2008.0
8
+ @server_id = servers.create_server(1, 3).body['server']['id']
9
+ end
10
+
11
+ after(:each) do
12
+ eventually(128) do
13
+ servers.delete_server(@server_id)
14
+ end
15
+ end
16
+
17
+ it "should return proper attributes" do
18
+ actual = servers.list_addresses(@server_id).body
19
+ actual['addresses'].should be_a(Hash)
20
+ actual['addresses']['private'].should be_an(Array)
21
+ actual['addresses']['public'].should be_an(Array)
22
+ end
23
+
24
+ end
25
+ describe 'failure' do
26
+
27
+ it "should raise a NotFound error if the server does not exist" do
28
+ lambda {
29
+ servers.list_addresses(0)
30
+ }.should raise_error(Excon::Errors::NotFound)
31
+ end
32
+
33
+ end
34
+ end
@@ -0,0 +1,17 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+
3
+ describe 'Rackspace::Servers.list_flavors_detail' do
4
+ describe 'success' do
5
+
6
+ it "should return proper attributes" do
7
+ actual = servers.list_flavors_detail.body
8
+ actual['flavors'].should be_an(Array)
9
+ flavor = actual['flavors'].first
10
+ flavor['disk'].should be_an(Integer)
11
+ flavor['id'].should be_an(Integer)
12
+ flavor['name'].should be_a(String)
13
+ flavor['ram'].should be_an(Integer)
14
+ end
15
+
16
+ end
17
+ end
@@ -4,9 +4,12 @@ describe 'Rackspace::Servers.list_flavors' do
4
4
  describe 'success' do
5
5
 
6
6
  it "should return proper attributes" do
7
- pending
8
- p servers.list_flavors
7
+ actual = servers.list_flavors.body
8
+ actual['flavors'].should be_an(Array)
9
+ flavor = actual['flavors'].first
10
+ flavor['id'].should be_an(Integer)
11
+ flavor['name'].should be_a(String)
9
12
  end
10
13
 
11
14
  end
12
- end
15
+ end
@@ -0,0 +1,18 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+
3
+ describe 'Rackspace::Servers.list_images_detail' do
4
+ describe 'success' do
5
+
6
+ it "should return proper attributes" do
7
+ actual = servers.list_images_detail.body
8
+ actual['images'].should be_an(Array)
9
+ image = actual['images'].first
10
+ image['created'].should be_a(String)
11
+ image['id'].should be_an(Integer)
12
+ image['name'].should be_a(String)
13
+ image['status'].should be_a(String)
14
+ image['updated'].should be_a(String)
15
+ end
16
+
17
+ end
18
+ end
@@ -4,8 +4,11 @@ describe 'Rackspace::Servers.list_images' do
4
4
  describe 'success' do
5
5
 
6
6
  it "should return proper attributes" do
7
- pending
8
- p servers.list_images
7
+ actual = servers.list_images.body
8
+ actual['images'].should be_an(Array)
9
+ image = actual['images'].first
10
+ image['id'].should be_an(Integer)
11
+ image['name'].should be_a(String)
9
12
  end
10
13
 
11
14
  end
@@ -0,0 +1,32 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+
3
+ describe 'Rackspace::Servers.list_private_addresses' do
4
+ describe 'success' do
5
+
6
+ before(:each) do
7
+ # flavor 1 = 256, image 3 = gentoo 2008.0
8
+ @server_id = servers.create_server(1, 3).body['server']['id']
9
+ end
10
+
11
+ after(:each) do
12
+ eventually(128) do
13
+ servers.delete_server(@server_id)
14
+ end
15
+ end
16
+
17
+ it "should return proper attributes" do
18
+ actual = servers.list_private_addresses(@server_id).body
19
+ actual['private'].should be_an(Array)
20
+ end
21
+
22
+ end
23
+ describe 'failure' do
24
+
25
+ it "should raise a NotFound error if the server does not exist" do
26
+ lambda {
27
+ servers.list_private_addresses(0)
28
+ }.should raise_error(Excon::Errors::NotFound)
29
+ end
30
+
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+
3
+ describe 'Rackspace::Servers.list_public_addresses' do
4
+ describe 'success' do
5
+
6
+ before(:each) do
7
+ # flavor 1 = 256, image 3 = gentoo 2008.0
8
+ @server_id = servers.create_server(1, 3).body['server']['id']
9
+ end
10
+
11
+ after(:each) do
12
+ eventually(128) do
13
+ servers.delete_server(@server_id)
14
+ end
15
+ end
16
+
17
+ it "should return proper attributes" do
18
+ actual = servers.list_public_addresses(@server_id).body
19
+ actual['public'].should be_an(Array)
20
+ end
21
+
22
+ end
23
+ describe 'failure' do
24
+
25
+ it "should raise a NotFound error if the server does not exist" do
26
+ lambda {
27
+ servers.list_public_addresses(0)
28
+ }.should raise_error(Excon::Errors::NotFound)
29
+ end
30
+
31
+ end
32
+ end
@@ -7,7 +7,7 @@ describe 'Rackspace::Servers.list_servers_detail' do
7
7
  # flavor 1 = 256, image 3 = gentoo 2008.0
8
8
  @server_id = servers.create_server(1, 3).body['server']['id']
9
9
  end
10
-
10
+
11
11
  after(:each) do
12
12
  eventually(128) do
13
13
  servers.delete_server(@server_id)
@@ -0,0 +1,31 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+
3
+ describe 'Rackspace::Servers.reboot_server' do
4
+ describe 'success' do
5
+
6
+ before(:each) do
7
+ # flavor 1 = 256, image 3 = gentoo 2008.0
8
+ @server_id = servers.create_server(1, 3).body['server']['id']
9
+ end
10
+
11
+ after(:each) do
12
+ eventually(128) do
13
+ servers.delete_server(@server_id)
14
+ end
15
+ end
16
+
17
+ it "should return proper attributes" do
18
+ servers.reboot_server(@server_id, 'HARD')
19
+ end
20
+
21
+ end
22
+ describe 'failure' do
23
+
24
+ it "should raise a NotFound error if the server does not exist" do
25
+ lambda do
26
+ servers.reboot_server(0, 'HARD')
27
+ end.should raise_error(Excon::Errors::NotFound)
28
+ end
29
+
30
+ end
31
+ end