sauberia-aws-s3 0.6.2.1254423624

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 (93) hide show
  1. data/CHANGELOG +107 -0
  2. data/COPYING +19 -0
  3. data/INSTALL +55 -0
  4. data/README.erb +58 -0
  5. data/Rakefile +334 -0
  6. data/TODO +26 -0
  7. data/aws-s3.gemspec +42 -0
  8. data/bin/s3sh +6 -0
  9. data/bin/setup.rb +10 -0
  10. data/lib/aws/s3.rb +60 -0
  11. data/lib/aws/s3/acl.rb +636 -0
  12. data/lib/aws/s3/authentication.rb +222 -0
  13. data/lib/aws/s3/base.rb +270 -0
  14. data/lib/aws/s3/bittorrent.rb +58 -0
  15. data/lib/aws/s3/bucket.rb +372 -0
  16. data/lib/aws/s3/connection.rb +288 -0
  17. data/lib/aws/s3/error.rb +69 -0
  18. data/lib/aws/s3/exceptions.rb +133 -0
  19. data/lib/aws/s3/extensions.rb +342 -0
  20. data/lib/aws/s3/logging.rb +317 -0
  21. data/lib/aws/s3/object.rb +626 -0
  22. data/lib/aws/s3/owner.rb +46 -0
  23. data/lib/aws/s3/parsing.rb +99 -0
  24. data/lib/aws/s3/response.rb +180 -0
  25. data/lib/aws/s3/service.rb +51 -0
  26. data/lib/aws/s3/version.rb +12 -0
  27. data/site/index.erb +41 -0
  28. data/site/public/images/box-and-gem.gif +0 -0
  29. data/site/public/images/favicon.ico +0 -0
  30. data/site/public/ruby.css +18 -0
  31. data/site/public/screen.css +99 -0
  32. data/support/faster-xml-simple/COPYING +18 -0
  33. data/support/faster-xml-simple/README +8 -0
  34. data/support/faster-xml-simple/Rakefile +54 -0
  35. data/support/faster-xml-simple/lib/faster_xml_simple.rb +190 -0
  36. data/support/faster-xml-simple/test/fixtures/test-1.rails.yml +4 -0
  37. data/support/faster-xml-simple/test/fixtures/test-1.xml +3 -0
  38. data/support/faster-xml-simple/test/fixtures/test-1.yml +4 -0
  39. data/support/faster-xml-simple/test/fixtures/test-2.rails.yml +6 -0
  40. data/support/faster-xml-simple/test/fixtures/test-2.xml +3 -0
  41. data/support/faster-xml-simple/test/fixtures/test-2.yml +6 -0
  42. data/support/faster-xml-simple/test/fixtures/test-3.rails.yml +6 -0
  43. data/support/faster-xml-simple/test/fixtures/test-3.xml +5 -0
  44. data/support/faster-xml-simple/test/fixtures/test-3.yml +6 -0
  45. data/support/faster-xml-simple/test/fixtures/test-4.rails.yml +5 -0
  46. data/support/faster-xml-simple/test/fixtures/test-4.xml +7 -0
  47. data/support/faster-xml-simple/test/fixtures/test-4.yml +5 -0
  48. data/support/faster-xml-simple/test/fixtures/test-5.rails.yml +8 -0
  49. data/support/faster-xml-simple/test/fixtures/test-5.xml +7 -0
  50. data/support/faster-xml-simple/test/fixtures/test-5.yml +8 -0
  51. data/support/faster-xml-simple/test/fixtures/test-6.rails.yml +43 -0
  52. data/support/faster-xml-simple/test/fixtures/test-6.xml +29 -0
  53. data/support/faster-xml-simple/test/fixtures/test-6.yml +41 -0
  54. data/support/faster-xml-simple/test/fixtures/test-7.rails.yml +23 -0
  55. data/support/faster-xml-simple/test/fixtures/test-7.xml +22 -0
  56. data/support/faster-xml-simple/test/fixtures/test-7.yml +22 -0
  57. data/support/faster-xml-simple/test/fixtures/test-8.rails.yml +14 -0
  58. data/support/faster-xml-simple/test/fixtures/test-8.xml +8 -0
  59. data/support/faster-xml-simple/test/fixtures/test-8.yml +11 -0
  60. data/support/faster-xml-simple/test/regression_test.rb +47 -0
  61. data/support/faster-xml-simple/test/test_helper.rb +17 -0
  62. data/support/faster-xml-simple/test/xml_simple_comparison_test.rb +46 -0
  63. data/support/rdoc/code_info.rb +211 -0
  64. data/test/acl_test.rb +254 -0
  65. data/test/authentication_test.rb +118 -0
  66. data/test/base_test.rb +136 -0
  67. data/test/bucket_test.rb +74 -0
  68. data/test/connection_test.rb +216 -0
  69. data/test/error_test.rb +70 -0
  70. data/test/extensions_test.rb +340 -0
  71. data/test/fixtures.rb +89 -0
  72. data/test/fixtures/buckets.yml +133 -0
  73. data/test/fixtures/errors.yml +34 -0
  74. data/test/fixtures/headers.yml +3 -0
  75. data/test/fixtures/logging.yml +15 -0
  76. data/test/fixtures/loglines.yml +5 -0
  77. data/test/fixtures/logs.yml +7 -0
  78. data/test/fixtures/policies.yml +16 -0
  79. data/test/logging_test.rb +89 -0
  80. data/test/mocks/fake_response.rb +26 -0
  81. data/test/object_test.rb +205 -0
  82. data/test/parsing_test.rb +66 -0
  83. data/test/remote/acl_test.rb +116 -0
  84. data/test/remote/bittorrent_test.rb +45 -0
  85. data/test/remote/bucket_test.rb +146 -0
  86. data/test/remote/logging_test.rb +82 -0
  87. data/test/remote/object_test.rb +379 -0
  88. data/test/remote/test_file.data +0 -0
  89. data/test/remote/test_helper.rb +33 -0
  90. data/test/response_test.rb +68 -0
  91. data/test/service_test.rb +23 -0
  92. data/test/test_helper.rb +118 -0
  93. metadata +221 -0
@@ -0,0 +1,23 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ class ServiceTest < Test::Unit::TestCase
4
+ def test_bucket_list_with_empty_bucket_list
5
+ mock_connection_for(Service, :returns => {:body => Fixtures::Buckets.empty_bucket_list, :code => 200})
6
+ list = Service.buckets(:reload)
7
+ assert_equal [], list
8
+ end
9
+
10
+ def test_bucket_list_with_bucket_list_containing_one_bucket
11
+ mock_connection_for(Service, :returns => {:body => Fixtures::Buckets.bucket_list_with_one_bucket, :code => 200})
12
+ list = Service.buckets(:reload)
13
+ assert_equal 1, list.size
14
+ assert_equal 'marcel_molina', list.first.name
15
+ end
16
+
17
+ def test_bucket_list_with_bucket_list_containing_more_than_one_bucket
18
+ mock_connection_for(Service, :returns => {:body => Fixtures::Buckets.bucket_list_with_more_than_one_bucket, :code => 200})
19
+ list = Service.buckets(:reload)
20
+ assert_equal 2, list.size
21
+ assert_equal %w(marcel_molina marcel_molina_jr), list.map {|bucket| bucket.name}.sort
22
+ end
23
+ end
@@ -0,0 +1,118 @@
1
+ require 'test/unit'
2
+ $:.unshift File.dirname(__FILE__) + '/../lib'
3
+ require 'aws/s3'
4
+ require File.dirname(__FILE__) + '/mocks/fake_response'
5
+ require File.dirname(__FILE__) + '/fixtures'
6
+ begin
7
+ require_library_or_gem 'ruby-debug'
8
+ rescue LoadError
9
+ end
10
+ require_library_or_gem 'flexmock'
11
+ require_library_or_gem 'flexmock/test_unit'
12
+
13
+
14
+ # Data copied from http://docs.amazonwebservices.com/AmazonS3/2006-03-01/RESTAuthentication.html
15
+ module AmazonDocExampleData
16
+ module Example1
17
+ module_function
18
+
19
+ def request
20
+ request = Net::HTTP::Put.new('/nelson')
21
+ request['Content-Md5'] = 'c8fdb181845a4ca6b8fec737b3581d76'
22
+ request['Content-Type'] = 'text/html'
23
+ request['Date'] = 'Thu, 17 Nov 2005 18:49:58 GMT'
24
+ request['X-Amz-Meta-Author'] = 'foo@bar.com'
25
+ request['X-Amz-Magic'] = 'abracadabra'
26
+ request
27
+ end
28
+
29
+ def current_host
30
+ "quotes"
31
+ end
32
+
33
+ def canonical_string
34
+ "PUT\nc8fdb181845a4ca6b8fec737b3581d76\ntext/html\nThu, 17 Nov 2005 18:49:58 GMT\nx-amz-magic:abracadabra\nx-amz-meta-author:foo@bar.com\n/quotes/nelson"
35
+ end
36
+
37
+ def access_key_id
38
+ '44CF9590006BF252F707'
39
+ end
40
+
41
+ def secret_access_key
42
+ 'OtxrzxIsfpFjA7SwPzILwy8Bw21TLhquhboDYROV'
43
+ end
44
+
45
+ def signature
46
+ 'jZNOcbfWmD/A/f3hSvVzXZjM2HU='
47
+ end
48
+
49
+ def authorization_header
50
+ 'AWS 44CF9590006BF252F707:jZNOcbfWmD/A/f3hSvVzXZjM2HU='
51
+ end
52
+ end
53
+
54
+ module Example3
55
+ module_function
56
+
57
+ def request
58
+ request = Net::HTTP::Get.new('/nelson')
59
+ request['Date'] = date
60
+ request
61
+ end
62
+
63
+ def current_host
64
+ "quotes"
65
+ end
66
+
67
+ def date
68
+ 'Thu Mar 9 01:24:20 CST 2006'
69
+ end
70
+
71
+ def access_key_id
72
+ Example1.access_key_id
73
+ end
74
+
75
+ def secret_access_key
76
+ Example1.secret_access_key
77
+ end
78
+
79
+ def expires
80
+ 1141889120
81
+ end
82
+
83
+ def query_string
84
+ 'AWSAccessKeyId=44CF9590006BF252F707&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv4%3D'
85
+ end
86
+
87
+ def canonical_string
88
+ "GET\n\n\n1141889120\n/quotes/nelson"
89
+ end
90
+
91
+ end
92
+ end
93
+
94
+ class Test::Unit::TestCase
95
+ include AWS::S3
96
+
97
+ def sample_proxy_settings
98
+ {:host => 'http://google.com', :port => 8080, :user => 'marcel', :password => 'secret'}
99
+ end
100
+
101
+ def mock_connection_for(klass, options = {})
102
+ data = options[:returns]
103
+ return_values = case data
104
+ when Hash
105
+ FakeResponse.new(data)
106
+ when Array
107
+ data.map {|hash| FakeResponse.new(hash)}
108
+ else
109
+ abort "Response data for mock connection must be a Hash or an Array. Was #{data.inspect}."
110
+ end
111
+
112
+ connection = flexmock('Mock connection') do |mock|
113
+ mock.should_receive(:request).and_return(*return_values).at_least.once
114
+ end
115
+
116
+ flexmock(klass).should_receive(:connection).and_return(connection)
117
+ end
118
+ end
metadata ADDED
@@ -0,0 +1,221 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sauberia-aws-s3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.2.1254423624
5
+ platform: ruby
6
+ authors:
7
+ - marcel@vernix.org
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-10-01 00:00:00 +01:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: xml-simple
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: builder
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: mime-types
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: "0"
44
+ version:
45
+ description: Client library for Amazon's Simple Storage Service's REST API.
46
+ email: Marcel Molina Jr.
47
+ executables:
48
+ - s3sh
49
+ - setup.rb
50
+ extensions: []
51
+
52
+ extra_rdoc_files:
53
+ - CHANGELOG
54
+ - COPYING
55
+ - README.erb
56
+ - TODO
57
+ - bin/s3sh
58
+ - bin/setup.rb
59
+ - lib/aws/s3.rb
60
+ - lib/aws/s3/acl.rb
61
+ - lib/aws/s3/authentication.rb
62
+ - lib/aws/s3/base.rb
63
+ - lib/aws/s3/bittorrent.rb
64
+ - lib/aws/s3/bucket.rb
65
+ - lib/aws/s3/connection.rb
66
+ - lib/aws/s3/error.rb
67
+ - lib/aws/s3/exceptions.rb
68
+ - lib/aws/s3/extensions.rb
69
+ - lib/aws/s3/logging.rb
70
+ - lib/aws/s3/object.rb
71
+ - lib/aws/s3/owner.rb
72
+ - lib/aws/s3/parsing.rb
73
+ - lib/aws/s3/response.rb
74
+ - lib/aws/s3/service.rb
75
+ - lib/aws/s3/version.rb
76
+ files:
77
+ - CHANGELOG
78
+ - COPYING
79
+ - INSTALL
80
+ - README.erb
81
+ - Rakefile
82
+ - TODO
83
+ - aws-s3.gemspec
84
+ - bin/s3sh
85
+ - bin/setup.rb
86
+ - lib/aws/s3.rb
87
+ - lib/aws/s3/acl.rb
88
+ - lib/aws/s3/authentication.rb
89
+ - lib/aws/s3/base.rb
90
+ - lib/aws/s3/bittorrent.rb
91
+ - lib/aws/s3/bucket.rb
92
+ - lib/aws/s3/connection.rb
93
+ - lib/aws/s3/error.rb
94
+ - lib/aws/s3/exceptions.rb
95
+ - lib/aws/s3/extensions.rb
96
+ - lib/aws/s3/logging.rb
97
+ - lib/aws/s3/object.rb
98
+ - lib/aws/s3/owner.rb
99
+ - lib/aws/s3/parsing.rb
100
+ - lib/aws/s3/response.rb
101
+ - lib/aws/s3/service.rb
102
+ - lib/aws/s3/version.rb
103
+ - site/index.erb
104
+ - site/public/images/box-and-gem.gif
105
+ - site/public/images/favicon.ico
106
+ - site/public/ruby.css
107
+ - site/public/screen.css
108
+ - support/faster-xml-simple/COPYING
109
+ - support/faster-xml-simple/README
110
+ - support/faster-xml-simple/Rakefile
111
+ - support/faster-xml-simple/lib/faster_xml_simple.rb
112
+ - support/faster-xml-simple/test/fixtures/test-1.rails.yml
113
+ - support/faster-xml-simple/test/fixtures/test-1.xml
114
+ - support/faster-xml-simple/test/fixtures/test-1.yml
115
+ - support/faster-xml-simple/test/fixtures/test-2.rails.yml
116
+ - support/faster-xml-simple/test/fixtures/test-2.xml
117
+ - support/faster-xml-simple/test/fixtures/test-2.yml
118
+ - support/faster-xml-simple/test/fixtures/test-3.rails.yml
119
+ - support/faster-xml-simple/test/fixtures/test-3.xml
120
+ - support/faster-xml-simple/test/fixtures/test-3.yml
121
+ - support/faster-xml-simple/test/fixtures/test-4.rails.yml
122
+ - support/faster-xml-simple/test/fixtures/test-4.xml
123
+ - support/faster-xml-simple/test/fixtures/test-4.yml
124
+ - support/faster-xml-simple/test/fixtures/test-5.rails.yml
125
+ - support/faster-xml-simple/test/fixtures/test-5.xml
126
+ - support/faster-xml-simple/test/fixtures/test-5.yml
127
+ - support/faster-xml-simple/test/fixtures/test-6.rails.yml
128
+ - support/faster-xml-simple/test/fixtures/test-6.xml
129
+ - support/faster-xml-simple/test/fixtures/test-6.yml
130
+ - support/faster-xml-simple/test/fixtures/test-7.rails.yml
131
+ - support/faster-xml-simple/test/fixtures/test-7.xml
132
+ - support/faster-xml-simple/test/fixtures/test-7.yml
133
+ - support/faster-xml-simple/test/fixtures/test-8.rails.yml
134
+ - support/faster-xml-simple/test/fixtures/test-8.xml
135
+ - support/faster-xml-simple/test/fixtures/test-8.yml
136
+ - support/faster-xml-simple/test/regression_test.rb
137
+ - support/faster-xml-simple/test/test_helper.rb
138
+ - support/faster-xml-simple/test/xml_simple_comparison_test.rb
139
+ - support/rdoc/code_info.rb
140
+ - test/acl_test.rb
141
+ - test/authentication_test.rb
142
+ - test/base_test.rb
143
+ - test/bucket_test.rb
144
+ - test/connection_test.rb
145
+ - test/error_test.rb
146
+ - test/extensions_test.rb
147
+ - test/fixtures.rb
148
+ - test/fixtures/buckets.yml
149
+ - test/fixtures/errors.yml
150
+ - test/fixtures/headers.yml
151
+ - test/fixtures/logging.yml
152
+ - test/fixtures/loglines.yml
153
+ - test/fixtures/logs.yml
154
+ - test/fixtures/policies.yml
155
+ - test/logging_test.rb
156
+ - test/mocks/fake_response.rb
157
+ - test/object_test.rb
158
+ - test/parsing_test.rb
159
+ - test/remote/acl_test.rb
160
+ - test/remote/bittorrent_test.rb
161
+ - test/remote/bucket_test.rb
162
+ - test/remote/logging_test.rb
163
+ - test/remote/object_test.rb
164
+ - test/remote/test_file.data
165
+ - test/remote/test_helper.rb
166
+ - test/response_test.rb
167
+ - test/service_test.rb
168
+ - test/test_helper.rb
169
+ has_rdoc: true
170
+ homepage: http://amazon.rubyforge.org
171
+ licenses: []
172
+
173
+ post_install_message:
174
+ rdoc_options:
175
+ - --line-numbers
176
+ - --inline-source
177
+ - --title
178
+ - Aws-s3
179
+ - --main
180
+ - README.erb
181
+ require_paths:
182
+ - lib
183
+ required_ruby_version: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: "0"
188
+ version:
189
+ required_rubygems_version: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: "1.2"
194
+ version:
195
+ requirements: []
196
+
197
+ rubyforge_project: aws-s3
198
+ rubygems_version: 1.3.5
199
+ signing_key:
200
+ specification_version: 2
201
+ summary: Client library for Amazon's Simple Storage Service's REST API.
202
+ test_files:
203
+ - test/acl_test.rb
204
+ - test/authentication_test.rb
205
+ - test/base_test.rb
206
+ - test/bucket_test.rb
207
+ - test/connection_test.rb
208
+ - test/error_test.rb
209
+ - test/extensions_test.rb
210
+ - test/logging_test.rb
211
+ - test/object_test.rb
212
+ - test/parsing_test.rb
213
+ - test/remote/acl_test.rb
214
+ - test/remote/bittorrent_test.rb
215
+ - test/remote/bucket_test.rb
216
+ - test/remote/logging_test.rb
217
+ - test/remote/object_test.rb
218
+ - test/remote/test_helper.rb
219
+ - test/response_test.rb
220
+ - test/service_test.rb
221
+ - test/test_helper.rb