s3 0.2.4 → 0.2.5

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.
@@ -13,7 +13,7 @@ class ObjectTest < Test::Unit::TestCase
13
13
  @object_carmen = S3::Object.send(:new, @bucket_images, :key => "Carmen.png")
14
14
 
15
15
  @response_binary = Net::HTTPOK.new("1.1", "200", "OK")
16
- stub(@response_binary).body { "test".force_encoding(Encoding::BINARY) }
16
+ @response_binary.stubs(:body).returns("test".force_encoding(Encoding::BINARY))
17
17
  @response_binary["etag"] = ""
18
18
  @response_binary["content-type"] = "image/png"
19
19
  @response_binary["content-disposition"] = "inline"
@@ -26,10 +26,10 @@ class ObjectTest < Test::Unit::TestCase
26
26
  <CopyObjectResult> <LastModified>timestamp</LastModified> <ETag>"etag"</ETag> </CopyObjectResult>
27
27
  EOXML
28
28
  @response_xml = Net::HTTPOK.new("1.1", "200", "OK")
29
- stub(@response_xml).body { @xml_body }
29
+ @response_xml.stubs(:body).returns(@xml_body)
30
30
  end
31
31
 
32
- def test_initilalize
32
+ test "initializing" do
33
33
  assert_raise ArgumentError do S3::Object.send(:new, nil, :key => "") end # should not allow empty key
34
34
  assert_raise ArgumentError do S3::Object.send(:new, nil, :key => "//") end # should not allow key with double slash
35
35
 
@@ -41,13 +41,13 @@ class ObjectTest < Test::Unit::TestCase
41
41
  end
42
42
  end
43
43
 
44
- def test_full_key
44
+ test "full key" do
45
45
  expected = "images/Lena.png"
46
46
  actual = @object_lena.full_key
47
47
  assert_equal expected, actual
48
48
  end
49
49
 
50
- def test_url
50
+ test "url" do
51
51
  bucket1 = S3::Bucket.send(:new, @service, "images")
52
52
 
53
53
  object11 = S3::Object.send(:new, bucket1, :key => "Lena.png")
@@ -68,7 +68,7 @@ class ObjectTest < Test::Unit::TestCase
68
68
  assert_equal expected, actual
69
69
  end
70
70
 
71
- def test_cname_url
71
+ test "cname url" do
72
72
  bucket1 = S3::Bucket.send(:new, @service, "images.example.com")
73
73
 
74
74
  object11 = S3::Object.send(:new, bucket1, :key => "Lena.png")
@@ -89,45 +89,44 @@ class ObjectTest < Test::Unit::TestCase
89
89
  assert_equal expected, actual
90
90
  end
91
91
 
92
- def test_destroy
93
- mock(@object_lena).object_request(:delete) {}
92
+ test "destroy" do
93
+ @object_lena.expects(:object_request).with(:delete)
94
94
  assert @object_lena.destroy
95
95
  end
96
96
 
97
- def test_save
98
- mock(@object_lena).object_request(:put, :body=>"test", :headers=>{ :x_amz_acl=>"public-read", :content_type=>"application/octet-stream" }) { @response_binary }
99
-
97
+ test "save" do
98
+ @object_lena.expects(:object_request).with(:put, :body=>"test", :headers=>{ :x_amz_acl=>"public-read", :content_type=>"application/octet-stream" }).returns(@response_binary)
100
99
  assert @object_lena.save
101
100
  end
102
101
 
103
- def test_content_and_parse_headers
104
- mock(@object_lena).object_request(:get, {}).times(2) { @response_binary }
102
+ test "content and parse headers" do
103
+ @object_lena.expects(:object_request).with(:get, {}).returns(@response_binary)
105
104
 
106
105
  expected = /test/n
107
- actual = @object_lena.content(true) # wtf? don't work with false, maybe is not fully cleaned
106
+ actual = @object_lena.content(true)
108
107
  assert_match expected, actual
109
108
  assert_equal "image/png", @object_lena.content_type
110
109
 
111
- stub(@object_lena).object_request(:get) { flunk "should not use connection" }
112
-
113
110
  assert @object_lena.content
111
+
112
+ @object_lena.expects(:object_request).with(:get, {}).returns(@response_binary)
114
113
  assert @object_lena.content(true)
115
114
  end
116
115
 
117
- def test_retrieve
118
- mock(@object_lena).object_request(:get, :headers=>{:range=>0..0}) { @response_binary }
116
+ test "retrieve" do
117
+ @object_lena.expects(:object_request).with(:get, :headers=>{:range=>0..0}).returns(@response_binary)
119
118
  assert @object_lena.retrieve
120
119
  end
121
120
 
122
- def test_exists
123
- mock(@object_lena).retrieve { true }
121
+ test "exists" do
122
+ @object_lena.expects(:retrieve).returns(true)
124
123
  assert @object_lena.exists?
125
124
 
126
- mock(@object_carmen).retrieve { raise S3::Error::NoSuchKey.new(nil, nil) }
125
+ @object_carmen.expects(:retrieve).raises(S3::Error::NoSuchKey.new(nil, nil))
127
126
  assert ! @object_carmen.exists?
128
127
  end
129
128
 
130
- def test_acl_writer
129
+ test "ACL writer" do
131
130
  expected = nil
132
131
  actual = @object_lena.acl
133
132
  assert_equal expected, actual
@@ -145,8 +144,8 @@ class ObjectTest < Test::Unit::TestCase
145
144
  assert_equal expected, actual
146
145
  end
147
146
 
148
- def test_copy
149
- mock(@bucket_images).bucket_request(:put, :path => "Lena-copy.png", :headers => { :x_amz_acl => "public-read", :content_type => "application/octet-stream", :x_amz_copy_source => "images/Lena.png", :x_amz_metadata_directive => "REPLACE" }) { @response_xml }
147
+ test "copy" do
148
+ @bucket_images.expects(:bucket_request).with(:put, :path => "Lena-copy.png", :headers => { :x_amz_acl => "public-read", :content_type => "application/octet-stream", :x_amz_copy_source => "images/Lena.png", :x_amz_metadata_directive => "REPLACE" }).returns(@response_xml)
150
149
 
151
150
  new_object = @object_lena.copy(:key => "Lena-copy.png")
152
151
 
@@ -2,37 +2,49 @@ require 'test_helper'
2
2
 
3
3
  class ServiceTest < Test::Unit::TestCase
4
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
+
5
17
  @service_empty_buckets_list = S3::Service.new(
6
18
  :access_key_id => "12345678901234567890",
7
19
  :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF"
8
20
  )
9
21
  @response_empty_buckets_list = Net::HTTPOK.new("1.1", "200", "OK")
10
- stub(@service_empty_buckets_list).service_request { @response_empty_buckets_list }
11
- stub(@response_empty_buckets_list).body { @buckets_empty_list_body }
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)
12
24
 
13
25
  @service_buckets_list = S3::Service.new(
14
26
  :access_key_id => "12345678901234567890",
15
27
  :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF"
16
28
  )
17
29
  @response_buckets_list = Net::HTTPOK.new("1.1", "200", "OK")
18
- stub(@service_buckets_list).service_request { @response_buckets_list }
19
- stub(@response_buckets_list).body { @buckets_list_body }
30
+ @service_buckets_list.stubs(:service_request).returns(@response_buckets_list)
31
+ @response_buckets_list.stubs(:body).returns(@buckets_list_body)
20
32
 
21
33
  @service_bucket_exists = S3::Service.new(
22
34
  :access_key_id => "12345678901234567890",
23
35
  :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF"
24
36
  )
25
37
  @response_bucket_exists = Net::HTTPNotFound.new("1.1", "200", "OK")
26
- stub(@service_bucket_exists).service_request { @response_bucket_exists }
27
- stub(@response_bucket_exists).body { @bucket_exists }
38
+ @service_bucket_exists.stubs(:service_request).returns(@response_bucket_exists)
39
+ @response_bucket_exists.stubs(:body).returns(@bucket_exists)
28
40
 
29
41
  @service_bucket_not_exists = S3::Service.new(
30
42
  :access_key_id => "12345678901234567890",
31
43
  :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF"
32
44
  )
33
45
  @response_bucket_not_exists = Net::HTTPNotFound.new("1.1", "404", "Not Found")
34
- stub(@service_bucket_not_exists).service_request { raise S3::Error::NoSuchBucket.new(404, @response_bucket_not_exists) }
35
- stub(@response_bucket_not_exists).body { @bucket_not_exists }
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)
36
48
 
37
49
  @buckets_empty_list = []
38
50
  @buckets_empty_list_body = <<-EOEmptyBuckets
@@ -43,34 +55,23 @@ class ServiceTest < Test::Unit::TestCase
43
55
  S3::Bucket.send(:new, @service_buckets_list, "data.example.com"),
44
56
  S3::Bucket.send(:new, @service_buckets_list, "images")
45
57
  ]
46
- @buckets_list_body = <<-EOBuckets
47
- <?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>
48
- EOBuckets
49
-
50
- @bucket_not_exists = <<-EOBucketNoexists
51
- <?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>
52
- EOBucketNoexists
53
-
54
- @bucket_exists = <<-EOBucketexists
55
- <?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>
56
- EOBucketexists
57
58
  end
58
59
 
59
- def test_buckets_and_parse_buckets_empty
60
+ test "buckets and parse buckets empty" do
60
61
  expected = @buckets_empty_list
61
62
  actual = @service_empty_buckets_list.buckets
62
63
  assert_equal expected.length, actual.length
63
64
  assert_equal expected, actual
64
65
  end
65
66
 
66
- def test_buckets_and_parse_buckets
67
+ test "buckets and parse buckets" do
67
68
  expected = @buckets_list
68
69
  # ugly hack
69
70
  actual = @service_buckets_list.buckets(true).map { |obj| obj }
70
71
  assert_equal expected, actual
71
72
  end
72
73
 
73
- def test_buckets_reload
74
+ test "buckets reload" do
74
75
  @service = @service_empty_buckets_list
75
76
 
76
77
  expected = @buckets_empty_list
@@ -78,7 +79,7 @@ class ServiceTest < Test::Unit::TestCase
78
79
  actual = @service.buckets
79
80
  assert_equal expected.length, actual.length, "deliver from cache"
80
81
 
81
- stub(@service).service_request { @response_buckets_list }
82
+ @service.stubs(:service_request).returns(@response_buckets_list)
82
83
  expected = @buckets_empty_list
83
84
  actual = @service.buckets
84
85
  assert_equal expected.length, actual.length, "deliver from cache"
@@ -88,8 +89,8 @@ class ServiceTest < Test::Unit::TestCase
88
89
  assert_equal expected.length, actual.length
89
90
  end
90
91
 
91
- def test_buckets_build
92
- stub(@service_empty_buckets_list).service_request { flunk "should not connect to server" }
92
+ test "buckets build" do
93
+ @service_empty_buckets_list.stubs(:service_request)
93
94
 
94
95
  expected = "bucket_name"
95
96
  actual = @service_empty_buckets_list.buckets.build("bucket_name")
@@ -97,20 +98,20 @@ class ServiceTest < Test::Unit::TestCase
97
98
  assert_equal expected, actual.name
98
99
  end
99
100
 
100
- def test_buckets_find_first
101
+ test "buckets find first" do
101
102
  assert_nothing_raised do
102
103
  actual = @service_buckets_list.buckets.find_first("data.example.com")
103
104
  assert_equal "data.example.com", actual.name
104
105
  end
105
106
  end
106
107
 
107
- def test_buckets_find_first_fail
108
+ test "buckets find first fail" do
108
109
  assert_raise S3::Error::NoSuchBucket do
109
110
  @service_bucket_not_exists.buckets.find_first("data2.example.com")
110
111
  end
111
112
  end
112
113
 
113
- def test_buckets_find_all_on_empty_list
114
+ test "buckets find all on empty list" do
114
115
  assert_nothing_raised do
115
116
  expected = @buckets_empty_list
116
117
  actual = @service_empty_buckets_list.buckets.find_all
@@ -118,7 +119,7 @@ class ServiceTest < Test::Unit::TestCase
118
119
  end
119
120
  end
120
121
 
121
- def test_buckets_find_all
122
+ test "buckets find all" do
122
123
  assert_nothing_raised do
123
124
  expected = @buckets_list
124
125
  actual = @service_buckets_list.buckets.find_all
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
  class SignatureTest < Test::Unit::TestCase
4
4
  # from http://docs.amazonwebservices.com/AmazonS3/latest/RESTAuthentication.html
5
- def test_signature_for_object_get
5
+ test "signature for object get" do
6
6
  request = Net::HTTP::Get.new("/photos/puppy.jpg")
7
7
  request["host"] = "johnsmith.s3.amazonaws.com"
8
8
  request["date"] = "Tue, 27 Mar 2007 19:36:42 +0000"
@@ -17,7 +17,7 @@ class SignatureTest < Test::Unit::TestCase
17
17
  assert_equal expected, actual
18
18
  end
19
19
 
20
- def test_signature_for_object_put
20
+ test "signature for object put" do
21
21
  request = Net::HTTP::Put.new("/photos/puppy.jpg");
22
22
  request["content-type"] = "image/jpeg"
23
23
  request["content-length"] = "94328"
@@ -34,7 +34,7 @@ class SignatureTest < Test::Unit::TestCase
34
34
  assert_equal expected, actual
35
35
  end
36
36
 
37
- def test_signature_for_list
37
+ test "signature for list" do
38
38
  request = Net::HTTP::Get.new("/?prefix=photos&max-keys=50&marker=puppy");
39
39
  request["user-agent"] = "Mozilla/5.0"
40
40
  request["host"] = "johnsmith.s3.amazonaws.com"
@@ -50,7 +50,7 @@ class SignatureTest < Test::Unit::TestCase
50
50
  assert_equal expected, actual
51
51
  end
52
52
 
53
- def test_signature_for_fetch
53
+ test "signature for fetch" do
54
54
  request = Net::HTTP::Get.new("/?acl");
55
55
  request["host"] = "johnsmith.s3.amazonaws.com"
56
56
  request["date"] = "Tue, 27 Mar 2007 19:44:46 +0000"
@@ -65,7 +65,7 @@ class SignatureTest < Test::Unit::TestCase
65
65
  assert_equal expected, actual
66
66
  end
67
67
 
68
- def test_signature_for_delete
68
+ test "signature for delete" do
69
69
  request = Net::HTTP::Delete.new("/johnsmith/photos/puppy.jpg");
70
70
  request["user-agent"] = "dotnet"
71
71
  request["host"] = "s3.amazonaws.com"
@@ -82,7 +82,7 @@ class SignatureTest < Test::Unit::TestCase
82
82
  assert_equal expected, actual
83
83
  end
84
84
 
85
- def test_signature_for_upload
85
+ test "signature for upload" do
86
86
  request = Net::HTTP::Put.new("/db-backup.dat.gz");
87
87
  request["user-agent"] = "curl/7.15.5"
88
88
  request["host"] = "static.johnsmith.net:8080"
@@ -111,7 +111,7 @@ class SignatureTest < Test::Unit::TestCase
111
111
  assert_equal expected, actual
112
112
  end
113
113
 
114
- def test_signature_for_list_all_my_buckets
114
+ test "signature for list all my buckets" do
115
115
  request = Net::HTTP::Get.new("/");
116
116
  request["host"] = "s3.amazonaws.com"
117
117
  request["date"] = "Wed, 28 Mar 2007 01:29:59 +0000"
@@ -126,7 +126,7 @@ class SignatureTest < Test::Unit::TestCase
126
126
  assert_equal expected, actual
127
127
  end
128
128
 
129
- def test_signature_for_unicode_keys
129
+ test "signature for unicode keys" do
130
130
  request = Net::HTTP::Get.new("/dictionary/fran%C3%A7ais/pr%c3%a9f%c3%a8re");
131
131
  request["host"] = "s3.amazonaws.com"
132
132
  request["date"] = "Wed, 28 Mar 2007 01:49:49 +0000"
@@ -1,11 +1,7 @@
1
- require 'rubygems'
2
- require 'test/unit'
3
- require 'rr'
1
+ require "rubygems"
2
+ require "test/unit"
3
+ require "mocha"
4
4
 
5
5
  $LOAD_PATH.unshift(File.dirname(__FILE__))
6
6
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
- require 's3'
8
-
9
- class Test::Unit::TestCase
10
- include RR::Adapters::TestUnit
11
- end
7
+ require "s3"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Jakub Ku\xC5\xBAma"
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2010-01-04 00:00:00 +01:00
13
+ date: 2010-02-07 00:00:00 +01:00
14
14
  default_executable: s3
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -34,16 +34,16 @@ dependencies:
34
34
  version: "2.0"
35
35
  version:
36
36
  - !ruby/object:Gem::Dependency
37
- name: rr
37
+ name: mocha
38
38
  type: :development
39
39
  version_requirement:
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  requirements:
42
- - - "="
42
+ - - ">="
43
43
  - !ruby/object:Gem::Version
44
- version: 0.10.2
44
+ version: "0"
45
45
  version:
46
- description:
46
+ description: "S3 library provides access to Amazon's Simple Storage Service. It supports both: European and US buckets through REST API."
47
47
  email: qoobaa@gmail.com
48
48
  executables:
49
49
  - s3
@@ -107,9 +107,9 @@ signing_key:
107
107
  specification_version: 3
108
108
  summary: Library for accessing S3 objects and buckets, with command line tool
109
109
  test_files:
110
- - test/bucket_test.rb
111
110
  - test/object_test.rb
112
- - test/signature_test.rb
113
- - test/service_test.rb
114
111
  - test/test_helper.rb
112
+ - test/bucket_test.rb
115
113
  - test/connection_test.rb
114
+ - test/service_test.rb
115
+ - test/signature_test.rb