sndacs 0.0.1 → 0.1.0

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.
data/test/service_test.rb DELETED
@@ -1,111 +0,0 @@
1
- require "test_helper"
2
-
3
- class ServiceTest < Test::Unit::TestCase
4
- def setup
5
- @buckets_list_body = <<-EOBuckets
6
- <?xml version="1.0" encoding="UTF-8"?>\n<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>123u1odhkhfoadf</ID> <DisplayName>JohnDoe</DisplayName> </Owner> <Buckets> <Bucket> <Name>data.example.com</Name> <CreationDate>2009-07-02T11:56:58.000Z</CreationDate> </Bucket> <Bucket> <Name>images</Name> <CreationDate>2009-06-05T12:26:33.000Z</CreationDate> </Bucket> </Buckets> </ListAllMyBucketsResult>
7
- EOBuckets
8
-
9
- @bucket_not_exists = <<-EOBucketNoexists
10
- <?xml version="1.0" encoding="UTF-8"?>\n<Error> <Code>NoSuchBucket</Code> <Message>The specified bucket does not exists</Message> <BucketName>data2.example.com</BucketName> <RequestId>8D7519AAE74E9E99</RequestId> <HostId>DvKnnNSMnPHd1oXukyRaFNv8Lg/bpwhuUtY8Kj7eDLbaIrIT8JebSnHwi89AK1P+</HostId> </Error>
11
- EOBucketNoexists
12
-
13
- @bucket_exists = <<-EOBucketexists
14
- <?xml version="1.0" encoding="UTF-8"?>\n<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>data.synergypeople.net</Name> <Prefix></Prefix> <Marker></Marker> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> </ListBucketResult>
15
- EOBucketexists
16
-
17
- @service_empty_buckets_list = S3::Service.new(
18
- :access_key_id => "12345678901234567890",
19
- :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF"
20
- )
21
- @response_empty_buckets_list = Net::HTTPOK.new("1.1", "200", "OK")
22
- @service_empty_buckets_list.stubs(:service_request).returns(@response_empty_buckets_list)
23
- @response_empty_buckets_list.stubs(:body).returns(@buckets_empty_list_body)
24
-
25
- @service_buckets_list = S3::Service.new(
26
- :access_key_id => "12345678901234567890",
27
- :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF"
28
- )
29
- @response_buckets_list = Net::HTTPOK.new("1.1", "200", "OK")
30
- @service_buckets_list.stubs(:service_request).returns(@response_buckets_list)
31
- @response_buckets_list.stubs(:body).returns(@buckets_list_body)
32
-
33
- @service_bucket_exists = S3::Service.new(
34
- :access_key_id => "12345678901234567890",
35
- :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF"
36
- )
37
- @response_bucket_exists = Net::HTTPNotFound.new("1.1", "200", "OK")
38
- @service_bucket_exists.stubs(:service_request).returns(@response_bucket_exists)
39
- @response_bucket_exists.stubs(:body).returns(@bucket_exists)
40
-
41
- @service_bucket_not_exists = S3::Service.new(
42
- :access_key_id => "12345678901234567890",
43
- :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF"
44
- )
45
- @response_bucket_not_exists = Net::HTTPNotFound.new("1.1", "404", "Not Found")
46
- @service_bucket_not_exists.stubs(:service_request).raises(S3::Error::NoSuchBucket.new(404, @response_bucket_not_exists))
47
- @response_bucket_not_exists.stubs(:body).returns(@bucket_not_exists)
48
-
49
- @buckets_empty_list = []
50
- @buckets_empty_list_body = <<-EOEmptyBuckets
51
- <?xml version="1.0" encoding="UTF-8"?>\n<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>123u1odhkhfoadf</ID> <DisplayName>JohnDoe</DisplayName> </Owner> <Buckets> </Buckets> </ListAllMyBucketsResult>
52
- EOEmptyBuckets
53
-
54
- @buckets_list = [
55
- S3::Bucket.send(:new, @service_buckets_list, "data.example.com"),
56
- S3::Bucket.send(:new, @service_buckets_list, "images")
57
- ]
58
- end
59
-
60
- test "buckets and parse buckets empty" do
61
- expected = @buckets_empty_list
62
- actual = @service_empty_buckets_list.buckets
63
- assert_equal expected.length, actual.length
64
- assert_equal expected, actual
65
- end
66
-
67
- test "buckets and parse buckets" do
68
- expected = @buckets_list
69
- # ugly hack
70
- actual = @service_buckets_list.buckets.map { |obj| obj }
71
- assert_equal expected, actual
72
- end
73
-
74
- test "buckets build" do
75
- @service_empty_buckets_list.stubs(:service_request)
76
-
77
- expected = "bucket_name"
78
- actual = @service_empty_buckets_list.buckets.build("bucket_name")
79
- assert_kind_of S3::Bucket, actual
80
- assert_equal expected, actual.name
81
- end
82
-
83
- test "buckets find first" do
84
- assert_nothing_raised do
85
- actual = @service_buckets_list.buckets.find_first("data.example.com")
86
- assert_equal "data.example.com", actual.name
87
- end
88
- end
89
-
90
- test "buckets find first fail" do
91
- assert_raise S3::Error::NoSuchBucket do
92
- @service_bucket_not_exists.buckets.find_first("data2.example.com")
93
- end
94
- end
95
-
96
- test "buckets find all on empty list" do
97
- assert_nothing_raised do
98
- expected = @buckets_empty_list
99
- actual = @service_empty_buckets_list.buckets.find_all
100
- assert_equal expected, actual
101
- end
102
- end
103
-
104
- test "buckets find all" do
105
- assert_nothing_raised do
106
- expected = @buckets_list
107
- actual = @service_buckets_list.buckets.find_all
108
- assert_equal expected, actual
109
- end
110
- end
111
- end
@@ -1,205 +0,0 @@
1
- require "test_helper"
2
-
3
- class SignatureTest < Test::Unit::TestCase
4
- # from http://docs.amazonwebservices.com/AmazonS3/latest/RESTAuthentication.html
5
- test "signature for object get" do
6
- request = Net::HTTP::Get.new("/photos/puppy.jpg")
7
- request["host"] = "johnsmith.s3.amazonaws.com"
8
- request["date"] = "Tue, 27 Mar 2007 19:36:42 +0000"
9
-
10
- actual = S3::Signature.generate(
11
- :host => request["host"],
12
- :request => request,
13
- :access_key_id => "0PN5J17HBGZHT7JJ3X82",
14
- :secret_access_key => "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o"
15
- )
16
- expected = "AWS 0PN5J17HBGZHT7JJ3X82:xXjDGYUmKxnwqr5KXNPGldn5LbA="
17
- assert_equal expected, actual
18
- end
19
-
20
- test "signature for object put" do
21
- request = Net::HTTP::Put.new("/photos/puppy.jpg");
22
- request["content-type"] = "image/jpeg"
23
- request["content-length"] = "94328"
24
- request["host"] = "johnsmith.s3.amazonaws.com"
25
- request["date"] = "Tue, 27 Mar 2007 21:15:45 +0000"
26
-
27
- actual = S3::Signature.generate(
28
- :host => request["host"],
29
- :request => request,
30
- :access_key_id => "0PN5J17HBGZHT7JJ3X82",
31
- :secret_access_key => "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o"
32
- )
33
- expected = "AWS 0PN5J17HBGZHT7JJ3X82:hcicpDDvL9SsO6AkvxqmIWkmOuQ="
34
- assert_equal expected, actual
35
- end
36
-
37
- test "signature for list" do
38
- request = Net::HTTP::Get.new("/?prefix=photos&max-keys=50&marker=puppy");
39
- request["user-agent"] = "Mozilla/5.0"
40
- request["host"] = "johnsmith.s3.amazonaws.com"
41
- request["date"] = "Tue, 27 Mar 2007 19:42:41 +0000"
42
-
43
- actual = S3::Signature.generate(
44
- :host => request["host"],
45
- :request => request,
46
- :access_key_id => "0PN5J17HBGZHT7JJ3X82",
47
- :secret_access_key => "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o"
48
- )
49
- expected = "AWS 0PN5J17HBGZHT7JJ3X82:jsRt/rhG+Vtp88HrYL706QhE4w4="
50
- assert_equal expected, actual
51
- end
52
-
53
- test "signature for fetch" do
54
- request = Net::HTTP::Get.new("/?acl");
55
- request["host"] = "johnsmith.s3.amazonaws.com"
56
- request["date"] = "Tue, 27 Mar 2007 19:44:46 +0000"
57
-
58
- actual = S3::Signature.generate(
59
- :host => request["host"],
60
- :request => request,
61
- :access_key_id => "0PN5J17HBGZHT7JJ3X82",
62
- :secret_access_key => "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o"
63
- )
64
- expected = "AWS 0PN5J17HBGZHT7JJ3X82:thdUi9VAkzhkniLj96JIrOPGi0g="
65
- assert_equal expected, actual
66
- end
67
-
68
- test "signature for delete" do
69
- request = Net::HTTP::Delete.new("/johnsmith/photos/puppy.jpg");
70
- request["user-agent"] = "dotnet"
71
- request["host"] = "s3.amazonaws.com"
72
- request["date"] = "Tue, 27 Mar 2007 21:20:27 +0000"
73
- request["x-amz-date"] = "Tue, 27 Mar 2007 21:20:26 +0000"
74
-
75
- actual = S3::Signature.generate(
76
- :host => request["host"],
77
- :request => request,
78
- :access_key_id => "0PN5J17HBGZHT7JJ3X82",
79
- :secret_access_key => "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o"
80
- )
81
- expected = "AWS 0PN5J17HBGZHT7JJ3X82:k3nL7gH3+PadhTEVn5Ip83xlYzk="
82
- assert_equal expected, actual
83
- end
84
-
85
- test "signature for upload" do
86
- request = Net::HTTP::Put.new("/db-backup.dat.gz");
87
- request["user-agent"] = "curl/7.15.5"
88
- request["host"] = "static.johnsmith.net:8080"
89
- request["date"] = "Tue, 27 Mar 2007 21:06:08 +0000"
90
- request["x-amz-acl"] = "public-read"
91
- request["content-type"] = "application/x-download"
92
- request["content-md5"] = "4gJE4saaMU4BqNR0kLY+lw=="
93
- # FIXME: Net::HTTP doesn't allow to have multiple headers with the same name
94
- # request.add_field add additional spaces (breaks signature)
95
- #request["x-amz-meta-reviewedby"] = "joe@johnsmith.net"
96
- #request["x-amz-meta-reviewedby"] = "jane@johnsmith.net"
97
- request["x-amz-meta-reviewedby"] = "joe@johnsmith.net,jane@johnsmith.net"
98
- request["x-amz-meta-filechecksum"] = "0x02661779"
99
- request["x-amz-meta-checksumalgorithm"] = "crc32"
100
- request["content-disposition"] = "attachment; filename=database.dat"
101
- request["content-encoding"] = "gzip"
102
- request["content-length"] = "5913339"
103
-
104
- actual = S3::Signature.generate(
105
- :host => "static.johnsmith.net",
106
- :request => request,
107
- :access_key_id => "0PN5J17HBGZHT7JJ3X82",
108
- :secret_access_key => "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o"
109
- )
110
- expected = "AWS 0PN5J17HBGZHT7JJ3X82:C0FlOtU8Ylb9KDTpZqYkZPX91iI="
111
- assert_equal expected, actual
112
- end
113
-
114
- test "signature for list all my buckets" do
115
- request = Net::HTTP::Get.new("/");
116
- request["host"] = "s3.amazonaws.com"
117
- request["date"] = "Wed, 28 Mar 2007 01:29:59 +0000"
118
-
119
- actual = S3::Signature.generate(
120
- :host => request["host"],
121
- :request => request,
122
- :access_key_id => "0PN5J17HBGZHT7JJ3X82",
123
- :secret_access_key => "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o"
124
- )
125
- expected = "AWS 0PN5J17HBGZHT7JJ3X82:Db+gepJSUbZKwpx1FR0DLtEYoZA="
126
- assert_equal expected, actual
127
- end
128
-
129
- test "signature for unicode keys" do
130
- request = Net::HTTP::Get.new("/dictionary/fran%C3%A7ais/pr%c3%a9f%c3%a8re");
131
- request["host"] = "s3.amazonaws.com"
132
- request["date"] = "Wed, 28 Mar 2007 01:49:49 +0000"
133
-
134
- actual = S3::Signature.generate(
135
- :host => request["host"],
136
- :request => request,
137
- :access_key_id => "0PN5J17HBGZHT7JJ3X82",
138
- :secret_access_key => "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o"
139
- )
140
- expected = "AWS 0PN5J17HBGZHT7JJ3X82:dxhSBHoI6eVSPcXJqEghlUzZMnY="
141
- assert_equal expected, actual
142
- end
143
-
144
- test "temporary signature for object get" do
145
- actual = S3::Signature.generate_temporary_url_signature(
146
- :bucket => "johnsmith",
147
- :resource => "photos/puppy.jpg",
148
- :secret_access_key => "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o",
149
- :expires_at => 1175046589
150
- )
151
- expected = "gs6xNznrLJ4Bd%2B1y9pcy2HOSVeg%3D"
152
- assert_equal expected, actual
153
- end
154
-
155
- test "temporary signature for object post" do
156
- actual = S3::Signature.generate_temporary_url_signature(
157
- :bucket => "johnsmith",
158
- :resource => "photos/puppy.jpg",
159
- :secret_access_key => "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o",
160
- :expires_at => 1175046589,
161
- :method => :post
162
- )
163
- expected = "duIzwO2KTEMIlbSYbFFS86Wj0LI%3D"
164
- assert_equal expected, actual
165
- end
166
-
167
- test "temporary signature for object put with headers" do
168
- actual = S3::Signature.generate_temporary_url_signature(
169
- :bucket => "johnsmith",
170
- :resource => "photos/puppy.jpg",
171
- :secret_access_key => "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o",
172
- :expires_at => 1175046589,
173
- :method => :put,
174
- :headers => {'x-amz-acl' => 'public-read'}
175
- )
176
- expected = "SDMxjIkOKIVR47nWfJ57UNPXxFM%3D"
177
- assert_equal expected, actual
178
- end
179
-
180
- test "temporary signature for object delete" do
181
- actual = S3::Signature.generate_temporary_url_signature(
182
- :bucket => "johnsmith",
183
- :resource => "photos/puppy.jpg",
184
- :secret_access_key => "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o",
185
- :expires_at => 1175046589,
186
- :method => :delete
187
- )
188
- expected = "5Vg7A4HxgS6tVCYzBx%2BkMR8sztY%3D"
189
- assert_equal expected, actual
190
- end
191
-
192
- test "temporary url for object put with headers" do
193
- actual = S3::Signature.generate_temporary_url(
194
- :bucket => "johnsmith",
195
- :resource => "photos/puppy.jpg",
196
- :access_key => '0PN5J17HBGZHT7JJ3X82',
197
- :secret_access_key => "uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o",
198
- :expires_at => 1175046589,
199
- :method => :put,
200
- :headers => {'x-amz-acl' => 'public-read'}
201
- )
202
- expected = "http://s3.amazonaws.com/johnsmith/photos/puppy.jpg?AWSAccessKeyId=0PN5J17HBGZHT7JJ3X82&Expires=1175046589&Signature=SDMxjIkOKIVR47nWfJ57UNPXxFM%3D"
203
- assert_equal expected, actual
204
- end
205
- end
data/test/test_helper.rb DELETED
@@ -1,3 +0,0 @@
1
- require "test/unit"
2
- require "mocha"
3
- require "s3"