internuity-awsum 0.2 → 0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +2 -1
- data/lib/awsum.rb +1 -1
- data/lib/ec2/address.rb +118 -0
- data/lib/ec2/availability_zone.rb +68 -0
- data/lib/ec2/keypair.rb +75 -0
- data/lib/ec2/region.rb +96 -0
- data/lib/ec2/security_group.rb +175 -0
- data/lib/error.rb +55 -0
- data/lib/net_fix.rb +100 -0
- data/lib/requestable.rb +2 -0
- data/lib/s3/bucket.rb +66 -0
- data/lib/s3/headers.rb +24 -0
- data/lib/s3/object.rb +138 -0
- data/lib/s3/s3.rb +219 -0
- data/test/fixtures/ec2/addresses.xml +10 -0
- data/test/fixtures/ec2/allocate_address.xml +5 -0
- data/test/fixtures/ec2/associate_address.xml +5 -0
- data/test/fixtures/ec2/authorize_ip_access.xml +5 -0
- data/test/fixtures/ec2/authorize_owner_group_access.xml +5 -0
- data/test/fixtures/ec2/authorize_owner_group_access_error.xml +2 -0
- data/test/fixtures/ec2/availability_zones.xml +16 -0
- data/test/fixtures/ec2/create_key_pair.xml +29 -0
- data/test/fixtures/ec2/create_security_group.xml +5 -0
- data/test/fixtures/ec2/delete_key_pair.xml +5 -0
- data/test/fixtures/ec2/delete_security_group.xml +5 -0
- data/test/fixtures/ec2/deregister_image.xml +5 -0
- data/test/fixtures/ec2/disassociate_address.xml +5 -0
- data/test/fixtures/ec2/internal_error.xml +2 -0
- data/test/fixtures/ec2/invalid_amiid_error.xml +2 -0
- data/test/fixtures/ec2/invalid_request_error.xml +2 -0
- data/test/fixtures/ec2/key_pairs.xml +10 -0
- data/test/fixtures/ec2/regions.xml +14 -0
- data/test/fixtures/ec2/register_image.xml +5 -0
- data/test/fixtures/ec2/release_address.xml +5 -0
- data/test/fixtures/ec2/revoke_ip_access.xml +5 -0
- data/test/fixtures/ec2/revoke_owner_group_access.xml +5 -0
- data/test/fixtures/ec2/security_groups.xml +159 -0
- data/test/fixtures/ec2/unassociated_address.xml +10 -0
- data/test/fixtures/s3/buckets.xml +2 -0
- data/test/fixtures/s3/copy_failure.xml +23 -0
- data/test/fixtures/s3/invalid_request_signature.xml +5 -0
- data/test/fixtures/s3/keys.xml +2 -0
- data/test/units/ec2/test_addresses.rb +60 -0
- data/test/units/ec2/test_keypair.rb +87 -0
- data/test/units/ec2/test_regions.rb +33 -0
- data/test/units/ec2/test_security_group.rb +105 -0
- data/test/units/s3/test_bucket.rb +58 -0
- data/test/units/s3/test_object.rb +111 -0
- data/test/units/s3/test_s3.rb +298 -0
- data/test/units/test_error.rb +101 -0
- data/test/units/test_requestable.rb +241 -0
- data/test/work_out_string_to_sign.rb +7 -0
- metadata +132 -43
@@ -0,0 +1,101 @@
|
|
1
|
+
require File.expand_path('../helper', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
class ErrorTest < Test::Unit::TestCase
|
4
|
+
context "A request to EC2" do
|
5
|
+
setup {
|
6
|
+
@ec2 = Awsum::Ec2.new('abc', 'xyz')
|
7
|
+
}
|
8
|
+
|
9
|
+
context "a raised error" do
|
10
|
+
setup {
|
11
|
+
xml = load_fixture('ec2/invalid_request_error')
|
12
|
+
response = stub('Http Response', :body => xml, :code => 400)
|
13
|
+
@ec2.expects(:process_request).with{|method, uri| @uri = uri}.returns(response)
|
14
|
+
|
15
|
+
begin
|
16
|
+
@ec2.images
|
17
|
+
rescue Awsum::Error => e
|
18
|
+
@error = e
|
19
|
+
end
|
20
|
+
}
|
21
|
+
|
22
|
+
should "have the correct response code" do
|
23
|
+
assert_equal 400, @error.response_code
|
24
|
+
end
|
25
|
+
|
26
|
+
should "have the correct code" do
|
27
|
+
assert_equal 'InvalidRequest', @error.code
|
28
|
+
end
|
29
|
+
|
30
|
+
should "have the correct message" do
|
31
|
+
assert_equal 'The request received was invalid.', @error.message
|
32
|
+
end
|
33
|
+
|
34
|
+
should "have the correct request id" do
|
35
|
+
assert_equal '7cbacf61-c7df-468a-8130-cf5d659f8144', @error.request_id
|
36
|
+
end
|
37
|
+
|
38
|
+
should "return error info in inspect" do
|
39
|
+
assert_equal '#<Awsum::Error response_code=400 code=InvalidRequest request_id=7cbacf61-c7df-468a-8130-cf5d659f8144 message=The request received was invalid.>', @error.inspect
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
context "with an invalid request" do
|
44
|
+
setup {
|
45
|
+
xml = load_fixture('ec2/invalid_request_error')
|
46
|
+
response = stub('Http Response', :body => xml, :code => 400)
|
47
|
+
@ec2.expects(:process_request).with{|method, uri| @uri = uri}.returns(response)
|
48
|
+
}
|
49
|
+
|
50
|
+
should "raise an error" do
|
51
|
+
assert_raise Awsum::Error do
|
52
|
+
@ec2.images
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
context "A request to S3" do
|
59
|
+
setup {
|
60
|
+
@s3 = Awsum::S3.new('abc', 'xyz')
|
61
|
+
}
|
62
|
+
|
63
|
+
context "with an invalid signature" do
|
64
|
+
setup {
|
65
|
+
xml = load_fixture('s3/invalid_request_signature')
|
66
|
+
response = stub('Http Response', :body => xml, :code => 403)
|
67
|
+
@s3.expects(:process_request).yields(response)
|
68
|
+
|
69
|
+
begin
|
70
|
+
@s3.create_object('test', 'test.txt', 'some data')
|
71
|
+
rescue Awsum::Error => e
|
72
|
+
@error = e
|
73
|
+
end
|
74
|
+
}
|
75
|
+
|
76
|
+
should "have the correct response code" do
|
77
|
+
assert_equal 403, @error.response_code
|
78
|
+
end
|
79
|
+
|
80
|
+
should "have the correct code" do
|
81
|
+
assert_equal 'SignatureDoesNotMatch', @error.code
|
82
|
+
end
|
83
|
+
|
84
|
+
should "have the correct message" do
|
85
|
+
assert_equal 'The request signature we calculated does not match the signature you provided. Check your key and signing method.', @error.message
|
86
|
+
end
|
87
|
+
|
88
|
+
should "have the correct request id" do
|
89
|
+
assert_equal '508F513C9D42C30E', @error.request_id
|
90
|
+
end
|
91
|
+
|
92
|
+
should "have additional data" do
|
93
|
+
assert @error.additional.is_a?(Hash)
|
94
|
+
end
|
95
|
+
|
96
|
+
should "have the string to sign" do
|
97
|
+
assert_equal '50 55 54 0a 59 57 59 34 4d 47 4a 6c 4d 6d 55 32 5a 44 59 35 4e 32 59 79 4f 57 45 35 5a 44 67 31 59 6a 67 33 59 54 51 35 4f 54 6b 79 4d 44 55 3d 0a 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 65 64 0a 54 75 65 2c 20 32 37 20 4a 61 6e 20 32 30 30 39 20 30 35 3a 31 38 3a 30 36 20 2b 30 32 30 30 0a 2f 61 77 73 75 6d 2d 74 65 73 74 2d 62 75 63 6b 65 74 2f 74 65 73 74 31 2e 74 78 74', @error.additional['StringToSignBytes']
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
@@ -0,0 +1,241 @@
|
|
1
|
+
require File.expand_path('../helper', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
class RequestableTest < Test::Unit::TestCase
|
4
|
+
#include Awsum::Requestable so we can test the private methods directly
|
5
|
+
include Awsum::Requestable
|
6
|
+
|
7
|
+
context "Mock HTTP calls: " do
|
8
|
+
setup {
|
9
|
+
@response = mock('HTTP Response', :is_a? => true)
|
10
|
+
}
|
11
|
+
|
12
|
+
context "A call to send_query_request" do
|
13
|
+
setup {
|
14
|
+
@access_key = 'ABCDEF'
|
15
|
+
@secret_key = '123456'
|
16
|
+
@host = 'test.amazonaws.com'
|
17
|
+
self.expects(:process_request).with{|method, uri|
|
18
|
+
uri == 'https://test.amazonaws.com/?AWSAccessKeyId=ABCDEF&Action=DescribeImages&ImageId.1=ami-1234567&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2009-01-23T03%3A34%3A38.000Z&Version=2008-12-01&Signature=Da66foYzsBTzMoCgCMBaUJrr4ha3NpWEWZ%2BHxl5h5eg%3D'
|
19
|
+
}.returns(@response)
|
20
|
+
|
21
|
+
send_query_request({'Action' => 'DescribeImages', 'ImageId.1' => 'ami-1234567', 'Timestamp' => '2009-01-23T03:34:38.000Z'})
|
22
|
+
}
|
23
|
+
|
24
|
+
should "pass" do
|
25
|
+
assert true
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
# These test are taken directly from Amazon's examples at
|
30
|
+
# http://docs.amazonwebservices.com/AmazonS3/2006-03-01/RESTAuthentication.html
|
31
|
+
context "AWS S3 Authentication examples: " do
|
32
|
+
setup {
|
33
|
+
@access_key = '0PN5J17HBGZHT7JJ3X82'
|
34
|
+
@secret_key = 'uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o'
|
35
|
+
@host = 's3.amazonaws.com'
|
36
|
+
}
|
37
|
+
|
38
|
+
context "Example Object GET" do
|
39
|
+
setup {
|
40
|
+
method = 'GET'
|
41
|
+
key = '/photos/puppy.jpg'
|
42
|
+
bucket = 'johnsmith'
|
43
|
+
date = 'Tue, 27 Mar 2007 19:36:42 +0000'
|
44
|
+
headers = {
|
45
|
+
'Date' => date
|
46
|
+
}
|
47
|
+
|
48
|
+
self.expects(:process_request).with{|method, uri, headers, data|
|
49
|
+
headers['authorization'] == 'AWS 0PN5J17HBGZHT7JJ3X82:xXjDGYUmKxnwqr5KXNPGldn5LbA='
|
50
|
+
}.yields(@response)
|
51
|
+
|
52
|
+
send_s3_request(method, :bucket => bucket, :key => key, :headers => headers)
|
53
|
+
}
|
54
|
+
|
55
|
+
should "pass" do
|
56
|
+
assert true
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
context "Example Object PUT" do
|
61
|
+
setup {
|
62
|
+
method = 'PUT'
|
63
|
+
key = '/photos/puppy.jpg'
|
64
|
+
bucket = 'johnsmith'
|
65
|
+
date = 'Tue, 27 Mar 2007 21:15:45 +0000'
|
66
|
+
headers = {
|
67
|
+
'Date' => date,
|
68
|
+
'Content-Type' => 'image/jpeg',
|
69
|
+
'Content-Length' => 94328
|
70
|
+
}
|
71
|
+
|
72
|
+
self.expects(:process_request).with{|method, uri, headers, data|
|
73
|
+
headers['authorization'] == 'AWS 0PN5J17HBGZHT7JJ3X82:hcicpDDvL9SsO6AkvxqmIWkmOuQ='
|
74
|
+
}.yields(@response)
|
75
|
+
|
76
|
+
send_s3_request(method, :bucket => bucket, :key => key, :headers => headers)
|
77
|
+
}
|
78
|
+
|
79
|
+
should "pass" do
|
80
|
+
assert true
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
context "Example List" do
|
85
|
+
setup {
|
86
|
+
method = 'GET'
|
87
|
+
key = ''
|
88
|
+
parameters = {'acl' => nil}
|
89
|
+
bucket = 'johnsmith'
|
90
|
+
date = 'Tue, 27 Mar 2007 19:44:46 +0000'
|
91
|
+
headers = {
|
92
|
+
'Date' => date
|
93
|
+
}
|
94
|
+
|
95
|
+
self.expects(:process_request).with{|method, uri, headers, data|
|
96
|
+
headers['authorization'] == 'AWS 0PN5J17HBGZHT7JJ3X82:thdUi9VAkzhkniLj96JIrOPGi0g='
|
97
|
+
}.yields(@response)
|
98
|
+
|
99
|
+
send_s3_request(method, :bucket => bucket, :key => key, :parameters => parameters, :headers => headers)
|
100
|
+
}
|
101
|
+
|
102
|
+
should "pass" do
|
103
|
+
assert true
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
context "Example Delete" do
|
108
|
+
setup {
|
109
|
+
method = 'DELETE'
|
110
|
+
key = '/photos/puppy.jpg'
|
111
|
+
parameters = {}
|
112
|
+
bucket = 'johnsmith'
|
113
|
+
date = 'Tue, 27 Mar 2007 21:20:27 +0000'
|
114
|
+
headers = {
|
115
|
+
'Date' => date,
|
116
|
+
'User-Agent' => 'dotnet',
|
117
|
+
'x-amz-date' => 'Tue, 27 Mar 2007 21:20:26 +0000'
|
118
|
+
}
|
119
|
+
|
120
|
+
self.expects(:process_request).with{|method, uri, headers, data|
|
121
|
+
headers['authorization'] == 'AWS 0PN5J17HBGZHT7JJ3X82:k3nL7gH3+PadhTEVn5Ip83xlYzk='
|
122
|
+
}.yields(@response)
|
123
|
+
|
124
|
+
send_s3_request(method, :bucket => bucket, :key => key, :parameters => parameters, :headers => headers)
|
125
|
+
}
|
126
|
+
|
127
|
+
should "pass" do
|
128
|
+
assert true
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
context "Example Upload" do
|
133
|
+
setup {
|
134
|
+
method = 'PUT'
|
135
|
+
key = '/db-backup.dat.gz'
|
136
|
+
parameters = {}
|
137
|
+
bucket = 'static.johnsmith.net'
|
138
|
+
date = 'Tue, 27 Mar 2007 21:06:08 +0000'
|
139
|
+
headers = {
|
140
|
+
'Date' => date,
|
141
|
+
'User-Agent' => 'curl/7.15.5',
|
142
|
+
'x-amz-acl' => 'public-read',
|
143
|
+
'content-type' => 'application/x-download',
|
144
|
+
'Content-MD5' => '4gJE4saaMU4BqNR0kLY+lw==',
|
145
|
+
'X-Amz-Meta-ReviewedBy' => ['joe@johnsmith.net', 'jane@johnsmith.net'],
|
146
|
+
'X-Amz-Meta-FileChecksum' => '0x02661779',
|
147
|
+
'X-Amz-Meta-ChecksumAlgorithm' => 'crc32',
|
148
|
+
'Content-Disposition' => 'attachment; filename=database.dat',
|
149
|
+
'Content-Encoding' => 'gzip',
|
150
|
+
'Content-Length' => '5913339'
|
151
|
+
}
|
152
|
+
|
153
|
+
self.expects(:process_request).with{|method, uri, headers, data|
|
154
|
+
headers['authorization'] == 'AWS 0PN5J17HBGZHT7JJ3X82:C0FlOtU8Ylb9KDTpZqYkZPX91iI='
|
155
|
+
}.yields(@response)
|
156
|
+
|
157
|
+
send_s3_request(method, :bucket => bucket, :key => key, :parameters => parameters, :headers => headers)
|
158
|
+
}
|
159
|
+
|
160
|
+
should "pass" do
|
161
|
+
assert true
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
context "Example List All My Buckets" do
|
166
|
+
setup {
|
167
|
+
method = 'GET'
|
168
|
+
key = ''
|
169
|
+
parameters = {}
|
170
|
+
bucket = ''
|
171
|
+
date = 'Wed, 28 Mar 2007 01:29:59 +0000'
|
172
|
+
headers = {
|
173
|
+
'Date' => date
|
174
|
+
}
|
175
|
+
|
176
|
+
self.expects(:process_request).with{|method, uri, headers, data|
|
177
|
+
headers['authorization'] == 'AWS 0PN5J17HBGZHT7JJ3X82:Db+gepJSUbZKwpx1FR0DLtEYoZA='
|
178
|
+
}.yields(@response)
|
179
|
+
|
180
|
+
send_s3_request(method, :bucket => bucket, :key => key, :parameters => parameters, :headers => headers)
|
181
|
+
}
|
182
|
+
|
183
|
+
should "pass" do
|
184
|
+
assert true
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
context "Example Unicode Keys" do
|
189
|
+
setup {
|
190
|
+
method = 'GET'
|
191
|
+
key = '/fran%C3%A7ais/pr%c3%a9f%c3%a8re'
|
192
|
+
parameters = {}
|
193
|
+
bucket = 'dictionary'
|
194
|
+
date = 'Wed, 28 Mar 2007 01:49:49 +0000'
|
195
|
+
headers = {
|
196
|
+
'Date' => date
|
197
|
+
}
|
198
|
+
|
199
|
+
self.expects(:process_request).with{|method, uri, headers, data|
|
200
|
+
headers['authorization'] == 'AWS 0PN5J17HBGZHT7JJ3X82:dxhSBHoI6eVSPcXJqEghlUzZMnY='
|
201
|
+
}.yields(@response)
|
202
|
+
|
203
|
+
send_s3_request(method, :bucket => bucket, :key => key, :parameters => parameters, :headers => headers)
|
204
|
+
}
|
205
|
+
|
206
|
+
should "pass" do
|
207
|
+
assert true
|
208
|
+
end
|
209
|
+
end
|
210
|
+
end
|
211
|
+
end
|
212
|
+
|
213
|
+
context "AWS S3 Authentication examples: " do
|
214
|
+
setup {
|
215
|
+
@access_key = '0PN5J17HBGZHT7JJ3X82'
|
216
|
+
@secret_key = 'uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o'
|
217
|
+
@host = 's3.amazonaws.com'
|
218
|
+
}
|
219
|
+
|
220
|
+
context "Example Query String Request Authentication" do
|
221
|
+
setup {
|
222
|
+
method = 'GET'
|
223
|
+
key = '/photos/puppy.jpg'
|
224
|
+
parameters = {}
|
225
|
+
bucket = 'johnsmith'
|
226
|
+
expires = 1175139620
|
227
|
+
headers = {}
|
228
|
+
@signed_request = generate_s3_signed_request_url(method, bucket, key, expires)
|
229
|
+
}
|
230
|
+
|
231
|
+
should "pass" do
|
232
|
+
assert_equal 'http://johnsmith.s3.amazonaws.com/photos/puppy.jpg?AWSAccessKeyId=0PN5J17HBGZHT7JJ3X82&Signature=rucSbH0yNEcP9oM2XNlouVI3BH4%3D&Expires=1175139620', @signed_request
|
233
|
+
end
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
#Host helper
|
238
|
+
def host
|
239
|
+
@host
|
240
|
+
end
|
241
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: internuity-awsum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: "0.
|
4
|
+
version: "0.3"
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Timberlake
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-03-05 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -44,45 +44,97 @@ files:
|
|
44
44
|
- README.rdoc
|
45
45
|
- LICENSE
|
46
46
|
- Rakefile
|
47
|
-
- lib/
|
47
|
+
- lib/error.rb
|
48
|
+
- lib/parser.rb
|
48
49
|
- lib/support.rb
|
49
50
|
- lib/ec2
|
50
|
-
- lib/ec2/instance.rb
|
51
|
-
- lib/ec2/image.rb
|
52
|
-
- lib/ec2/volume.rb
|
53
51
|
- lib/ec2/snapshot.rb
|
52
|
+
- lib/ec2/availability_zone.rb
|
53
|
+
- lib/ec2/security_group.rb
|
54
|
+
- lib/ec2/volume.rb
|
55
|
+
- lib/ec2/instance.rb
|
56
|
+
- lib/ec2/region.rb
|
57
|
+
- lib/ec2/address.rb
|
54
58
|
- lib/ec2/ec2.rb
|
59
|
+
- lib/ec2/image.rb
|
60
|
+
- lib/ec2/keypair.rb
|
61
|
+
- lib/requestable.rb
|
62
|
+
- lib/s3
|
63
|
+
- lib/s3/headers.rb
|
64
|
+
- lib/s3/bucket.rb
|
65
|
+
- lib/s3/object.rb
|
66
|
+
- lib/s3/s3.rb
|
55
67
|
- lib/awsum.rb
|
56
|
-
- lib/
|
57
|
-
- test/units
|
58
|
-
- test/units/ec2
|
59
|
-
- test/units/ec2/test_image.rb
|
60
|
-
- test/units/ec2/test_ec2.rb
|
61
|
-
- test/units/ec2/test_snapshot.rb
|
62
|
-
- test/units/ec2/test_instance.rb
|
63
|
-
- test/units/ec2/test_volume.rb
|
64
|
-
- test/units/test_awsum.rb
|
65
|
-
- test/helper.rb
|
66
|
-
- test/dump.rb
|
68
|
+
- lib/net_fix.rb
|
67
69
|
- test/fixtures
|
70
|
+
- test/fixtures/errors
|
71
|
+
- test/fixtures/errors/invalid_parameter_value.xml
|
68
72
|
- test/fixtures/ec2
|
69
|
-
- test/fixtures/ec2/
|
70
|
-
- test/fixtures/ec2/instance.xml
|
71
|
-
- test/fixtures/ec2/attach_volume.xml
|
73
|
+
- test/fixtures/ec2/terminate_instances.xml
|
72
74
|
- test/fixtures/ec2/create_snapshot.xml
|
73
|
-
- test/fixtures/ec2/
|
74
|
-
- test/fixtures/ec2/detach_volume.xml
|
75
|
-
- test/fixtures/ec2/create_volume.xml
|
75
|
+
- test/fixtures/ec2/delete_security_group.xml
|
76
76
|
- test/fixtures/ec2/delete_snapshot.xml
|
77
|
+
- test/fixtures/ec2/internal_error.xml
|
78
|
+
- test/fixtures/ec2/instance.xml
|
79
|
+
- test/fixtures/ec2/revoke_ip_access.xml
|
80
|
+
- test/fixtures/ec2/create_volume.xml
|
81
|
+
- test/fixtures/ec2/disassociate_address.xml
|
82
|
+
- test/fixtures/ec2/available_volume.xml
|
83
|
+
- test/fixtures/ec2/snapshots.xml
|
84
|
+
- test/fixtures/ec2/register_image.xml
|
85
|
+
- test/fixtures/ec2/deregister_image.xml
|
77
86
|
- test/fixtures/ec2/volumes.xml
|
87
|
+
- test/fixtures/ec2/invalid_amiid_error.xml
|
88
|
+
- test/fixtures/ec2/regions.xml
|
89
|
+
- test/fixtures/ec2/create_security_group.xml
|
90
|
+
- test/fixtures/ec2/authorize_owner_group_access_error.xml
|
91
|
+
- test/fixtures/ec2/run_instances.xml
|
92
|
+
- test/fixtures/ec2/revoke_owner_group_access.xml
|
93
|
+
- test/fixtures/ec2/invalid_request_error.xml
|
94
|
+
- test/fixtures/ec2/attach_volume.xml
|
78
95
|
- test/fixtures/ec2/images.xml
|
79
|
-
- test/fixtures/ec2/
|
96
|
+
- test/fixtures/ec2/delete_key_pair.xml
|
97
|
+
- test/fixtures/ec2/authorize_owner_group_access.xml
|
98
|
+
- test/fixtures/ec2/availability_zones.xml
|
99
|
+
- test/fixtures/ec2/authorize_ip_access.xml
|
100
|
+
- test/fixtures/ec2/create_key_pair.xml
|
101
|
+
- test/fixtures/ec2/instances.xml
|
80
102
|
- test/fixtures/ec2/image.xml
|
81
|
-
- test/fixtures/ec2/
|
82
|
-
- test/fixtures/ec2/
|
83
|
-
- test/fixtures/ec2/
|
84
|
-
- test/fixtures/
|
85
|
-
- test/fixtures/
|
103
|
+
- test/fixtures/ec2/key_pairs.xml
|
104
|
+
- test/fixtures/ec2/addresses.xml
|
105
|
+
- test/fixtures/ec2/allocate_address.xml
|
106
|
+
- test/fixtures/ec2/unassociated_address.xml
|
107
|
+
- test/fixtures/ec2/security_groups.xml
|
108
|
+
- test/fixtures/ec2/detach_volume.xml
|
109
|
+
- test/fixtures/ec2/delete_volume.xml
|
110
|
+
- test/fixtures/ec2/associate_address.xml
|
111
|
+
- test/fixtures/ec2/release_address.xml
|
112
|
+
- test/fixtures/s3
|
113
|
+
- test/fixtures/s3/invalid_request_signature.xml
|
114
|
+
- test/fixtures/s3/copy_failure.xml
|
115
|
+
- test/fixtures/s3/buckets.xml
|
116
|
+
- test/fixtures/s3/keys.xml
|
117
|
+
- test/helper.rb
|
118
|
+
- test/dump.rb
|
119
|
+
- test/units
|
120
|
+
- test/units/test_error.rb
|
121
|
+
- test/units/ec2
|
122
|
+
- test/units/ec2/test_instance.rb
|
123
|
+
- test/units/ec2/test_snapshot.rb
|
124
|
+
- test/units/ec2/test_volume.rb
|
125
|
+
- test/units/ec2/test_image.rb
|
126
|
+
- test/units/ec2/test_regions.rb
|
127
|
+
- test/units/ec2/test_keypair.rb
|
128
|
+
- test/units/ec2/test_security_group.rb
|
129
|
+
- test/units/ec2/test_addresses.rb
|
130
|
+
- test/units/ec2/test_ec2.rb
|
131
|
+
- test/units/s3
|
132
|
+
- test/units/s3/test_bucket.rb
|
133
|
+
- test/units/s3/test_object.rb
|
134
|
+
- test/units/s3/test_s3.rb
|
135
|
+
- test/units/test_requestable.rb
|
136
|
+
- test/units/test_awsum.rb
|
137
|
+
- test/work_out_string_to_sign.rb
|
86
138
|
has_rdoc: true
|
87
139
|
homepage: http://www.internuity.net/projects/awsum
|
88
140
|
post_install_message:
|
@@ -111,25 +163,62 @@ signing_key:
|
|
111
163
|
specification_version: 2
|
112
164
|
summary: Ruby library for working with Amazon Web Services
|
113
165
|
test_files:
|
114
|
-
- test/units/
|
115
|
-
- test/units/ec2/test_ec2.rb
|
116
|
-
- test/units/ec2/test_snapshot.rb
|
166
|
+
- test/units/test_error.rb
|
117
167
|
- test/units/ec2/test_instance.rb
|
168
|
+
- test/units/ec2/test_snapshot.rb
|
118
169
|
- test/units/ec2/test_volume.rb
|
170
|
+
- test/units/ec2/test_image.rb
|
171
|
+
- test/units/ec2/test_regions.rb
|
172
|
+
- test/units/ec2/test_keypair.rb
|
173
|
+
- test/units/ec2/test_security_group.rb
|
174
|
+
- test/units/ec2/test_addresses.rb
|
175
|
+
- test/units/ec2/test_ec2.rb
|
176
|
+
- test/units/s3/test_bucket.rb
|
177
|
+
- test/units/s3/test_object.rb
|
178
|
+
- test/units/s3/test_s3.rb
|
179
|
+
- test/units/test_requestable.rb
|
119
180
|
- test/units/test_awsum.rb
|
120
|
-
- test/fixtures/
|
121
|
-
- test/fixtures/ec2/
|
122
|
-
- test/fixtures/ec2/attach_volume.xml
|
181
|
+
- test/fixtures/errors/invalid_parameter_value.xml
|
182
|
+
- test/fixtures/ec2/terminate_instances.xml
|
123
183
|
- test/fixtures/ec2/create_snapshot.xml
|
124
|
-
- test/fixtures/ec2/
|
125
|
-
- test/fixtures/ec2/detach_volume.xml
|
126
|
-
- test/fixtures/ec2/create_volume.xml
|
184
|
+
- test/fixtures/ec2/delete_security_group.xml
|
127
185
|
- test/fixtures/ec2/delete_snapshot.xml
|
186
|
+
- test/fixtures/ec2/internal_error.xml
|
187
|
+
- test/fixtures/ec2/instance.xml
|
188
|
+
- test/fixtures/ec2/revoke_ip_access.xml
|
189
|
+
- test/fixtures/ec2/create_volume.xml
|
190
|
+
- test/fixtures/ec2/disassociate_address.xml
|
191
|
+
- test/fixtures/ec2/available_volume.xml
|
192
|
+
- test/fixtures/ec2/snapshots.xml
|
193
|
+
- test/fixtures/ec2/register_image.xml
|
194
|
+
- test/fixtures/ec2/deregister_image.xml
|
128
195
|
- test/fixtures/ec2/volumes.xml
|
196
|
+
- test/fixtures/ec2/invalid_amiid_error.xml
|
197
|
+
- test/fixtures/ec2/regions.xml
|
198
|
+
- test/fixtures/ec2/create_security_group.xml
|
199
|
+
- test/fixtures/ec2/authorize_owner_group_access_error.xml
|
200
|
+
- test/fixtures/ec2/run_instances.xml
|
201
|
+
- test/fixtures/ec2/revoke_owner_group_access.xml
|
202
|
+
- test/fixtures/ec2/invalid_request_error.xml
|
203
|
+
- test/fixtures/ec2/attach_volume.xml
|
129
204
|
- test/fixtures/ec2/images.xml
|
130
|
-
- test/fixtures/ec2/
|
205
|
+
- test/fixtures/ec2/delete_key_pair.xml
|
206
|
+
- test/fixtures/ec2/authorize_owner_group_access.xml
|
207
|
+
- test/fixtures/ec2/availability_zones.xml
|
208
|
+
- test/fixtures/ec2/authorize_ip_access.xml
|
209
|
+
- test/fixtures/ec2/create_key_pair.xml
|
210
|
+
- test/fixtures/ec2/instances.xml
|
131
211
|
- test/fixtures/ec2/image.xml
|
132
|
-
- test/fixtures/ec2/
|
133
|
-
- test/fixtures/ec2/
|
134
|
-
- test/fixtures/ec2/
|
135
|
-
- test/fixtures/
|
212
|
+
- test/fixtures/ec2/key_pairs.xml
|
213
|
+
- test/fixtures/ec2/addresses.xml
|
214
|
+
- test/fixtures/ec2/allocate_address.xml
|
215
|
+
- test/fixtures/ec2/unassociated_address.xml
|
216
|
+
- test/fixtures/ec2/security_groups.xml
|
217
|
+
- test/fixtures/ec2/detach_volume.xml
|
218
|
+
- test/fixtures/ec2/delete_volume.xml
|
219
|
+
- test/fixtures/ec2/associate_address.xml
|
220
|
+
- test/fixtures/ec2/release_address.xml
|
221
|
+
- test/fixtures/s3/invalid_request_signature.xml
|
222
|
+
- test/fixtures/s3/copy_failure.xml
|
223
|
+
- test/fixtures/s3/buckets.xml
|
224
|
+
- test/fixtures/s3/keys.xml
|