Skip to content

Commit

Permalink
druid_spec: space after commas (Naomi couldn't stand it)
Browse files Browse the repository at this point in the history
  • Loading branch information
ndushay committed Oct 18, 2017
1 parent 146792b commit 5ceec3a
Showing 1 changed file with 58 additions and 58 deletions.
116 changes: 58 additions & 58 deletions spec/druid_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@

describe DruidTools::Druid do
before (:all) do
@fixture_dir = File.expand_path("../fixtures",__FILE__)
FileUtils.rm_rf(File.join(@fixture_dir,'cd'))
@fixture_dir = File.expand_path("../fixtures", __FILE__)
FileUtils.rm_rf(File.join(@fixture_dir, 'cd'))
@druid_1 = 'druid:cd456ef7890'
@tree_1 = File.join(@fixture_dir,'cd/456/ef/7890/cd456ef7890')
@tree_1 = File.join(@fixture_dir, 'cd/456/ef/7890/cd456ef7890')
@druid_2 = 'druid:cd456gh1234'
@tree_2 = File.join(@fixture_dir,'cd/456/gh/1234/cd456gh1234')
@tree_2 = File.join(@fixture_dir, 'cd/456/gh/1234/cd456gh1234')
end

after(:each) do
FileUtils.rm_rf(File.join(@fixture_dir,'cd'))
FileUtils.rm_rf(File.join(@fixture_dir, 'cd'))
end

it ".valid? correctly validates druid strings" do
Expand Down Expand Up @@ -45,32 +45,32 @@
end

it "#druid provides the full druid including the prefix" do
expect(DruidTools::Druid.new('druid:cd456ef7890',@fixture_dir).druid).to eq('druid:cd456ef7890')
expect(DruidTools::Druid.new('cd456ef7890',@fixture_dir).druid).to eq('druid:cd456ef7890')
expect(DruidTools::Druid.new('druid:cd456ef7890', @fixture_dir).druid).to eq('druid:cd456ef7890')
expect(DruidTools::Druid.new('cd456ef7890', @fixture_dir).druid).to eq('druid:cd456ef7890')
end

it "#id extracts the ID from the stem" do
expect(DruidTools::Druid.new('druid:cd456ef7890',@fixture_dir).id).to eq('cd456ef7890')
expect(DruidTools::Druid.new('cd456ef7890',@fixture_dir).id).to eq('cd456ef7890')
expect(DruidTools::Druid.new('druid:cd456ef7890', @fixture_dir).id).to eq('cd456ef7890')
expect(DruidTools::Druid.new('cd456ef7890', @fixture_dir).id).to eq('cd456ef7890')
end

it "#new raises exception if the druid is invalid" do
expect { DruidTools::Druid.new('nondruid:cd456ef7890',@fixture_dir) }.to raise_error(ArgumentError)
expect { DruidTools::Druid.new('druid:cd4567ef890',@fixture_dir) }.to raise_error(ArgumentError)
expect { DruidTools::Druid.new('nondruid:cd456ef7890', @fixture_dir) }.to raise_error(ArgumentError)
expect { DruidTools::Druid.new('druid:cd4567ef890', @fixture_dir) }.to raise_error(ArgumentError)
end

it "#tree builds a druid tree from a druid" do
druid = DruidTools::Druid.new(@druid_1,@fixture_dir)
expect(druid.tree).to eq(['cd','456','ef','7890','cd456ef7890'])
druid = DruidTools::Druid.new(@druid_1, @fixture_dir)
expect(druid.tree).to eq(['cd', '456', 'ef', '7890', 'cd456ef7890'])
expect(druid.path).to eq(@tree_1)
end

it "#mkdir, #rmdir create and destroy druid directories" do
expect(File.exists?(@tree_1)).to eq false
expect(File.exists?(@tree_2)).to eq false

druid_1 = DruidTools::Druid.new(@druid_1,@fixture_dir)
druid_2 = DruidTools::Druid.new(@druid_2,@fixture_dir)
druid_1 = DruidTools::Druid.new(@druid_1, @fixture_dir)
druid_2 = DruidTools::Druid.new(@druid_2, @fixture_dir)

druid_1.mkdir
expect(File.exists?(@tree_1)).to eq true
Expand All @@ -87,7 +87,7 @@
druid_1.rmdir
expect(File.exists?(@tree_1)).to eq false
expect(File.exists?(@tree_2)).to eq false
expect(File.exists?(File.join(@fixture_dir,'cd'))).to eq false
expect(File.exists?(File.join(@fixture_dir, 'cd'))).to eq false
end

describe "alternate prefixes" do
Expand All @@ -100,75 +100,75 @@
end

it "handles alternate prefixes" do
expect { DruidTools::Druid.new('druid:cd456ef7890',@fixture_dir) }.to raise_error(ArgumentError)
expect(DruidTools::Druid.new('sulair:cd456ef7890',@fixture_dir).id).to eq('cd456ef7890')
expect(DruidTools::Druid.new('cd456ef7890',@fixture_dir).druid).to eq('sulair:cd456ef7890')
expect { DruidTools::Druid.new('druid:cd456ef7890', @fixture_dir) }.to raise_error(ArgumentError)
expect(DruidTools::Druid.new('sulair:cd456ef7890', @fixture_dir).id).to eq('cd456ef7890')
expect(DruidTools::Druid.new('cd456ef7890', @fixture_dir).druid).to eq('sulair:cd456ef7890')
end
end

describe "content directories" do
it "knows where its content goes" do
druid = DruidTools::Druid.new(@druid_1,@fixture_dir)
expect(druid.content_dir(false)).to eq(File.join(@tree_1,'content'))
expect(druid.metadata_dir(false)).to eq(File.join(@tree_1,'metadata'))
expect(druid.temp_dir(false)).to eq(File.join(@tree_1,'temp'))

expect(File.exists?(File.join(@tree_1,'content'))).to eq false
expect(File.exists?(File.join(@tree_1,'metadata'))).to eq false
expect(File.exists?(File.join(@tree_1,'temp'))).to eq false
druid = DruidTools::Druid.new(@druid_1, @fixture_dir)
expect(druid.content_dir(false)).to eq(File.join(@tree_1, 'content'))
expect(druid.metadata_dir(false)).to eq(File.join(@tree_1, 'metadata'))
expect(druid.temp_dir(false)).to eq(File.join(@tree_1, 'temp'))

expect(File.exists?(File.join(@tree_1, 'content'))).to eq false
expect(File.exists?(File.join(@tree_1, 'metadata'))).to eq false
expect(File.exists?(File.join(@tree_1, 'temp'))).to eq false
end

it "creates its content directories on the fly" do
druid = DruidTools::Druid.new(@druid_1,@fixture_dir)
expect(druid.content_dir).to eq(File.join(@tree_1,'content'))
expect(druid.metadata_dir).to eq(File.join(@tree_1,'metadata'))
expect(druid.temp_dir).to eq(File.join(@tree_1,'temp'))

expect(File.exists?(File.join(@tree_1,'content'))).to eq true
expect(File.exists?(File.join(@tree_1,'metadata'))).to eq true
expect(File.exists?(File.join(@tree_1,'temp'))).to eq true
druid = DruidTools::Druid.new(@druid_1, @fixture_dir)
expect(druid.content_dir).to eq(File.join(@tree_1, 'content'))
expect(druid.metadata_dir).to eq(File.join(@tree_1, 'metadata'))
expect(druid.temp_dir).to eq(File.join(@tree_1, 'temp'))

expect(File.exists?(File.join(@tree_1, 'content'))).to eq true
expect(File.exists?(File.join(@tree_1, 'metadata'))).to eq true
expect(File.exists?(File.join(@tree_1, 'temp'))).to eq true
end

it "matches glob" do
druid = DruidTools::Druid.new(@druid_1,@fixture_dir)
druid = DruidTools::Druid.new(@druid_1, @fixture_dir)
druid.mkdir
expect(Dir.glob(File.join(File.dirname(druid.path), DruidTools::Druid::glob)).size).to eq(1)
end
end

describe "content discovery" do
before :all do
@druid = DruidTools::Druid.new(@druid_1,@fixture_dir)
@druid = DruidTools::Druid.new(@druid_1, @fixture_dir)
@filelist = %w(1 2 3 4).collect { |num| "someFile#{num}" }
end

it "finds content in content directories" do
location = @druid.content_dir
File.open(File.join(location,'someContent'),'w') { |f| f.write 'This is the content' }
expect(@druid.find_content('someContent')).to eq(File.join(location,'someContent'))
File.open(File.join(location, 'someContent'), 'w') { |f| f.write 'This is the content' }
expect(@druid.find_content('someContent')).to eq(File.join(location, 'someContent'))
end

it "finds content in the root directory" do
location = @druid.path(nil,true)
File.open(File.join(location,'someContent'),'w') { |f| f.write 'This is the content' }
expect(@druid.find_content('someContent')).to eq(File.join(location,'someContent'))
location = @druid.path(nil, true)
File.open(File.join(location, 'someContent'), 'w') { |f| f.write 'This is the content' }
expect(@druid.find_content('someContent')).to eq(File.join(location, 'someContent'))
end

it "finds content in the leaf directory" do
location = File.expand_path('..',@druid.path(nil,true))
File.open(File.join(location,'someContent'),'w') { |f| f.write 'This is the content' }
expect(@druid.find_content('someContent')).to eq(File.join(location,'someContent'))
location = File.expand_path('..', @druid.path(nil, true))
File.open(File.join(location, 'someContent'), 'w') { |f| f.write 'This is the content' }
expect(@druid.find_content('someContent')).to eq(File.join(location, 'someContent'))
end

it "does not find content in the wrong content directory" do
location = @druid.metadata_dir
File.open(File.join(location,'someContent'),'w') { |f| f.write 'This is the content' }
File.open(File.join(location, 'someContent'), 'w') { |f| f.write 'This is the content' }
expect(@druid.find_content('someContent')).to be_nil
end

it "does not find content in a higher-up directory" do
location = File.expand_path('../..',@druid.path(nil,true))
File.open(File.join(location,'someContent'),'w') { |f| f.write 'This is the content' }
location = File.expand_path('../..', @druid.path(nil, true))
File.open(File.join(location, 'someContent'), 'w') { |f| f.write 'This is the content' }
expect(@druid.find_content('someContent')).to be_nil
end

Expand All @@ -177,49 +177,49 @@
@filelist.each do |filename|
location.join(filename).open('w') { |f| f.write "This is #{filename}" }
end
expect(@druid.find_filelist_parent('content',@filelist)).to eq(location)
expect(@druid.find_filelist_parent('content', @filelist)).to eq(location)
end

it "finds a filelist in the root directory" do
location = Pathname(@druid.path(nil,true))
location = Pathname(@druid.path(nil, true))
@filelist.each do |filename|
location.join(filename).open('w') { |f| f.write "This is #{filename}" }
end
expect(@druid.find_filelist_parent('content',@filelist)).to eq(location)
expect(@druid.find_filelist_parent('content', @filelist)).to eq(location)
end

it "finds a filelist in the leaf directory" do
location = Pathname(File.expand_path('..',@druid.path(nil,true)))
location = Pathname(File.expand_path('..', @druid.path(nil, true)))
@filelist.each do |filename|
location.join(filename).open('w') { |f| f.write "This is #{filename}" }
end
expect(@druid.find_filelist_parent('content',@filelist)).to eq(location)
expect(@druid.find_filelist_parent('content', @filelist)).to eq(location)
end

it "raises an exception if the first file in the filelist is not found" do
location = Pathname(@druid.content_dir)
expect{@druid.find_filelist_parent('content',@filelist)}.to raise_exception(/content dir not found for 'someFile1' when searching/)
expect{@druid.find_filelist_parent('content', @filelist)}.to raise_exception(/content dir not found for 'someFile1' when searching/)
end

it "raises an exception if any other file in the filelist is not found" do
location = Pathname(@druid.content_dir)
location.join(@filelist.first).open('w') { |f| f.write "This is #{@filelist.first}" }
expect{@druid.find_filelist_parent('content',@filelist)}.to raise_exception(/File 'someFile2' not found/)
expect{@druid.find_filelist_parent('content', @filelist)}.to raise_exception(/File 'someFile2' not found/)
end

end

describe "#mkdir error handling" do
it "raises SameContentExistsError if the directory already exists" do
druid_2 = DruidTools::Druid.new(@druid_2,@fixture_dir)
druid_2 = DruidTools::Druid.new(@druid_2, @fixture_dir)
druid_2.mkdir
expect { druid_2.mkdir }.to raise_error(DruidTools::SameContentExistsError)
end

it "raises DifferentContentExistsError if a link already exists in the workspace for this druid" do
source_dir = '/tmp/content_dir'
FileUtils.mkdir_p(source_dir)
dr = DruidTools::Druid.new(@druid_2,@fixture_dir)
dr = DruidTools::Druid.new(@druid_2, @fixture_dir)
dr.mkdir_with_final_link(source_dir)
expect { dr.mkdir }.to raise_error(DruidTools::DifferentContentExistsError)
end
Expand All @@ -230,7 +230,7 @@
before(:each) do
@source_dir = '/tmp/content_dir'
FileUtils.mkdir_p(@source_dir)
@dr = DruidTools::Druid.new(@druid_2,@fixture_dir)
@dr = DruidTools::Druid.new(@druid_2, @fixture_dir)
end

it "creates a druid tree in the workspace with the final directory being a link to the passed in source" do
Expand Down

0 comments on commit 5ceec3a

Please sign in to comment.