X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/00c2e9b28c1228b2ba327223d5576d44e4fdae4d..9f1ce358ac564abf62965cccf2bf3afa3bcfef95:/apps/workbench/test/integration/collection_upload_test.rb diff --git a/apps/workbench/test/integration/collection_upload_test.rb b/apps/workbench/test/integration/collection_upload_test.rb index 6960d3bc89..903df90fb4 100644 --- a/apps/workbench/test/integration/collection_upload_test.rb +++ b/apps/workbench/test/integration/collection_upload_test.rb @@ -7,9 +7,19 @@ class CollectionUploadTest < ActionDispatch::IntegrationTest io.write content end end + # Database reset doesn't restore KeepServices; we have to + # save/restore manually. + use_token :admin do + @keep_services = KeepService.all.to_a + end end teardown do + use_token :admin do + @keep_services.each do |ks| + KeepService.find(ks.uuid).update_attributes(ks.attributes) + end + end testfiles.each do |filename, _| File.unlink(testfile_path filename) end @@ -28,13 +38,6 @@ class CollectionUploadTest < ActionDispatch::IntegrationTest assert_selector 'div#Upload.active div.panel' end - test "No Upload tab on non-writable collection" do - need_javascript - visit(page_with_token 'active', - '/collections/'+api_fixture('collections')['user_agreement']['uuid']) - assert_no_selector '.nav-tabs Upload' - end - test "Upload two empty files with the same name" do need_selenium "to make file uploads work" visit page_with_token 'active', sandbox_path @@ -49,7 +52,7 @@ class CollectionUploadTest < ActionDispatch::IntegrationTest assert_match /_text":"\. d41d8\S+ 0:0:empty.txt\\n\. d41d8\S+ 0:0:empty\\\\040\(1\).txt\\n"/, body end - test "Upload non-empty files, report errors" do + test "Upload non-empty files" do need_selenium "to make file uploads work" visit page_with_token 'active', sandbox_path find('.nav-tabs a', text: 'Upload').click @@ -57,24 +60,17 @@ class CollectionUploadTest < ActionDispatch::IntegrationTest attach_file 'file_selector', testfile_path('foo.txt') assert_selector 'button:not([disabled])', text: 'Start' click_button 'Start' - if "test environment does not have a keepproxy yet, see #4534" != "fixed" - using_wait_time 20 do - assert_text :visible, 'error' - end - else - assert_text :visible, 'Done!' - visit sandbox_path+'.json' - assert_match /_text":"\. 0cc1\S+ 0:1:a\\n\. acbd\S+ 0:3:foo.txt\\n"/, body - end + assert_text :visible, 'Done!' + visit sandbox_path+'.json' + assert_match /_text":"\. 0cc1\S+ 0:1:a\\n\. acbd\S+ 0:3:foo.txt\\n"/, body end test "Report mixed-content error" do skip 'Test suite does not use TLS' need_selenium "to make file uploads work" - begin - use_token :admin - proxy = KeepService.find(api_fixture('keep_services')['proxy']['uuid']) - proxy.update_attributes service_ssl_flag: false + use_token :admin do + KeepService.where(service_type: 'proxy').first. + update_attributes(service_ssl_flag: false) end visit page_with_token 'active', sandbox_path find('.nav-tabs a', text: 'Upload').click @@ -89,11 +85,12 @@ class CollectionUploadTest < ActionDispatch::IntegrationTest test "Report network error" do need_selenium "to make file uploads work" - begin - use_token :admin - proxy = KeepService.find(api_fixture('keep_services')['proxy']['uuid']) - # Even if you somehow do port>2^16, surely nx.example.net won't respond - proxy.update_attributes service_host: 'nx.example.net', service_port: 99999 + use_token :admin do + # Even if you somehow do port>2^16, surely nx.example.net won't + # respond + KeepService.where(service_type: 'proxy').first. + update_attributes(service_host: 'nx.example.net', + service_port: 99999) end visit page_with_token 'active', sandbox_path find('.nav-tabs a', text: 'Upload').click