Skip to content

Commit

Permalink
test: explicitly use { } markers for a hash-as-last-argument
Browse files Browse the repository at this point in the history
  • Loading branch information
doudou committed May 31, 2021
1 parent cc555df commit 85a347a
Showing 1 changed file with 21 additions and 14 deletions.
35 changes: 21 additions & 14 deletions test/datastore/dataset_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -173,13 +173,20 @@ def dataset_pathname(*names)
end

describe "#read_dataset_identity_from_metadata_file" do
def write_metadata(overrides = Hash.new, layout_version: Dataset::LAYOUT_VERSION)
metadata = Hash[
'path' => 'test',
'size' => 10,
'sha2' => Digest::SHA2.hexdigest('')].merge(overrides)
def write_metadata(
overrides = {}, layout_version: Dataset::LAYOUT_VERSION
)
metadata = {
"path" => "test",
"size" => 10,
"sha2" => Digest::SHA2.hexdigest("")
}.merge(overrides)

(dataset_path + Dataset::BASENAME_IDENTITY_METADATA).open('w') do |io|
io.write YAML.dump(Hash['layout_version' => layout_version, 'identity' => [metadata]])
io.write YAML.dump(
{ "layout_version" => layout_version,
"identity" => [metadata] }
)
end
metadata
end
Expand All @@ -191,23 +198,23 @@ def write_metadata(overrides = Hash.new, layout_version: Dataset::LAYOUT_VERSION
end
end
it "sets the entry's path to the file's absolute path" do
write_metadata('path' => 'test')
write_metadata({ 'path' => 'test' })
entry = dataset.read_dataset_identity_from_metadata_file.first
assert_equal (dataset_path + 'test'), entry.path
end
it "validates that the paths are within the dataset" do
write_metadata('path' => '../test')
write_metadata({ 'path' => '../test' })
assert_raises(Dataset::InvalidIdentityMetadata) do
dataset.read_dataset_identity_from_metadata_file
end
end
it "sets the entry's size" do
write_metadata('size' => 20)
write_metadata({ 'size' => 20 })
entry = dataset.read_dataset_identity_from_metadata_file.first
assert_equal 20, entry.size
end
it "sets the entry's size" do
write_metadata('sha2' => Digest::SHA2.hexdigest('test'))
write_metadata({ 'sha2' => Digest::SHA2.hexdigest('test') })
entry = dataset.read_dataset_identity_from_metadata_file.first
assert_equal Digest::SHA2.hexdigest('test'), entry.sha2
end
Expand All @@ -230,25 +237,25 @@ def write_metadata(overrides = Hash.new, layout_version: Dataset::LAYOUT_VERSION
assert_match /the 'identity' field.*is not an array/, e.message
end
it "validates that the 'path' field contains a string" do
write_metadata('path' => 10)
write_metadata({ 'path' => 10 })
assert_raises(Dataset::InvalidIdentityMetadata) do
dataset.read_dataset_identity_from_metadata_file
end
end
it "validates that the 'size' field is an integer" do
write_metadata('size' => 'not_a_number')
write_metadata({ 'size' => 'not_a_number' })
assert_raises(Dataset::InvalidIdentityMetadata) do
dataset.read_dataset_identity_from_metadata_file
end
end
it "validates that the 'sha2' field contains a string" do
write_metadata('sha2' => 10)
write_metadata({ 'sha2' => 10 })
assert_raises(Dataset::InvalidIdentityMetadata) do
dataset.read_dataset_identity_from_metadata_file
end
end
it "validates that the 'path' field contains a valid hash" do
write_metadata('sha2' => 'aerpojapoj')
write_metadata({ 'sha2' => 'aerpojapoj' })
assert_raises(Dataset::InvalidIdentityMetadata) do
dataset.read_dataset_identity_from_metadata_file
end
Expand Down

0 comments on commit 85a347a

Please sign in to comment.