X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/874caf1575eb9936b012c2130979f64c817312d5..383aa9f906c32876a71599024084283627070adb:/sdk/cli/test/test_arv-get.rb diff --git a/sdk/cli/test/test_arv-get.rb b/sdk/cli/test/test_arv-get.rb index 1cc64b6db6..3d378e740c 100644 --- a/sdk/cli/test/test_arv-get.rb +++ b/sdk/cli/test/test_arv-get.rb @@ -51,6 +51,98 @@ class TestArvGet < Minitest::Test assert_equal 'foo', IO.read('tmp/foo') end + def test_file_to_file_no_overwrite_file + File.open './tmp/foo', 'wb' do |f| + f.write 'baz' + end + out, err = capture_subprocess_io do + assert_arv_get false, @@foo_manifest_locator + '/foo', 'tmp/foo' + end + assert_match /^ERROR:/, err + assert_equal '', out + assert_equal 'baz', IO.read('tmp/foo') + end + + def test_file_to_file_no_overwrite_file_in_dir + File.open './tmp/foo', 'wb' do |f| + f.write 'baz' + end + out, err = capture_subprocess_io do + assert_arv_get false, @@foo_manifest_locator + '/', 'tmp/' + end + assert_match /^ERROR:/, err + assert_equal '', out + assert_equal 'baz', IO.read('tmp/foo') + end + + def test_file_to_file_force_overwrite + File.open './tmp/foo', 'wb' do |f| + f.write 'baz' + end + assert_equal 'baz', IO.read('tmp/foo') + out, err = capture_subprocess_io do + assert_arv_get '-f', @@foo_manifest_locator + '/', 'tmp/' + end + assert_match '', err + assert_equal '', out + assert_equal 'foo', IO.read('tmp/foo') + end + + def test_file_to_file_skip_existing + File.open './tmp/foo', 'wb' do |f| + f.write 'baz' + end + assert_equal 'baz', IO.read('tmp/foo') + out, err = capture_subprocess_io do + assert_arv_get '--skip-existing', @@foo_manifest_locator + '/', 'tmp/' + end + assert_match '', err + assert_equal '', out + assert_equal 'baz', IO.read('tmp/foo') + end + + def test_file_to_dir + remove_tmp_foo + out, err = capture_subprocess_io do + assert_arv_get @@foo_manifest_locator + '/foo', 'tmp/' + end + assert_equal '', err + assert_equal '', out + assert_equal 'foo', IO.read('tmp/foo') + end + + def test_dir_to_file + out, err = capture_subprocess_io do + assert_arv_get false, @@foo_manifest_locator + '/', 'tmp/foo' + end + assert_equal '', out + assert_match /^usage:/, err + end + + def test_dir_to_empty_string + out, err = capture_subprocess_io do + assert_arv_get false, @@foo_manifest_locator + '/', '' + end + assert_equal '', out + assert_match /^usage:/, err + end + + def test_nonexistent_block + out, err = capture_subprocess_io do + assert_arv_get false, 'f1554a91e925d6213ce7c3103c5110c6' + end + assert_equal '', out + assert_match /^ERROR:/, err + end + + def test_nonexistent_manifest + out, err = capture_subprocess_io do + assert_arv_get false, 'f1554a91e925d6213ce7c3103c5110c6/', 'tmp/' + end + assert_equal '', out + assert_match /^ERROR:/, err + end + def test_manifest_root_to_dir remove_tmp_foo out, err = capture_subprocess_io do @@ -61,6 +153,16 @@ class TestArvGet < Minitest::Test assert_equal 'foo', IO.read('tmp/foo') end + def test_manifest_root_to_dir_noslash + remove_tmp_foo + out, err = capture_subprocess_io do + assert_arv_get '-r', @@foo_manifest_locator + '/', 'tmp' + end + assert_equal '', err + assert_equal '', out + assert_equal 'foo', IO.read('tmp/foo') + end + def test_display_md5sum remove_tmp_foo out, err = capture_subprocess_io do