aboutsummaryrefslogtreecommitdiffstats
path: root/spec/workers
diff options
context:
space:
mode:
authorRobert2017-07-21 22:32:28 +0200
committerRobert2017-07-21 22:32:28 +0200
commit384a06676b8e0985f39fbc894a2d7dd458823529 (patch)
tree2e9cfe22f5772bae5d2275860a51e1c3b075be2a /spec/workers
parentded817a7d0802cc2aafcdbe4bb256698f6868afd (diff)
downloadchouette-core-384a06676b8e0985f39fbc894a2d7dd458823529.tar.bz2
Sketching out the unzip/zip process, need to change Tempfile to File.open(..., r) in a configurable directory [amend me]
Diffstat (limited to 'spec/workers')
-rw-r--r--spec/workers/workbench_import_worker_spec.rb36
1 files changed, 28 insertions, 8 deletions
diff --git a/spec/workers/workbench_import_worker_spec.rb b/spec/workers/workbench_import_worker_spec.rb
index a1f8659e7..9a1df5bc3 100644
--- a/spec/workers/workbench_import_worker_spec.rb
+++ b/spec/workers/workbench_import_worker_spec.rb
@@ -1,7 +1,7 @@
RSpec.describe WorkbenchImportWorker, type: [:worker, :request] do
let( :worker ) { described_class.new }
- let( :import ){ build_stubbed :import, token_download: download_token }
+ let( :import ){ build_stubbed :import, token_download: download_token, file: File.open(zip_file) }
let( :workbench ){ import.workbench }
let( :referential ){ import.referential }
@@ -19,16 +19,36 @@ RSpec.describe WorkbenchImportWorker, type: [:worker, :request] do
end
- it 'downloads a zip file' do
+ context 'multireferential zipfile' do
+ let( :zip_file ){ File.join(fixture_path, 'multiref.zip') }
- 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)
+ 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
+ worker.perform import.id
- expect( worker.downloaded ).to eq( result )
+ expect( File.read(worker.downloaded) ).to eq( result )
+ expect( worker ).not_to be_single_entry
+ end
+ end
+
+ context 'unireferential zipfile' do
+ let( :zip_file ){ File.join(fixture_path, 'uniref.zip') }
+
+ 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( File.read(worker.downloaded) ).to eq( result )
+ expect( worker ).to be_single_entry
+ end
end
end