X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/92e0d49360dfdb6c0da4ec6904fa1cf33ba8c2fb..5716ec8e19573bd4cbae5c53a0d08e6757d5507d:/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 ee718e5621..3d378e740c 100644 --- a/sdk/cli/test/test_arv-get.rb +++ b/sdk/cli/test/test_arv-get.rb @@ -51,12 +51,64 @@ 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 false, @@foo_manifest_locator + '/foo', 'tmp/' + assert_arv_get @@foo_manifest_locator + '/foo', 'tmp/' end + assert_equal '', err assert_equal '', out - assert_match /^usage:/, err + assert_equal 'foo', IO.read('tmp/foo') end def test_dir_to_file @@ -75,6 +127,22 @@ class TestArvGet < Minitest::Test 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