X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/832486e363889d47adecf8ad898ab9d21384dca3..0561bd0c3c07257fd58ded6c7cfa5feeae97af57:/sdk/ruby/test/test_keep_manifest.rb?ds=sidebyside diff --git a/sdk/ruby/test/test_keep_manifest.rb b/sdk/ruby/test/test_keep_manifest.rb index 306d8b3816..71a24a28c0 100644 --- a/sdk/ruby/test/test_keep_manifest.rb +++ b/sdk/ruby/test/test_keep_manifest.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 + require "arvados/keep" require "minitest/autorun" require "sdk_fixtures" @@ -266,6 +270,8 @@ class ManifestTest < Minitest::Test [true, 'd41d8cd98f00b204e9800998ecf8427e+0', '+0','0',nil], [true, 'd41d8cd98f00b204e9800998ecf8427e+0+Fizz+Buzz','+0','0','+Fizz+Buzz'], [true, 'd41d8cd98f00b204e9800998ecf8427e+Fizz+Buzz', nil,nil,'+Fizz+Buzz'], + [true, 'd41d8cd98f00b204e9800998ecf8427e+0+Ad41d8cd98f00b204e9800998ecf8427e00000000+Foo', '+0','0','+Ad41d8cd98f00b204e9800998ecf8427e00000000+Foo'], + [true, 'd41d8cd98f00b204e9800998ecf8427e+Ad41d8cd98f00b204e9800998ecf8427e00000000+Foo', nil,nil,'+Ad41d8cd98f00b204e9800998ecf8427e00000000+Foo'], [true, 'd41d8cd98f00b204e9800998ecf8427e+0+Z', '+0','0','+Z'], [true, 'd41d8cd98f00b204e9800998ecf8427e+Z', nil,nil,'+Z'], ].each do |ok, locator, match2, match3, match4| @@ -278,9 +284,24 @@ class ManifestTest < Minitest::Test assert_equal match4, match[4] end end + define_method "test_parse_method_on_#{locator.inspect}" do + loc = Keep::Locator.parse locator + if !ok + assert_nil loc + else + refute_nil loc + assert loc.is_a?(Keep::Locator) + #assert loc.hash + #assert loc.size + #assert loc.hints.is_a?(Array) + end + end end [ + [false, nil, "No manifest found"], + [true, ""], + [false, " ", "Invalid manifest: does not end with newline"], [true, ". d41d8cd98f00b204e9800998ecf8427e 0:0:abc.txt\n"], [true, ". d41d8cd98f00b204e9800998ecf8427e+0 0:0:abc.txt\n"], [true, ". d41d8cd98f00b204e9800998ecf8427e a41d8cd98f00b204e9800998ecf8427e+0 0:0:abc.txt\n"], # 2 locators @@ -298,6 +319,7 @@ class ManifestTest < Minitest::Test [true, ". d41d8cd98f00b204e9800998ecf8427e+0 0:0:\\040\n"], [true, ". 00000000000000000000000000000000+0 0:0:0\n"], [true, ". 00000000000000000000000000000000+0 0:0:d41d8cd98f00b204e9800998ecf8427e+0+Ad41d8cd98f00b204e9800998ecf8427e00000000@ffffffff\n"], + [true, ". d41d8cd98f00b204e9800998ecf8427e+0+Ad41d8cd98f00b204e9800998ecf8427e00000000@ffffffff 0:0:empty.txt\n"], [false, '. d41d8cd98f00b204e9800998ecf8427e 0:0:abc.txt', "Invalid manifest: does not end with newline"], [false, "abc d41d8cd98f00b204e9800998ecf8427e 0:0:abc.txt\n",