Skip to content

Commit

Permalink
catalog_to_moab_spec: tests written for code so far
Browse files Browse the repository at this point in the history
  • Loading branch information
ndushay committed Jan 23, 2018
1 parent 7680616 commit d5ab42f
Showing 1 changed file with 43 additions and 7 deletions.
50 changes: 43 additions & 7 deletions spec/lib/audit/catalog_to_moab_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,9 @@
ep = Endpoint.find_by(storage_location: storage_dir).id
PreservedCopy.find_by(preserved_object: po, endpoint: ep)
end
let(:object_dir) { "#{storage_dir}/#{DruidTools::Druid.new(druid).tree.join('/')}" }

it 'instantiates Moab::StorageObject from druid and storage_dir' do
object_dir = "#{storage_dir}/#{DruidTools::Druid.new(druid).tree.join('/')}"
expect(Moab::StorageObject).to receive(:new).with(druid, a_string_matching(object_dir)).and_call_original
CatalogToMoab.send(:check_catalog_version, pres_copy, nil)
end
Expand All @@ -102,26 +102,62 @@
end

it 'calls POHandlerResults.report_results' do
pohandler_results = instance_double(PreservedObjectHandlerResults, :add_result)
pohandler_results = instance_double(PreservedObjectHandlerResults, add_result: nil)
allow(PreservedObjectHandlerResults).to receive(:new).and_return(pohandler_results)
expect(pohandler_results).to receive(:report_results)
CatalogToMoab.send(:check_catalog_version, pres_copy, nil)
end

context 'catalog version == moab version (happy path)' do
it 'adds a VERSION_MATCHES result' do
fail 'write this test'
pohandler_results = instance_double(PreservedObjectHandlerResults, report_results: nil)
allow(PreservedObjectHandlerResults).to receive(:new).and_return(pohandler_results)
expect(pohandler_results).to receive(:add_result).with(PreservedObjectHandlerResults::VERSION_MATCHES, 'PreservedCopy')
CatalogToMoab.send(:check_catalog_version, pres_copy, nil)
end
end

context 'catalog version < moab version' do
it 'calls PreservedObject.save!' do
fail 'write this test - note PreservedOBJECT'
before do
moab = instance_double(Moab::StorageObject, size: 666, object_pathname: object_dir)
allow(Moab::StorageObject).to receive(:new).with(druid, instance_of(String)).and_return(moab)
expect(moab).to receive(:current_version_id).and_return(4)
end

it 'adds an UNEXPECTED_VERSION result' do
pohandler_results = instance_double(PreservedObjectHandlerResults, report_results: nil)
expect(pohandler_results).to receive(:add_result).with(PreservedObjectHandlerResults::UNEXPECTED_VERSION, 'PreservedCopy')
allow(pohandler_results).to receive(:add_result).with(any_args)
allow(PreservedObjectHandlerResults).to receive(:new).and_return(pohandler_results)
CatalogToMoab.send(:check_catalog_version, pres_copy, nil)
end
it 'calls PreservedObjectHandler.update_version_after_validation' do
pohandler = instance_double(PreservedObjectHandler)
expect(PreservedObjectHandler).to receive(:new).and_return(pohandler)
expect(pohandler).to receive(:update_version_after_validation)
CatalogToMoab.send(:check_catalog_version, pres_copy, nil)
end
end

context 'catalog version > moab version' do
it 'does something' do
skip 'write useful tests'
before do
moab = instance_double(Moab::StorageObject, size: 666, object_pathname: object_dir)
allow(Moab::StorageObject).to receive(:new).with(druid, instance_of(String)).and_return(moab)
expect(moab).to receive(:current_version_id).and_return(2)
end

it 'adds an UNEXPECTED_VERSION result' do
pohandler_results = instance_double(PreservedObjectHandlerResults, report_results: nil)
expect(pohandler_results).to receive(:add_result).with(PreservedObjectHandlerResults::UNEXPECTED_VERSION, 'PreservedCopy')
allow(pohandler_results).to receive(:add_result).with(any_args)
allow(PreservedObjectHandlerResults).to receive(:new).and_return(pohandler_results)
CatalogToMoab.send(:check_catalog_version, pres_copy, nil)
end
it 'does moab validation' do
skip 'add tests after #491'
end
it 'updates status' do
skip 'add tests after #491, #477'
end
end
end
Expand Down

0 comments on commit d5ab42f

Please sign in to comment.