asset_cloud 2.5.0 → 2.6.1

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.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe AssetCloud::Bucket do
@@ -7,19 +8,19 @@ describe AssetCloud::Bucket do
7
8
 
8
9
  describe "operations not supported" do
9
10
  it "#ls not supported" do
10
- expect { @bucket.ls('foo')}.to raise_error NotImplementedError
11
+ expect { @bucket.ls('foo') }.to(raise_error(NotImplementedError))
11
12
  end
12
13
 
13
14
  it "#read(key) not supported" do
14
- expect { @bucket.read('foo')}.to raise_error NotImplementedError
15
+ expect { @bucket.read('foo') }.to(raise_error(NotImplementedError))
15
16
  end
16
17
 
17
18
  it "#write(key, data) not supported" do
18
- expect { @bucket.write('foo', 'bar')}.to raise_error NotImplementedError
19
+ expect { @bucket.write('foo', 'bar') }.to(raise_error(NotImplementedError))
19
20
  end
20
21
 
21
22
  it "#delete(key) not supported" do
22
- expect { @bucket.delete('foo')}.to raise_error NotImplementedError
23
+ expect { @bucket.delete('foo') }.to(raise_error(NotImplementedError))
23
24
  end
24
25
  end
25
26
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  class CallbackAsset < AssetCloud::Asset
@@ -21,12 +22,12 @@ class CallbackAsset < AssetCloud::Asset
21
22
  end
22
23
 
23
24
  def valid_value
24
- add_error 'value is not "valid"' unless value == 'valid'
25
+ add_error('value is not "valid"') unless value == 'valid'
25
26
  end
26
27
  end
27
28
 
28
29
  class BasicCloud < AssetCloud::Base
29
- bucket :callback_assets, AssetCloud::MemoryBucket, :asset_class => CallbackAsset
30
+ bucket :callback_assets, AssetCloud::MemoryBucket, asset_class: CallbackAsset
30
31
  end
31
32
 
32
33
  class CallbackCloud < AssetCloud::Base
@@ -39,6 +40,7 @@ class CallbackCloud < AssetCloud::Base
39
40
  before_write :callback_before_write
40
41
 
41
42
  def callback_before_write(*args); end
43
+
42
44
  def callback_after_write(*args); end
43
45
  end
44
46
 
@@ -50,7 +52,7 @@ class MethodRecordingCloud < AssetCloud::Base
50
52
  before_write :callback_before_write
51
53
  after_write :callback_before_write
52
54
 
53
- def method_missing(method, *args)
55
+ def method_missing(method, *_args)
54
56
  @run_callbacks << method.to_sym
55
57
  end
56
58
  end
@@ -62,38 +64,36 @@ describe CallbackCloud do
62
64
  end
63
65
 
64
66
  it "should invoke callbacks after store" do
65
- @fs.should_receive(:callback_before_write).with('tmp/file.txt', 'text').and_return(true)
66
- @fs.should_receive(:callback_after_write).with('tmp/file.txt', 'text').and_return(true)
67
-
67
+ expect(@fs).to(receive(:callback_before_write).with('tmp/file.txt', 'text').and_return(true))
68
+ expect(@fs).to(receive(:callback_after_write).with('tmp/file.txt', 'text').and_return(true))
68
69
 
69
- @fs.write('tmp/file.txt', 'text').should == true
70
- @fs.read('tmp/file.txt').should == 'text'
70
+ expect(@fs.write('tmp/file.txt', 'text')).to(eq(true))
71
+ expect(@fs.read('tmp/file.txt')).to(eq('text'))
71
72
  end
72
73
 
73
74
  it "should invoke callbacks after delete" do
74
- @fs.should_receive(:callback_before_delete).with('tmp/file.txt').and_return(true)
75
- @fs.should_receive(:callback_after_delete).with('tmp/file.txt').and_return(true)
75
+ expect(@fs).to(receive(:callback_before_delete).with('tmp/file.txt').and_return(true))
76
+ expect(@fs).to(receive(:callback_after_delete).with('tmp/file.txt').and_return(true))
76
77
 
77
- @fs.delete('tmp/file.txt').should == 'foo'
78
+ expect(@fs.delete('tmp/file.txt')).to(eq('foo'))
78
79
  end
79
80
 
80
81
  it "should not invoke other callbacks when a before_ filter returns false" do
81
- @fs.should_receive(:callback_before_delete)
82
+ expect(@fs).to(receive(:callback_before_delete)
82
83
  .with('tmp/file.txt')
83
- .and_return(false)
84
- @fs.should_not_receive(:callback_after_delete)
84
+ .and_return(false))
85
+ expect(@fs).not_to(receive(:callback_after_delete))
85
86
 
86
- @fs.delete('tmp/file.txt').should == nil
87
+ expect(@fs.delete('tmp/file.txt')).to(eq(nil))
87
88
  end
88
89
 
89
90
  it "should invoke callbacks even when constructing a new asset" do
90
- @fs.should_receive(:callback_before_write).with('tmp/file.txt', 'hello').and_return(true)
91
- @fs.should_receive(:callback_after_write).with('tmp/file.txt', 'hello').and_return(true)
92
-
91
+ expect(@fs).to(receive(:callback_before_write).with('tmp/file.txt', 'hello').and_return(true))
92
+ expect(@fs).to(receive(:callback_after_write).with('tmp/file.txt', 'hello').and_return(true))
93
93
 
94
94
  asset = @fs.build('tmp/file.txt')
95
95
  asset.value = 'hello'
96
- asset.store.should == true
96
+ expect(asset.store).to(eq(true))
97
97
  end
98
98
  end
99
99
 
@@ -105,12 +105,12 @@ describe MethodRecordingCloud do
105
105
 
106
106
  it 'should record event when invoked' do
107
107
  @fs.write('tmp/file.txt', 'random data')
108
- @fs.run_callbacks.should == [:callback_before_write, :callback_before_write]
108
+ expect(@fs.run_callbacks).to(eq([:callback_before_write, :callback_before_write]))
109
109
  end
110
110
 
111
111
  it 'should record event when assignment operator is used' do
112
112
  @fs['tmp/file.txt'] = 'random data'
113
- @fs.run_callbacks.should == [:callback_before_write, :callback_before_write]
113
+ expect(@fs.run_callbacks).to(eq([:callback_before_write, :callback_before_write]))
114
114
  end
115
115
  end
116
116
 
@@ -122,25 +122,25 @@ describe CallbackAsset do
122
122
  end
123
123
 
124
124
  it "should run before_validate, then validate, then after validate, then before_store, then store" do
125
- @asset.should_receive(:callback_before_store).and_return(true)
126
- @asset.should_not_receive(:callback_after_delete)
125
+ expect(@asset).to(receive(:callback_before_store).and_return(true))
126
+ expect(@asset).not_to(receive(:callback_after_delete))
127
127
 
128
128
  @asset.value = 'foo'
129
- @asset.store.should == true
130
- @asset.value.should == 'valid spice'
129
+ expect(@asset.store).to(eq(true))
130
+ expect(@asset.value).to(eq('valid spice'))
131
131
  end
132
132
 
133
133
  it "should run its after_delete callback after delete is called" do
134
- @asset.should_not_receive(:callback_before_store)
135
- @asset.should_receive(:callback_after_delete).and_return(true)
134
+ expect(@asset).not_to(receive(:callback_before_store))
135
+ expect(@asset).to(receive(:callback_after_delete).and_return(true))
136
136
 
137
- @asset.delete.should == 'bar'
137
+ expect(@asset.delete).to(eq('bar'))
138
138
  end
139
139
 
140
140
  it "not invoke other callbacks when a before_ filter returns false" do
141
- @asset.should_receive(:callback_before_delete).and_return(false)
142
- @asset.should_not_receive(:callback_after_delete)
141
+ expect(@asset).to(receive(:callback_before_delete).and_return(false))
142
+ expect(@asset).not_to(receive(:callback_after_delete))
143
143
 
144
- @asset.delete.should == nil
144
+ expect(@asset.delete).to(eq(nil))
145
145
  end
146
146
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
  require 'fileutils'
3
4
 
@@ -7,12 +8,11 @@ class FileSystemCloud < AssetCloud::Base
7
8
  bucket :tmp, AssetCloud::FileSystemBucket
8
9
  end
9
10
 
10
-
11
11
  describe FileSystemCloud do
12
12
  directory = File.dirname(__FILE__) + '/files'
13
13
 
14
14
  before do
15
- @fs = FileSystemCloud.new(directory , 'http://assets/files' )
15
+ @fs = FileSystemCloud.new(directory, 'http://assets/files')
16
16
  FileUtils.mkdir_p(directory + '/tmp')
17
17
  end
18
18
 
@@ -21,31 +21,31 @@ describe FileSystemCloud do
21
21
  end
22
22
 
23
23
  it "should use invalid bucket for random directories" do
24
- @fs.bucket_for('does-not-exist/file.txt').should be_an_instance_of(AssetCloud::InvalidBucket)
24
+ expect(@fs.bucket_for('does-not-exist/file.txt')).to(be_an_instance_of(AssetCloud::InvalidBucket))
25
25
  end
26
26
 
27
27
  it "should use filesystem bucket for products/ and tmp/ directories" do
28
- @fs.bucket_for('products/file.txt').should be_an_instance_of(AssetCloud::FileSystemBucket)
29
- @fs.bucket_for('tmp/file.txt').should be_an_instance_of(AssetCloud::FileSystemBucket)
28
+ expect(@fs.bucket_for('products/file.txt')).to(be_an_instance_of(AssetCloud::FileSystemBucket))
29
+ expect(@fs.bucket_for('tmp/file.txt')).to(be_an_instance_of(AssetCloud::FileSystemBucket))
30
30
  end
31
31
 
32
32
  it "should return Asset for existing files" do
33
- @fs['products/key.txt'].exist?.should == true
34
- @fs['products/key.txt'].should be_an_instance_of(AssetCloud::Asset)
33
+ expect(@fs['products/key.txt'].exist?).to(eq(true))
34
+ expect(@fs['products/key.txt']).to(be_an_instance_of(AssetCloud::Asset))
35
35
  end
36
36
 
37
37
  it "should be able to test if a file exists or not" do
38
- @fs.stat('products/key.txt').exist?.should == true
39
- @fs.stat('products/key2.txt').exist?.should == false
38
+ expect(@fs.stat('products/key.txt').exist?).to(eq(true))
39
+ expect(@fs.stat('products/key2.txt').exist?).to(eq(false))
40
40
  end
41
41
 
42
42
  it "should be able to list files" do
43
- @fs.ls('products').collect(&:key).should == ['products/key.txt']
43
+ expect(@fs.ls('products').collect(&:key)).to(eq(['products/key.txt']))
44
44
  end
45
45
 
46
46
  describe 'when modifying file system' do
47
47
  it "should call write after storing an asset" do
48
- @fs.buckets[:tmp].should_receive(:write).with('tmp/new_file.test', 'hello world').and_return(true)
48
+ expect(@fs.buckets[:tmp]).to(receive(:write).with('tmp/new_file.test', 'hello world').and_return(true))
49
49
 
50
50
  @fs.build('tmp/new_file.test', 'hello world').store
51
51
  end
@@ -53,21 +53,20 @@ describe FileSystemCloud do
53
53
  it "should be able to create new files" do
54
54
  @fs.build('tmp/new_file.test', 'hello world').store
55
55
 
56
- @fs.stat('tmp/new_file.test').exist.should == true
56
+ expect(@fs.stat('tmp/new_file.test').exist).to(eq(true))
57
57
  end
58
58
 
59
59
  it "should be able to create new files with simple assignment" do
60
60
  @fs['tmp/new_file.test'] = 'hello world'
61
61
 
62
- @fs.stat('tmp/new_file.test').exist.should == true
62
+ expect(@fs.stat('tmp/new_file.test').exist).to(eq(true))
63
63
  end
64
64
 
65
65
  it "should create directories as needed" do
66
66
  @fs.build('tmp/new_file.test', 'hello world').store
67
67
 
68
- @fs['tmp/new_file.test'].exist?.should == true
69
- @fs['tmp/new_file.test'].value.should == 'hello world'
68
+ expect(@fs['tmp/new_file.test'].exist?).to(eq(true))
69
+ expect(@fs['tmp/new_file.test'].value).to(eq('hello world'))
70
70
  end
71
-
72
71
  end
73
72
  end
@@ -1,46 +1,44 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'spec_helper'
3
4
 
4
-
5
5
  class FindFreeKey
6
6
  extend AssetCloud::FreeKeyLocator
7
7
  end
8
8
 
9
9
  describe "FreeFilenameLocator", 'when asked to return a free key such as the one passed in' do
10
-
11
10
  it "should simply return the key if it happens to be free" do
12
- FindFreeKey.should_receive(:exist?).with('free.txt').and_return(false)
11
+ expect(FindFreeKey).to(receive(:exist?).with('free.txt').and_return(false))
13
12
 
14
- FindFreeKey.find_free_key_like('free.txt').should == 'free.txt'
13
+ expect(FindFreeKey.find_free_key_like('free.txt')).to(eq('free.txt'))
15
14
  end
16
15
 
17
16
  it "should append a UUID to the key before the extension if key is taken" do
18
- SecureRandom.stub(:uuid).and_return('moo')
19
- FindFreeKey.should_receive(:exist?).with('free.txt').and_return(true)
20
- FindFreeKey.should_receive(:exist?).with('free_moo.txt').and_return(false)
17
+ allow(SecureRandom).to(receive(:uuid).and_return('moo'))
18
+ expect(FindFreeKey).to(receive(:exist?).with('free.txt').and_return(true))
19
+ expect(FindFreeKey).to(receive(:exist?).with('free_moo.txt').and_return(false))
21
20
 
22
- FindFreeKey.find_free_key_like('free.txt').should == 'free_moo.txt'
21
+ expect(FindFreeKey.find_free_key_like('free.txt')).to(eq('free_moo.txt'))
23
22
  end
24
23
 
25
-
26
24
  it "should not strip any directory information from the key" do
27
- SecureRandom.stub(:uuid).and_return('moo')
28
- FindFreeKey.should_receive(:exist?).with('products/images/image.gif').and_return(true)
29
- FindFreeKey.should_receive(:exist?).with('products/images/image_moo.gif').and_return(false)
25
+ allow(SecureRandom).to(receive(:uuid).and_return('moo'))
26
+ expect(FindFreeKey).to(receive(:exist?).with('products/images/image.gif').and_return(true))
27
+ expect(FindFreeKey).to(receive(:exist?).with('products/images/image_moo.gif').and_return(false))
30
28
 
31
- FindFreeKey.find_free_key_like('products/images/image.gif').should == 'products/images/image_moo.gif'
29
+ expect(FindFreeKey.find_free_key_like('products/images/image.gif')).to(eq('products/images/image_moo.gif'))
32
30
  end
33
31
 
34
32
  it "should raise an exception if the randomly chosen value (after 10 attempts) is also taken" do
35
- FindFreeKey.stub(:exist?).and_return(true)
36
- lambda { FindFreeKey.find_free_key_like('free.txt') }.should raise_error(StandardError)
33
+ allow(FindFreeKey).to(receive(:exist?).and_return(true))
34
+ expect { FindFreeKey.find_free_key_like('free.txt') }.to(raise_error(StandardError))
37
35
  end
38
36
 
39
37
  it "should append a UUID to the key before the extensions if the force_uuid option is passed" do
40
- FindFreeKey.should_receive(:exist?).with('free.txt').and_return(false)
41
- FindFreeKey.should_receive(:exist?).with('free_as-in-beer.txt').and_return(false)
42
- SecureRandom.stub(:uuid).and_return('as-in-beer')
38
+ expect(FindFreeKey).to(receive(:exist?).with('free.txt').and_return(false))
39
+ expect(FindFreeKey).to(receive(:exist?).with('free_as-in-beer.txt').and_return(false))
40
+ allow(SecureRandom).to(receive(:uuid).and_return('as-in-beer'))
43
41
 
44
- FindFreeKey.find_free_key_like('free.txt', :force_uuid => true).should == 'free_as-in-beer.txt'
42
+ expect(FindFreeKey.find_free_key_like('free.txt', force_uuid: true)).to(eq('free_as-in-beer.txt'))
45
43
  end
46
44
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # rubocop:disable RSpec/FilePath, Lint/MissingCopEnableDirective
3
2
 
4
3
  require 'spec_helper'
5
4
  require 'google/cloud/storage'
@@ -20,9 +19,9 @@ describe AssetCloud::GCSBucket, if: ENV['GCS_PROJECT_ID'] && ENV['GCS_KEY_FILEPA
20
19
  @cloud = RemoteGCSCloud.new(directory, 'assets/files')
21
20
 
22
21
  @cloud.gcs_connection = Google::Cloud::Storage.new(
23
- project_id: ENV['GCS_PROJECT_ID'],
24
- credentials: ENV['GCS_KEY_FILEPATH']
25
- )
22
+ project_id: ENV['GCS_PROJECT_ID'],
23
+ credentials: ENV['GCS_KEY_FILEPATH']
24
+ )
26
25
  @bucket = @cloud.buckets[:tmp]
27
26
  end
28
27
 
@@ -31,10 +30,10 @@ describe AssetCloud::GCSBucket, if: ENV['GCS_PROJECT_ID'] && ENV['GCS_KEY_FILEPA
31
30
  end
32
31
 
33
32
  it "#ls with no arguments returns all files in the bucket" do
34
- expect_any_instance_of(Google::Cloud::Storage::Bucket).to receive(:files).with(no_args)
33
+ expect_any_instance_of(Google::Cloud::Storage::Bucket).to(receive(:files).with(no_args))
35
34
  expect do
36
35
  @bucket.ls
37
- end.not_to raise_error
36
+ end.not_to(raise_error)
38
37
  end
39
38
 
40
39
  it "#ls with arguments returns the file" do
@@ -44,7 +43,7 @@ describe AssetCloud::GCSBucket, if: ENV['GCS_PROJECT_ID'] && ENV['GCS_KEY_FILEPA
44
43
  @bucket.write(key, local_path)
45
44
 
46
45
  file = @bucket.ls(key)
47
- expect(file.name).to eq("s#{@cloud.url}/#{key}")
46
+ expect(file.name).to(eq("s#{@cloud.url}/#{key}"))
48
47
  end
49
48
 
50
49
  it "#write writes a file into the bucket" do
@@ -58,11 +57,11 @@ describe AssetCloud::GCSBucket, if: ENV['GCS_PROJECT_ID'] && ENV['GCS_KEY_FILEPA
58
57
  local_path = "#{directory}/products/key.txt"
59
58
  key = 'test/key.txt'
60
59
  metadata = {
61
- "X-Robots-Tag" => "none"
60
+ "X-Robots-Tag" => "none",
62
61
  }
63
62
 
64
63
  file = @bucket.write(key, local_path, metadata: metadata)
65
- expect(file.metadata).to eq(metadata)
64
+ expect(file.metadata).to(eq(metadata))
66
65
  end
67
66
 
68
67
  it "#write writes a file into the bucket with acl" do
@@ -71,7 +70,7 @@ describe AssetCloud::GCSBucket, if: ENV['GCS_PROJECT_ID'] && ENV['GCS_KEY_FILEPA
71
70
  acl = 'public'
72
71
 
73
72
  file = @bucket.write(key, local_path, acl: acl)
74
- expect(file.acl).to be_truthy
73
+ expect(file.acl).to(be_truthy)
75
74
  end
76
75
 
77
76
  it "#write writes a file into the bucket with content_disposition" do
@@ -80,7 +79,7 @@ describe AssetCloud::GCSBucket, if: ENV['GCS_PROJECT_ID'] && ENV['GCS_KEY_FILEPA
80
79
  content_disposition = 'attachment'
81
80
 
82
81
  file = @bucket.write(key, local_path, content_disposition: content_disposition)
83
- expect(file.content_disposition).to eq(content_disposition)
82
+ expect(file.content_disposition).to(eq(content_disposition))
84
83
  end
85
84
 
86
85
  it "#delete removes the file from the bucket" do
@@ -88,14 +87,14 @@ describe AssetCloud::GCSBucket, if: ENV['GCS_PROJECT_ID'] && ENV['GCS_KEY_FILEPA
88
87
 
89
88
  expect do
90
89
  @bucket.delete(key)
91
- end.not_to raise_error
90
+ end.not_to(raise_error)
92
91
  end
93
92
 
94
93
  it "#delete raises AssetCloud::AssetNotFoundError if the file is not found" do
95
94
  key = 'tmp/not_found.txt'
96
95
  expect do
97
96
  @bucket.delete(key)
98
- end.to raise_error(AssetCloud::AssetNotFoundError)
97
+ end.to(raise_error(AssetCloud::AssetNotFoundError))
99
98
  end
100
99
 
101
100
  it "#read returns the data of the file" do
@@ -104,14 +103,14 @@ describe AssetCloud::GCSBucket, if: ENV['GCS_PROJECT_ID'] && ENV['GCS_KEY_FILEPA
104
103
  @bucket.write(key, StringIO.new(value))
105
104
 
106
105
  data = @bucket.read(key)
107
- data.should == value
106
+ expect(data).to(eq(value))
108
107
  end
109
108
 
110
109
  it "#read raises AssetCloud::AssetNotFoundError if the file is not found" do
111
110
  key = 'tmp/not_found.txt'
112
111
  expect do
113
112
  @bucket.read(key)
114
- end.to raise_error(AssetCloud::AssetNotFoundError)
113
+ end.to(raise_error(AssetCloud::AssetNotFoundError))
115
114
  end
116
115
 
117
116
  it "#stats returns metadata of the asset" do
@@ -121,8 +120,8 @@ describe AssetCloud::GCSBucket, if: ENV['GCS_PROJECT_ID'] && ENV['GCS_KEY_FILEPA
121
120
 
122
121
  stats = @bucket.stat(key)
123
122
 
124
- expect(stats.size).not_to be_nil
125
- expect(stats.created_at).not_to be_nil
126
- expect(stats.updated_at).not_to be_nil
123
+ expect(stats.size).not_to(be_nil)
124
+ expect(stats.created_at).not_to(be_nil)
125
+ expect(stats.updated_at).not_to(be_nil)
127
126
  end
128
- end
127
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
  require 'google/cloud/storage'
3
4
 
@@ -24,42 +25,55 @@ describe AssetCloud::GCSBucket do
24
25
  end
25
26
 
26
27
  it "#ls with no arguments returns all files in the bucket" do
27
- expect_any_instance_of(GCSCloud).to receive(:gcs_bucket).and_return(@bucket)
28
- expect_any_instance_of(MockGCSBucket).to receive(:files).with(no_args).and_return(nil)
28
+ expect_any_instance_of(GCSCloud).to(receive(:gcs_bucket).and_return(@bucket))
29
+ expect_any_instance_of(MockGCSBucket).to(receive(:files).with(no_args).and_return(nil))
29
30
  @bucket.ls
30
31
  end
31
32
 
32
33
  it "#ls with arguments returns the file" do
33
34
  key = 'test/ls.txt'
34
- expect_any_instance_of(MockGCSBucket).to receive(:file).with("s#{@cloud.url}/#{key}").and_return(Google::Cloud::Storage::File.new)
35
+ expect_any_instance_of(MockGCSBucket).to(receive(:file).with("s#{@cloud.url}/#{key}").and_return(Google::Cloud::Storage::File.new))
35
36
 
36
37
  file = @bucket.ls(key)
37
- expect(file.class).to eq(Google::Cloud::Storage::File)
38
+ expect(file.class).to(eq(Google::Cloud::Storage::File))
38
39
  end
39
40
 
40
- it "#write writes a file into the bucket" do
41
- local_path = "#{directory}/products/key.txt"
42
- key = 'test/key.txt'
43
- expect_any_instance_of(MockGCSBucket).to receive(:create_file).with(
44
- local_path,
45
- "s#{@cloud.url}/#{key}",
46
- {}
47
- )
48
-
49
- @bucket.write(key, local_path)
41
+ if RUBY_VERSION >= '2.7'
42
+ it "#write writes a file into the bucket" do
43
+ local_path = "#{directory}/products/key.txt"
44
+ key = 'test/key.txt'
45
+ expect_any_instance_of(MockGCSBucket).to(receive(:create_file).with(
46
+ local_path,
47
+ "s#{@cloud.url}/#{key}",
48
+ ))
49
+
50
+ @bucket.write(key, local_path)
51
+ end
52
+ else
53
+ it "#write writes a file into the bucket" do
54
+ local_path = "#{directory}/products/key.txt"
55
+ key = 'test/key.txt'
56
+ expect_any_instance_of(MockGCSBucket).to(receive(:create_file).with(
57
+ local_path,
58
+ "s#{@cloud.url}/#{key}",
59
+ {}
60
+ ))
61
+
62
+ @bucket.write(key, local_path)
63
+ end
50
64
  end
51
65
 
52
66
  it "#write writes a file into the bucket with metadata" do
53
67
  local_path = "#{directory}/products/key.txt"
54
68
  key = 'test/key.txt'
55
69
  metadata = {
56
- "X-Robots-Tag" => "none"
70
+ "X-Robots-Tag" => "none",
57
71
  }
58
- expect_any_instance_of(MockGCSBucket).to receive(:create_file).with(
72
+ expect_any_instance_of(MockGCSBucket).to(receive(:create_file).with(
59
73
  local_path,
60
74
  "s#{@cloud.url}/#{key}",
61
75
  metadata: metadata
62
- )
76
+ ))
63
77
 
64
78
  @bucket.write(key, local_path, metadata: metadata)
65
79
  end
@@ -68,11 +82,11 @@ describe AssetCloud::GCSBucket do
68
82
  local_path = "#{directory}/products/key.txt"
69
83
  key = 'test/key.txt'
70
84
  acl = 'public'
71
- expect_any_instance_of(MockGCSBucket).to receive(:create_file).with(
85
+ expect_any_instance_of(MockGCSBucket).to(receive(:create_file).with(
72
86
  local_path,
73
87
  "s#{@cloud.url}/#{key}",
74
88
  acl: acl
75
- )
89
+ ))
76
90
 
77
91
  @bucket.write(key, local_path, acl: acl)
78
92
  end
@@ -81,41 +95,41 @@ describe AssetCloud::GCSBucket do
81
95
  local_path = "#{directory}/products/key.txt"
82
96
  key = 'test/key.txt'
83
97
  content_disposition = 'attachment'
84
- expect_any_instance_of(MockGCSBucket).to receive(:create_file).with(
98
+ expect_any_instance_of(MockGCSBucket).to(receive(:create_file).with(
85
99
  local_path,
86
100
  "s#{@cloud.url}/#{key}",
87
101
  content_disposition: content_disposition
88
- )
102
+ ))
89
103
 
90
104
  @bucket.write(key, local_path, content_disposition: content_disposition)
91
105
  end
92
106
 
93
107
  it "#delete removes the file from the bucket" do
94
108
  key = 'test/key.txt'
95
- expect_any_instance_of(MockGCSBucket).to receive(:file).with("s#{@cloud.url}/#{key}").and_return(Google::Cloud::Storage::File.new)
96
- expect_any_instance_of(Google::Cloud::Storage::File).to receive(:delete).with(no_args)
109
+ expect_any_instance_of(MockGCSBucket).to(receive(:file).with("s#{@cloud.url}/#{key}").and_return(Google::Cloud::Storage::File.new))
110
+ expect_any_instance_of(Google::Cloud::Storage::File).to(receive(:delete).with(no_args))
97
111
 
98
112
  expect do
99
113
  @bucket.delete(key)
100
- end.not_to raise_error
114
+ end.not_to(raise_error)
101
115
  end
102
116
 
103
117
  it "#read returns the data of the file" do
104
118
  value = 'hello world'
105
119
  key = 'tmp/new_file.txt'
106
- expect_any_instance_of(MockGCSBucket).to receive(:file).with("s#{@cloud.url}/#{key}").and_return(Google::Cloud::Storage::File.new)
107
- expect_any_instance_of(Google::Cloud::Storage::File).to receive(:download).and_return(StringIO.new(value))
120
+ expect_any_instance_of(MockGCSBucket).to(receive(:file).with("s#{@cloud.url}/#{key}").and_return(Google::Cloud::Storage::File.new))
121
+ expect_any_instance_of(Google::Cloud::Storage::File).to(receive(:download).and_return(StringIO.new(value)))
108
122
 
109
123
  data = @bucket.read(key)
110
- data.should == value
124
+ expect(data).to(eq(value))
111
125
  end
112
126
 
113
127
  it "#read raises AssetCloud::AssetNotFoundError if the file is not found" do
114
128
  key = 'tmp/not_found.txt'
115
- expect_any_instance_of(MockGCSBucket).to receive(:file).with("s#{@cloud.url}/#{key}").and_return(nil)
129
+ expect_any_instance_of(MockGCSBucket).to(receive(:file).with("s#{@cloud.url}/#{key}").and_return(nil))
116
130
  expect do
117
131
  @bucket.read(key)
118
- end.to raise_error(AssetCloud::AssetNotFoundError)
132
+ end.to(raise_error(AssetCloud::AssetNotFoundError))
119
133
  end
120
134
 
121
135
  it "#stat returns information on the asset" do
@@ -124,14 +138,14 @@ describe AssetCloud::GCSBucket do
124
138
  expected_time = Time.now
125
139
  expected_size = 1
126
140
 
127
- expect_any_instance_of(MockGCSBucket).to receive(:file).with("s#{@cloud.url}/#{key}").and_return(Google::Cloud::Storage::File.new)
128
- expect_any_instance_of(Google::Cloud::Storage::File).to receive(:size).and_return(expected_size)
129
- expect_any_instance_of(Google::Cloud::Storage::File).to receive(:created_at).and_return(expected_time)
130
- expect_any_instance_of(Google::Cloud::Storage::File).to receive(:updated_at).and_return(expected_time)
141
+ expect_any_instance_of(MockGCSBucket).to(receive(:file).with("s#{@cloud.url}/#{key}").and_return(Google::Cloud::Storage::File.new))
142
+ expect_any_instance_of(Google::Cloud::Storage::File).to(receive(:size).and_return(expected_size))
143
+ expect_any_instance_of(Google::Cloud::Storage::File).to(receive(:created_at).and_return(expected_time))
144
+ expect_any_instance_of(Google::Cloud::Storage::File).to(receive(:updated_at).and_return(expected_time))
131
145
 
132
146
  stats = @bucket.stat(key)
133
- expect(stats.size).to eq(expected_size)
134
- expect(stats.created_at).to eq(expected_time)
135
- expect(stats.updated_at).to eq(expected_time)
147
+ expect(stats.size).to(eq(expected_size))
148
+ expect(stats.created_at).to(eq(expected_time))
149
+ expect(stats.updated_at).to(eq(expected_time))
136
150
  end
137
151
  end