diff options
author | rautenberg <rautenberg@in-silico.ch> | 2013-08-13 10:13:30 +0200 |
---|---|---|
committer | rautenberg <rautenberg@in-silico.ch> | 2013-08-13 10:13:30 +0200 |
commit | 7e2a6be5444371a18ba5f7505b4069c5b11932fe (patch) | |
tree | 57d4312e5a683352b6583ad3100277216888f03f | |
parent | 2e732373d87f5bd5da472e5109bbfa9cc1105756 (diff) | |
parent | 2b4c56b33bd668a74f9af7490968703552a902c7 (diff) |
Merge branch 'development' of github.com:opentox/opentox-test into development
-rwxr-xr-x | bin/opentox-test-install | 2 | ||||
-rw-r--r-- | test/fminer.rb | 16 | ||||
-rw-r--r-- | test/task.rb | 46 |
3 files changed, 51 insertions, 13 deletions
diff --git a/bin/opentox-test-install b/bin/opentox-test-install index efe33e9..23e3a56 100755 --- a/bin/opentox-test-install +++ b/bin/opentox-test-install @@ -45,7 +45,7 @@ if [ "$OT_BRANCH" = "development" ]; then fi # Adjust ruby version here! -RUBY_NUM_VER="2.0.0-p0" +RUBY_NUM_VER="2.0.0-p247" # ruby install_ruby diff --git a/test/fminer.rb b/test/fminer.rb index 92eaf0c..be61add 100644 --- a/test/fminer.rb +++ b/test/fminer.rb @@ -2,9 +2,8 @@ require_relative "setup.rb" class FminerTest < MiniTest::Test - def test_fminer - - dataset = OpenTox::Dataset.new + def test_fminer_bbrc + dataset = OpenTox::Dataset.new dataset.upload File.join(DATA_DIR,"hamster_carcinogenicity.csv") assert_equal dataset.uri.uri?, true @@ -19,10 +18,19 @@ class FminerTest < MiniTest::Test match = OpenTox::Algorithm::Descriptor.smarts_match compounds, smarts compounds.each_with_index do |c,i| smarts.each_with_index do |s,j| - assert_equal match[c.uri][s], feature_dataset.data_entries[i][j].to_i + assert_equal match[c.uri][s], feature_dataset.data_entries[i][j].to_i end end + dataset.delete + feature_dataset.delete + end + + def test_fminer_last + dataset = OpenTox::Dataset.new + dataset.upload File.join(DATA_DIR,"hamster_carcinogenicity.csv") + assert_equal dataset.uri.uri?, true + dataset_uri = OpenTox::Algorithm::Fminer.last :dataset_uri => dataset.uri feature_dataset = OpenTox::Dataset.new dataset_uri assert_equal dataset_uri.uri?, true diff --git a/test/task.rb b/test/task.rb index 2696f1d..43262ed 100644 --- a/test/task.rb +++ b/test/task.rb @@ -22,7 +22,7 @@ class TaskTest < MiniTest::Test def test_01_create_and_complete task = OpenTox::Task.run __method__ do - sleep 1 + sleep 2 $task[:uri] end assert_equal true, task.running? @@ -80,7 +80,7 @@ class TaskTest < MiniTest::Test def test_05_create_and_fail_with_opentox_error task = OpenTox::Task.run __method__,"http://test.org/fake_creator" do - sleep 1 + sleep 2 raise OpenTox::Error.new 500, "An OpenTox::Error occured" end assert task.running? @@ -97,7 +97,7 @@ 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 1 + sleep 2 resource_not_found_error "An OpenTox::ResourceNotFoundError occured", "http://test.org/fake_creator" end assert task.running? @@ -148,7 +148,7 @@ class TaskTest < MiniTest::Test def test_09_check_resultURIs resulturi = "http://resulturi/test/1" task = OpenTox::Task.run __method__ do - sleep 1 + sleep 2 resulturi end assert_equal "Running", task.hasStatus @@ -172,11 +172,39 @@ class TaskTest < MiniTest::Test refute_match %r{username|password}, task.error_report[RDF::OT.actor] end + def test_11a_plain_errors + tests = [ { :uri=>File.join($dataset[:uri],'test/plain_error'), + :error=>OpenTox::BadRequestError, + :msg=>"plain_bad_request_error", + :line=>"16" }, + { :uri=>File.join($dataset[:uri],'test/plain_no_ot_error'), + :error=>OpenTox::InternalServerError, + :msg=>"undefined method `no_method_for_nil' for nil:NilClass", + :line=>"20" } ] + tests.each do |test| + begin + OpenTox::RestClientWrapper.get test[:uri] + assert false,"there should have been an error" + rescue => ex + assert ex.is_a?(test[:error]),"error type should be a #{test[:error]}, but is a #{ex.class}" + assert ex.message==test[:msg],"message should be #{test[:msg]}, but is #{ex.message}" + assert ex.error_cause=~/test.rb:#{test[:line]}/,"code line number test.rb:#{test[:line]} is lost or wrong: #{ex.error_cause}" + end + 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/,"orignial 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| @@ -190,15 +218,17 @@ class TaskTest < MiniTest::Test 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.message=~/error_in_task_message/,"orignial task error message ('error_in_task_message') is lost" + assert ex.is_a?(OpenTox::BadRequestError),"not a bad request error, instead: #{ex.class}" + check_msg(ex.message,ex.error_cause) end - # test2: test if task is set accordingly + ## test2: test if task is set accordingly assert task.error? - assert task.error_report[RDF::OT.message]=~/error_in_task_message/,"orignial task error message ('error_in_task_message') is lost" + assert task.error_report[RDF::OT.errorCode]==OpenTox::BadRequestError.to_s,"errorCode should be #{OpenTox::BadRequestError.to_s}, but is #{task.error_report[RDF::OT.errorCode]}" + check_msg(task.error_report[RDF::OT.message],task.error_report[RDF::OT.errorCause]) end end - + def test_12_non_runtime_errors [RuntimeError, ThreadError, StopIteration, LocalJumpError, EOFError, IOError, RegexpError, |