aboutsummaryrefslogtreecommitdiffstats
path: root/spec/workers
diff options
context:
space:
mode:
authorRobert2017-07-21 15:59:34 +0200
committerRobert2017-07-21 16:32:47 +0200
commitded817a7d0802cc2aafcdbe4bb256698f6868afd (patch)
tree30ac61f0f8483dc36d470da28a786eb091e5f0ff /spec/workers
parent4fffff70d5dc57929653ed1d1a1ce68e9769cee4 (diff)
downloadchouette-core-ded817a7d0802cc2aafcdbe4bb256698f6868afd.tar.bz2
Refs: #3507@4.5h spec setup and refactoring, using Faraday in worker
- Setting up correct headers for the Webmock request (Oh Boy) - Refactoring all Faraday requests into `lib/af83/http_fetcher.rb` - Implementing the Download
Diffstat (limited to 'spec/workers')
-rw-r--r--spec/workers/workbench_import_worker_spec.rb22
1 files changed, 16 insertions, 6 deletions
diff --git a/spec/workers/workbench_import_worker_spec.rb b/spec/workers/workbench_import_worker_spec.rb
index fa48b8252..a1f8659e7 100644
--- a/spec/workers/workbench_import_worker_spec.rb
+++ b/spec/workers/workbench_import_worker_spec.rb
@@ -1,24 +1,34 @@
RSpec.describe WorkbenchImportWorker, type: [:worker, :request] do
let( :worker ) { described_class.new }
- let( :import ){ build_stubbed :import }
+ let( :import ){ build_stubbed :import, token_download: download_token }
let( :workbench ){ import.workbench }
let( :referential ){ import.referential }
- let( :api_key ){ build_stubbed :api_key, referential: referential }
- # /workbenches/:workbench_id/imports/:id/download
+ # http://www.example.com/workbenches/:workbench_id/imports/:id/download
+ let( :url ){ "#{File.join(host, path)}?token=#{download_token}" }
+ let( :host ){ Rails.configuration.front_end_host }
let( :path ){ download_workbench_import_path(workbench, import) }
+
let( :result ){ import.file.read }
+ let( :download_token ){ SecureRandom.urlsafe_base64 }
before do
# That should be `build_stubbed's` job, no?
allow(Import).to receive(:find).with(import.id).and_return(import)
end
- xit 'downloads a zip file' do
- stub_request(:get, path)
- .with(headers: authorization_token_header(api_key))
+
+
+ it 'downloads a zip file' do
+
+ default_headers = {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Ruby'}
+ stub_request(:get, url)
+ .with(headers: default_headers)
.to_return(body: result)
+
worker.perform import.id
+
expect( worker.downloaded ).to eq( result )
end
+
end