From add6de8fa72a4b4704fdf5077600086a4f1a366d Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Thu, 16 Jul 2015 19:07:11 +0200 Subject: task tests working --- test/task.rb | 118 ++++++++++++++++++++--------------------------------------- 1 file changed, 39 insertions(+), 79 deletions(-) diff --git a/test/task.rb b/test/task.rb index fa81650..8ef37c7 100644 --- a/test/task.rb +++ b/test/task.rb @@ -22,19 +22,20 @@ class TaskTest < MiniTest::Test def test_01_create_and_complete task = OpenTox::Task.run __method__ do - sleep 5 - $task[:uri] + sleep 2 + "TEST" end assert_equal true, task.running? - assert_equal "Running", task.hasStatus + assert_equal "Running", task.status assert_equal 202, task.code task.wait assert_equal 200, task.code assert_equal true, task.completed? - assert_equal "Completed", task.hasStatus - assert_equal $task[:uri], task.resultURI - refute_empty task.created_at - refute_empty task.finished_at + assert_equal "Completed", task.status + assert_equal "TEST", task.result + refute_empty task.created_at.to_s + refute_empty task.finished_at.to_s + assert true, task.finished_at > task.created_at end def test_02_all @@ -47,7 +48,7 @@ class TaskTest < MiniTest::Test def test_03_create_and_cancel task = OpenTox::Task.run __method__ do - sleep 5 + sleep 2 $task[:uri] end assert_equal true, task.running? @@ -61,35 +62,38 @@ class TaskTest < MiniTest::Test def test_04_create_and_fail task = OpenTox::Task.run __method__,"http://test.org/fake_creator" do - sleep 5 + sleep 2 raise "A runtime error occured" end assert_equal true, task.running? - assert_equal "Running", task.hasStatus + assert_equal "Running", task.status assert_equal 202, task.code task.wait assert task.error? assert_equal 500, task.code - assert_equal "Error", task.hasStatus + assert_equal "Error", task.status assert_equal "A runtime error occured", task.error_report["message"] assert_equal 500, task.error_report["statusCode"] refute_empty task.error_report["errorCause"] - refute_empty task.created_at - refute_empty task.finished_at + p task.created_at + p task.finished_at + assert true, task.created_at < task.finished_at + refute_empty task.created_at.to_s + refute_empty task.finished_at.to_s end def test_05_create_and_fail_with_opentox_error task = OpenTox::Task.run __method__,"http://test.org/fake_creator" do - sleep 5 + sleep 2 raise OpenTox::Error.new 500, "An OpenTox::Error occured" end assert task.running? - assert_equal "Running", task.hasStatus + assert_equal "Running", task.status assert_equal 202, task.code task.wait assert task.error? assert_equal 500, task.code - assert_equal "Error", task.hasStatus + assert_equal "Error", task.status assert_equal "An OpenTox::Error occured", task.error_report["message"] assert_equal 500, task.error_report["statusCode"] refute_empty task.error_report["errorCause"] @@ -97,16 +101,16 @@ class TaskTest < MiniTest::Test def test_06_create_and_fail_with_not_found_error task = OpenTox::Task.run __method__,"http://test.org/fake_creator" do - sleep 5 + sleep 2 resource_not_found_error "An OpenTox::ResourceNotFoundError occured", "http://test.org/fake_creator" end assert task.running? - assert_equal "Running", task.hasStatus + assert_equal "Running", task.status assert_equal 202, task.code task.wait assert task.error? assert_equal 404, task.code - assert_equal "Error", task.hasStatus + assert_equal "Error", task.status assert_equal "An OpenTox::ResourceNotFoundError occured", task.error_report["message"] assert_equal "OpenTox::ResourceNotFoundError", task.error_report["errorCode"] refute_empty task.error_report["errorCause"] @@ -115,52 +119,48 @@ class TaskTest < MiniTest::Test def test_07_create_and_fail_with_rest_not_found_error task = OpenTox::Task.run __method__,"http://test.org/fake_creator" do - sleep 5 + sleep 2 OpenTox::Feature.new.get end assert task.running? - assert_equal "Running", task.hasStatus + assert_equal "Running", task.status assert_equal 202, task.code task.wait assert task.error? assert_equal 404, task.code - assert_equal "Error", task.hasStatus + assert_equal "Error", task.status refute_empty task.error_report["errorCause"] assert_equal 404, task.error_report["statusCode"] end def test_08_create_and_fail_with_restclientwrapper_error task = OpenTox::Task.run __method__,"http://test.org/fake_creator" do - sleep 5 + sleep 2 OpenTox::RestClientWrapper.get "invalid uri" end assert task.running? - assert_equal "Running", task.hasStatus, "Expected Task Running has status: #{task.hasStatus} - #{task.uri}" + assert_equal "Running", task.status, "Expected Task Running has status: #{task.status} - #{task.id}" assert_equal 202, task.code task.wait assert task.error? assert_equal 400, task.code - assert_equal "Error", task.hasStatus + assert_equal "Error", task.status refute_empty task.error_report["errorCause"] assert_equal 400, task.error_report["statusCode"] end - def test_09_check_resultURIs + def test_09_check_results resulturi = "http://resulturi/test/1" task = OpenTox::Task.run __method__ do - sleep 5 + sleep 2 resulturi end - assert_equal "Running", task.hasStatus - response = OpenTox::RestClientWrapper.get task.uri,nil, {:accept => "text/uri-list"} - assert_equal 202, response.code - assert_equal task.uri, response - assert_equal nil, task.resultURI + assert_equal "Running", task.status + assert_equal 202, task.code + assert_equal nil, task.result task.wait - response = OpenTox::RestClientWrapper.get task.uri,nil, {:accept => "text/uri-list"} - assert_equal 200, response.code - assert_equal resulturi, response - assert_equal resulturi, task.resultURI + assert_equal 200, task.code + assert_equal resulturi, task.result end def test_10_uri_with_credentials @@ -195,44 +195,6 @@ class TaskTest < MiniTest::Test end end - def test_11_wait_for_error_task - # testing two uris: - # ../dataset/test/error_in_task starts a task that produces an internal-error with message 'error_in_task_message' - # ../algorithm/test/wait_for_error_in_task starts a task that waits for ../dataset/test/error_in_task - # TODO: remove test uris from services, e.g. dynamically instantiate Sinatra routes instead - - def check_msg(msg,complete) - assert msg=~/bad_request_error_in_task/,"original task error message ('bad_request_error_in_task') is lost: #{msg}" - assert((msg=~/\\/)==nil,"no backslashes please!") - assert complete=~/test.rb:9/,"code line number test.rb:9 is lost" - end - - [ File.join($dataset[:uri],'test/error_in_task'), - File.join($algorithm[:uri],'test/wait_for_error_in_task') - ].each do |uri| - - task_uri = OpenTox::RestClientWrapper.post uri - assert(URI.task?(task_uri) ,"no task uri: #{task_uri}") - task = OpenTox::Task.new task_uri - - # test1: wait_for_task, this should abort - begin - wait_for_task task_uri - assert false,"should have thrown an error because there was an error in the task we have waited for" - rescue => ex - assert ex.is_a?(OpenTox::BadRequestError),"not a bad request error, instead: #{ex.class}" - p ex - p ex.message - p ex.error_cause - check_msg(ex.message,ex.error_cause) - end - - ## test2: test if task is set accordingly - assert task.error? - assert task.error_report["errorCode"]==OpenTox::BadRequestError.to_s,"errorCode should be #{OpenTox::BadRequestError.to_s}, but is #{task.error_report["errorCode"]}" - check_msg(task.error_report["message"],task.error_report["errorCause"]) - end - end def test_12_non_runtime_errors @@ -243,22 +205,20 @@ class TaskTest < MiniTest::Test error_msg = "raising a #{ex}" task = OpenTox::Task.run __method__,"http://test.org/fake_creator" do - sleep 5 + sleep 2 raise ex,error_msg end assert task.running? - assert_equal "Running", task.hasStatus + assert_equal "Running", task.status assert_equal 202, task.code task.wait assert task.error? assert_equal 500, task.code - assert_equal "Error", task.hasStatus + assert_equal "Error", task.status refute_empty task.error_report["errorCause"] assert_match error_msg,task.error_report["message"] end end -=begin -=end end -- cgit v1.2.3