Sha256: 472144fb1976aa5b6b25a8878409295fdd7c6f073c72105cdebf279eac534922

Contents?: true

Size: 1.07 KB

Versions: 5

Compression:

Stored size: 1.07 KB

Contents

require 'spec_helper'

describe IngestLocalFileJob do
  let(:user) { FactoryGirl.find_or_create(:jill) }

  let(:generic_file) { create :generic_file, depositor: user }

  let(:job) { IngestLocalFileJob.new(generic_file.id, mock_upload_directory, "world.png", user.user_key) }
  let(:mock_upload_directory) { 'spec/mock_upload_directory' }

  before do
    Dir.mkdir mock_upload_directory unless File.exists? mock_upload_directory
    FileUtils.copy(File.expand_path('../../fixtures/world.png', __FILE__), mock_upload_directory)
  end

  it "should have attached a file" do
    job.run
    expect(generic_file.reload.content.size).to eq(4218)
  end

  describe "virus checking" do
    it "should run virus check" do
      expect(Sufia::GenericFile::Actor).to receive(:virus_check).and_return(0)
      job.run
    end
    it "should abort if virus check fails" do
      allow(Sufia::GenericFile::Actor).to receive(:virus_check).and_raise(Sufia::VirusFoundError.new('A virus was found'))
      job.run
      expect(user.mailbox.inbox.first.subject).to eq("Local file ingest error")
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
sufia-6.2.0 spec/jobs/ingest_local_file_job_spec.rb
sufia-6.1.0 spec/jobs/ingest_local_file_job_spec.rb
sufia-6.0.0 spec/jobs/ingest_local_file_job_spec.rb
sufia-6.0.0.rc4 spec/jobs/ingest_local_file_job_spec.rb
sufia-6.0.0.rc3 spec/jobs/ingest_local_file_job_spec.rb