carrierwave_direct 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,11 @@
3
3
  require 'carrierwave_direct'
4
4
  require 'json'
5
5
  require 'timecop'
6
- require 'byebug'
6
+ begin
7
+ require 'byebug'
8
+ rescue LoadError
9
+ puts "Byebug not installed"
10
+ end
7
11
 
8
12
  require File.dirname(__FILE__) << '/support/view_helpers' # Catch dependency order
9
13
 
@@ -7,10 +7,8 @@ describe CarrierWaveDirect::Uploader do
7
7
  include ModelHelpers
8
8
 
9
9
  let(:subject) { DirectUploader.new }
10
- let(:mounted_model) { double(sample(:mounted_model_name), video_identifier: sample(:stored_filename)) }
10
+ let(:mounted_model) { MountedClass.new }
11
11
  let(:mounted_subject) { DirectUploader.new(mounted_model, sample(:mounted_as)) }
12
- let(:direct_subject) { DirectUploader.new }
13
-
14
12
 
15
13
  DirectUploader.fog_credentials.keys.each do |key|
16
14
  describe "##{key}" do
@@ -74,8 +72,9 @@ describe CarrierWaveDirect::Uploader do
74
72
  context "but the uploaders url is '#{sample(:s3_file_url)}'" do
75
73
  before do
76
74
  allow(mounted_subject).to receive(:store_dir).and_return(sample(:store_dir))
77
- allow(mounted_subject).to receive(:url).and_return(sample(:s3_file_url))
78
75
  allow(mounted_subject).to receive(:present?).and_return(true)
76
+ allow(mounted_model).to receive(:video_identifier).and_return(sample(:stored_filename))
77
+ mounted_model.remote_video_url = sample(:s3_file_url)
79
78
  end
80
79
 
81
80
  it "should return '#{sample(:s3_key)}'" do
@@ -104,6 +103,14 @@ describe CarrierWaveDirect::Uploader do
104
103
  end
105
104
  end
106
105
 
106
+ describe "#direct_fog_url" do
107
+ it "should return the result from CarrierWave::Storage::Fog::File#public_url" do
108
+ expect(subject.direct_fog_url).to eq CarrierWave::Storage::Fog::File.new(
109
+ subject, nil, nil
110
+ ).public_url
111
+ end
112
+ end
113
+
107
114
  describe "#key_regexp" do
108
115
  it "should return a regexp" do
109
116
  expect(subject.key_regexp).to be_a(Regexp)
@@ -474,42 +481,17 @@ describe CarrierWaveDirect::Uploader do
474
481
  end
475
482
  end
476
483
 
477
- describe "#signature" do
478
- it "should not contain any new lines" do
479
- expect(subject.signature).to_not include("\n")
480
- end
481
-
482
- it "should return a HMAC hexdigest encoded 'sha256' hash of the secret key and policy document" do
483
- expect(subject.signature).to eq OpenSSL::HMAC.hexdigest(
484
- OpenSSL::Digest.new('sha256'),
485
- subject.send(:signing_key), subject.policy
486
- )
487
- end
488
- end
489
- #http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-UsingHTTPPOST.html
490
- describe "#signature_key" do
491
- it "should include correct signature_key elements" do
492
- kDate = OpenSSL::HMAC.digest('sha256', "AWS4" + subject.aws_secret_access_key, Time.now.utc.strftime("%Y%m%d"))
493
- kRegion = OpenSSL::HMAC.digest('sha256', kDate, subject.region)
494
- kService = OpenSSL::HMAC.digest('sha256', kRegion, 's3')
495
- kSigning = OpenSSL::HMAC.digest('sha256', kService, "aws4_request")
496
-
497
- expect(subject.send(:signing_key)).to eq (kSigning)
498
- end
499
- end
500
-
501
-
502
484
  # note that 'video' is hardcoded into the MountedClass support file
503
485
  # so changing the sample will cause the tests to fail
504
486
  context "a class has a '#{sample(:mounted_as)}' mounted" do
505
487
  describe "#{sample(:mounted_as).to_s.capitalize}Uploader" do
506
488
  describe "##{sample(:mounted_as)}" do
507
489
  it "should be defined" do
508
- expect(direct_subject).to be_respond_to(sample(:mounted_as))
490
+ expect(subject).to be_respond_to(sample(:mounted_as))
509
491
  end
510
492
 
511
493
  it "should return itself" do
512
- expect(direct_subject.send(sample(:mounted_as))).to eq direct_subject
494
+ expect(subject.send(sample(:mounted_as))).to eq subject
513
495
  end
514
496
  end
515
497
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carrierwave_direct
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Wilkie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-02 00:00:00.000000000 Z
11
+ date: 2018-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: carrierwave
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '3.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '3.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: timecop
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -139,6 +139,7 @@ files:
139
139
  - carrierwave_direct.gemspec
140
140
  - gemfiles/4.2.gemfile
141
141
  - gemfiles/5.1.gemfile
142
+ - gemfiles/5.2.gemfile
142
143
  - lib/carrierwave_direct.rb
143
144
  - lib/carrierwave_direct/action_view_extensions/form_helper.rb
144
145
  - lib/carrierwave_direct/form_builder.rb
@@ -146,12 +147,14 @@ files:
146
147
  - lib/carrierwave_direct/locale/nl.yml
147
148
  - lib/carrierwave_direct/mount.rb
148
149
  - lib/carrierwave_direct/orm/activerecord.rb
150
+ - lib/carrierwave_direct/policies/aws4_hmac_sha256.rb
151
+ - lib/carrierwave_direct/policies/aws_base64_sha1.rb
152
+ - lib/carrierwave_direct/policies/base.rb
149
153
  - lib/carrierwave_direct/test/capybara_helpers.rb
150
154
  - lib/carrierwave_direct/test/helpers.rb
151
155
  - lib/carrierwave_direct/uploader.rb
152
156
  - lib/carrierwave_direct/uploader/configuration.rb
153
157
  - lib/carrierwave_direct/uploader/content_type.rb
154
- - lib/carrierwave_direct/uploader/direct_url.rb
155
158
  - lib/carrierwave_direct/validations/active_model.rb
156
159
  - lib/carrierwave_direct/version.rb
157
160
  - spec/action_view_extensions/form_helper_spec.rb
@@ -160,6 +163,8 @@ files:
160
163
  - spec/mount_spec.rb
161
164
  - spec/orm/activerecord_spec.rb
162
165
  - spec/orm/indirect_activerecord_spec.rb
166
+ - spec/policies/aws4_hmac_sha256_spec.rb
167
+ - spec/policies/aws_base64_sha1_spec.rb
163
168
  - spec/spec_helper.rb
164
169
  - spec/support/carrier_wave_config.rb
165
170
  - spec/support/direct_uploader.rb
@@ -173,7 +178,6 @@ files:
173
178
  - spec/test/helpers_spec.rb
174
179
  - spec/uploader/configuration_spec.rb
175
180
  - spec/uploader/content_type_spec.rb
176
- - spec/uploader/direct_url_spec.rb
177
181
  - spec/uploader_spec.rb
178
182
  homepage: https://github.com/dwilkie/carrierwave_direct
179
183
  licenses: []
@@ -194,7 +198,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
194
198
  version: '0'
195
199
  requirements: []
196
200
  rubyforge_project: carrierwave_direct
197
- rubygems_version: 2.5.2.3
201
+ rubygems_version: 2.7.6
198
202
  signing_key:
199
203
  specification_version: 4
200
204
  summary: Upload direct to S3 using CarrierWave
@@ -205,6 +209,8 @@ test_files:
205
209
  - spec/mount_spec.rb
206
210
  - spec/orm/activerecord_spec.rb
207
211
  - spec/orm/indirect_activerecord_spec.rb
212
+ - spec/policies/aws4_hmac_sha256_spec.rb
213
+ - spec/policies/aws_base64_sha1_spec.rb
208
214
  - spec/spec_helper.rb
209
215
  - spec/support/carrier_wave_config.rb
210
216
  - spec/support/direct_uploader.rb
@@ -218,5 +224,4 @@ test_files:
218
224
  - spec/test/helpers_spec.rb
219
225
  - spec/uploader/configuration_spec.rb
220
226
  - spec/uploader/content_type_spec.rb
221
- - spec/uploader/direct_url_spec.rb
222
227
  - spec/uploader_spec.rb
@@ -1,16 +0,0 @@
1
- module CarrierWaveDirect
2
- module Uploader
3
- module DirectUrl
4
-
5
- def direct_fog_url(options = {})
6
- if options[:with_path]
7
- warn "calling `#direct_for_url` with :with_path is deprecated, please use `#url` instead."
8
- url
9
- else
10
- CarrierWave::Storage::Fog::File.new(self, CarrierWave::Storage::Fog.new(self), nil).public_url
11
- end
12
- end
13
-
14
- end
15
- end
16
- end
@@ -1,26 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- require 'spec_helper'
4
- require 'data/sample_data'
5
-
6
- describe CarrierWaveDirect::Uploader::DirectUrl do
7
-
8
- let(:subject) { DirectUploader.new }
9
-
10
- let(:mounted_subject) { DirectUploader.new(mounted_model, sample(:mounted_as)) }
11
-
12
- describe "#direct_fog_url" do
13
- it "should return the result from CarrierWave::Storage::Fog::File#public_url" do
14
- expect(subject.direct_fog_url).to eq CarrierWave::Storage::Fog::File.new(
15
- subject, nil, nil
16
- ).public_url
17
- end
18
-
19
- context ":with_path => true" do
20
- it "should return the full url set by carrierwave" do
21
- allow(subject).to receive(:url).and_return("url")
22
- expect(subject.direct_fog_url(:with_path => true)).to eq "url"
23
- end
24
- end
25
- end
26
- end