summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormr <mr@mrautenberg.de>2011-01-04 14:32:28 +0100
committermr <mr@mrautenberg.de>2011-01-04 14:32:28 +0100
commit7092d168aca6adb437500ed6113bf35eab9500b6 (patch)
tree15de4c906a5ec5d3930ea284668272248aa75405
parent5598135cbd2e9f4d0ac203f85069dea0468fda4d (diff)
A&A added
-rw-r--r--Rakefile15
-rw-r--r--algorithm.rb3
-rw-r--r--authorization.rb58
-rw-r--r--dataset.rb43
-rw-r--r--feature.rb2
-rw-r--r--fminer.rb16
-rw-r--r--lazar.rb35
-rw-r--r--validate-owl.rb6
8 files changed, 90 insertions, 88 deletions
diff --git a/Rakefile b/Rakefile
index d8026a6..01050c8 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,22 +1,27 @@
require 'rubygems'
require 'opentox-ruby'
+TEST_USER = "guest"
+TEST_PW = "guest"
+
task ARGV[0] do
puts ARGV[0]+".rb"
require "./"+ARGV[0]+".rb"
end
task :setup do
- @@classification_training_dataset = OpenTox::Dataset.create_from_csv_file("data/hamster_carcinogenicity.csv")
- @@regression_training_dataset = OpenTox::Dataset.create_from_csv_file("data/EPAFHM.csv")
+ @@subjectid = OpenTox::Authorization.authenticate(TEST_USER,TEST_PW)
+ @@classification_training_dataset = OpenTox::Dataset.create_from_csv_file("data/hamster_carcinogenicity.csv", @@subjectid)
+ @@regression_training_dataset = OpenTox::Dataset.create_from_csv_file("data/EPAFHM.csv", @@subjectid)
end
task :teardown do
- @@classification_training_dataset.delete
- @@regression_training_dataset.delete
+ @@classification_training_dataset.delete(@@subjectid)
+ @@regression_training_dataset.delete(@@subjectid)
+ OpenTox::Authorization.logout(@@subjectid)
end
-[:all, :feature, :dataset, :fminer, :lazar].each do |t|
+[:all, :feature, :dataset, :fminer, :lazar, :authorization].each do |t|
task :teardown => t
task t => :setup
end
diff --git a/algorithm.rb b/algorithm.rb
index a5f35d1..db6fdec 100644
--- a/algorithm.rb
+++ b/algorithm.rb
@@ -6,6 +6,7 @@ require "./validate-owl.rb"
class AlgorithmTest < Test::Unit::TestCase
def setup
+ @@subjectid = OpenTox::Authorization.authenticate(TEST_USER,TEST_PW)
@algorithms = [
File.join(CONFIG[:services]["opentox-algorithm"],"fminer","bbrc"),
File.join(CONFIG[:services]["opentox-algorithm"],"fminer","last"),
@@ -20,7 +21,7 @@ class AlgorithmTest < Test::Unit::TestCase
def test_metadata
@algorithms.each do |algorithm|
puts algorithm
- validate_owl(algorithm)
+ validate_owl(algorithm, @@subjectid)
end
end
diff --git a/authorization.rb b/authorization.rb
index b12ae49..3772638 100644
--- a/authorization.rb
+++ b/authorization.rb
@@ -1,9 +1,7 @@
require "rubygems"
-require "opentox-ruby-api-wrapper"
+require "opentox-ruby"
require "test/unit"
-TEST_USER = "guest"
-TEST_PW = "guest"
TEST_URI = "http://only_a_test/test/" + rand(1000000).to_s
class TestOpenToxAuthorizationBasic < Test::Unit::TestCase
@@ -14,9 +12,7 @@ class TestOpenToxAuthorizationBasic < Test::Unit::TestCase
end
def test_02_get_token
- tok = login
- assert_not_nil tok
- logout(tok)
+ assert_not_nil @@subjectid
end
def test_03_is_valid_token
@@ -32,9 +28,7 @@ class TestOpenToxAuthorizationBasic < Test::Unit::TestCase
end
def test_05_list_policies
- tok = login
- assert_kind_of Array, OpenTox::Authorization.list_policies(tok)
- logout(tok)
+ assert_kind_of Array, OpenTox::Authorization.list_policies(@@subjectid)
end
end
@@ -42,21 +36,15 @@ end
class TestOpenToxAuthorizationLDAP < Test::Unit::TestCase
def test_01_list_groups
- tok = login
- assert_kind_of Array, OpenTox::Authorization.list_groups(tok)
- logout(tok)
+ assert_kind_of Array, OpenTox::Authorization.list_groups(@@subjectid)
end
def test_02_list_user_groups
- tok = login
- assert_kind_of Array, OpenTox::Authorization.list_groups(tok)
- logout(tok)
+ assert_kind_of Array, OpenTox::Authorization.list_groups(@@subjectid)
end
def test_03_get_user
- tok = login
- assert_equal TEST_USER, OpenTox::Authorization.get_user(tok)
- logout(tok)
+ assert_equal TEST_USER, OpenTox::Authorization.get_user(@@subjectid)
end
end
@@ -64,43 +52,49 @@ end
class TestOpenToxAuthorizationLDAP < Test::Unit::TestCase
def test_01_create_check_delete_default_policies
- tok = login
- res = OpenTox::Authorization.send_policy(TEST_URI, tok)
+ res = OpenTox::Authorization.send_policy(TEST_URI, @@subjectid)
assert res
- assert OpenTox::Authorization.uri_has_policy(TEST_URI, tok)
- policies = OpenTox::Authorization.list_uri_policies(TEST_URI, tok)
+ assert OpenTox::Authorization.uri_has_policy(TEST_URI, @@subjectid)
+ policies = OpenTox::Authorization.list_uri_policies(TEST_URI, @@subjectid)
assert_kind_of Array, policies
policies.each do |policy|
- assert OpenTox::Authorization.delete_policy(policy, tok)
+ assert OpenTox::Authorization.delete_policy(policy, @@subjectid)
end
- logout(tok)
end
def test_02_check_policy_rules
- tok = login
tok_anonymous = OpenTox::Authorization.authenticate("anonymous","anonymous")
assert_not_nil tok_anonymous
- res = OpenTox::Authorization.send_policy(TEST_URI, tok)
+ res = OpenTox::Authorization.send_policy(TEST_URI, @@subjectid)
assert res
- assert OpenTox::Authorization.uri_has_policy(TEST_URI, tok)
+ assert OpenTox::Authorization.uri_has_policy(TEST_URI, @@subjectid)
owner_rights = {"GET" => true, "POST" => true, "PUT" => true, "DELETE" => true}
groupmember_rights = {"GET" => true, "POST" => nil, "PUT" => nil, "DELETE" => nil}
owner_rights.each do |request, right|
- assert_equal right, OpenTox::Authorization.authorize(TEST_URI, request, tok), "#{TEST_USER} requests #{request} to #{TEST_URI}"
+ assert_equal right, OpenTox::Authorization.authorize(TEST_URI, request, @@subjectid), "#{TEST_USER} requests #{request} to #{TEST_URI}"
end
groupmember_rights.each do |request, r|
assert_equal r, OpenTox::Authorization.authorize(TEST_URI, request, tok_anonymous), "anonymous requests #{request} to #{TEST_URI}"
end
- policies = OpenTox::Authorization.list_uri_policies(TEST_URI, tok)
+ policies = OpenTox::Authorization.list_uri_policies(TEST_URI, @@subjectid)
assert_kind_of Array, policies
policies.each do |policy|
- assert OpenTox::Authorization.delete_policy(policy, tok)
+ assert OpenTox::Authorization.delete_policy(policy, @@subjectid)
end
- logout(tok)
+ logout(tok_anonymous)
end
-
+ def test_03_check_different_uris
+ res = OpenTox::Authorization.send_policy(TEST_URI, @@subjectid)
+ assert OpenTox::Authorization.uri_has_policy(TEST_URI, @@subjectid)
+ assert OpenTox::Authorization.authorize(TEST_URI, "GET", @@subjectid), "GET request"
+ policies = OpenTox::Authorization.list_uri_policies(TEST_URI, @@subjectid)
+ policies.each do |policy|
+ assert OpenTox::Authorization.delete_policy(policy, @@subjectid)
+ end
+
+ end
end
diff --git a/dataset.rb b/dataset.rb
index 9cf8e63..cc8f50e 100644
--- a/dataset.rb
+++ b/dataset.rb
@@ -32,7 +32,7 @@ class DatasetTest < Test::Unit::TestCase
@dataset = OpenTox::Dataset.find "http://apps.ideaconsult.net:8080/ambit2/dataset/2698"
#File.open("test.rdf","w+"){|f| f.puts @dataset.to_rdfxml}
@dataset.uri = "http://apps.ideaconsult.net:8080/ambit2/dataset"
- uri = @dataset.save
+ uri = @dataset.save(@@subjectid)
puts uri
#@dataset.load_csv(File.open("data/hamster_carcinogenicity.csv").read)
#@dataset.save
@@ -40,14 +40,14 @@ class DatasetTest < Test::Unit::TestCase
=end
def test_create
- dataset = OpenTox::Dataset.create
- dataset.save
+ dataset = OpenTox::Dataset.create(CONFIG[:services]["opentox-dataset"], @@subjectid)
+ dataset.save(@@subjectid)
assert_kind_of URI::HTTP, URI.parse(dataset.uri)
- dataset.delete
+ dataset.delete(@@subjectid)
end
def test_all
- datasets = OpenTox::Dataset.all
+ datasets = OpenTox::Dataset.all(CONFIG[:services]["opentox-dataset"], @@subjectid)
assert_kind_of Array, datasets
end
@@ -65,37 +65,38 @@ class DatasetTest < Test::Unit::TestCase
end
def test_rest_csv
- uri = OpenTox::RestClientWrapper.post(CONFIG[:services]["opentox-dataset"],{:accept => "text/uri-list"}, {:file => File.new("data/hamster_carcinogenicity.csv")}).to_s.chomp
+ uri = OpenTox::RestClientWrapper.post(CONFIG[:services]["opentox-dataset"],{:accept => "text/uri-list"}, {:file => File.new("data/hamster_carcinogenicity.csv"), :subjectid => @@subjectid}).to_s.chomp
@dataset = OpenTox::Dataset.new uri
- @dataset.load_all
+ @dataset.load_all(@@subjectid)
hamster_carc?
end
def test_multicolumn_csv
- uri = OpenTox::RestClientWrapper.post(CONFIG[:services]["opentox-dataset"],{:accept => "text/uri-list"}, {:file => File.new("data/multicolumn.csv")}).to_s.chomp
+ uri = OpenTox::RestClientWrapper.post(CONFIG[:services]["opentox-dataset"],{:accept => "text/uri-list"}, {:file => File.new("data/multicolumn.csv"), :subjectid => @@subjectid}).to_s.chomp
@dataset = OpenTox::Dataset.new uri
- @dataset.load_all
+ @dataset.load_all(@@subjectid)
assert_equal 5, @dataset.features.size
assert_equal 4, @dataset.compounds.size
+
end
def test_from_csv
@dataset = OpenTox::Dataset.new
- @dataset.load_csv(File.open("data/hamster_carcinogenicity.csv").read)
+ @dataset.load_csv(File.open("data/hamster_carcinogenicity.csv").read, @@subjectid)
hamster_carc?
- @dataset.delete
+ @dataset.delete(@@subjectid)
end
def test_from_excel
@dataset = OpenTox::Dataset.new
- @dataset.load_spreadsheet(Excel.new("data/hamster_carcinogenicity.xls"))
+ @dataset.load_spreadsheet(Excel.new("data/hamster_carcinogenicity.xls"), @@subjectid)
hamster_carc?
- @dataset.delete
+ @dataset.delete(@@subjectid)
end
def test_load_metadata
@datasets.each do |uri,data|
- @dataset = OpenTox::Dataset.find(uri)
+ @dataset = OpenTox::Dataset.find(uri, @@subjectid)
assert @dataset.metadata.size != 0
end
end
@@ -103,7 +104,7 @@ class DatasetTest < Test::Unit::TestCase
def test_load_compounds
@datasets.each do |uri,data|
@dataset = OpenTox::Dataset.new(uri)
- @dataset.load_compounds
+ @dataset.load_compounds(@@subjectid)
assert_equal @dataset.compounds.size,data[:nr_compounds]
end
end
@@ -119,7 +120,7 @@ class DatasetTest < Test::Unit::TestCase
def test_load_all
@datasets.each do |uri,data|
@dataset = OpenTox::Dataset.new(uri)
- @dataset.load_all
+ @dataset.load_all(@@subjectid)
validate data
end
end
@@ -127,7 +128,7 @@ class DatasetTest < Test::Unit::TestCase
def test_yaml
@datasets.each do |uri,data|
@dataset = OpenTox::Dataset.new(uri)
- @dataset.load_all
+ @dataset.load_all(@@subjectid)
#@dataset = YAML.load @dataset.to_yaml
validate data
end
@@ -136,7 +137,7 @@ class DatasetTest < Test::Unit::TestCase
def test_csv
@datasets.each do |uri,data|
@dataset = OpenTox::Dataset.new(uri)
- @dataset.load_all
+ @dataset.load_all(@@subjectid)
csv = @dataset.to_csv.split("\n")
assert_equal csv.size, data[:nr_compounds]+1
assert_equal csv.first.split(", ").size, data[:nr_dataset_features]+1
@@ -146,7 +147,7 @@ class DatasetTest < Test::Unit::TestCase
def test_excel
@datasets.each do |uri,data|
@dataset = OpenTox::Dataset.new(uri)
- @dataset.load_all
+ @dataset.load_all(@@subjectid)
book = @dataset.to_spreadsheet
assert_kind_of Spreadsheet::Workbook, book
#File.open("#{@dataset.id}.xls","w+"){|f| book.write f.path}
@@ -156,7 +157,7 @@ class DatasetTest < Test::Unit::TestCase
def test_ntriples
@datasets.each do |uri,data|
@dataset = OpenTox::Dataset.new(uri)
- @dataset.load_all
+ @dataset.load_all(@@subjectid)
assert_kind_of String, @dataset.to_ntriples
end
end
@@ -164,7 +165,7 @@ class DatasetTest < Test::Unit::TestCase
def test_owl
@datasets.each do |uri,data|
@dataset = OpenTox::Dataset.new(uri)
- @dataset.load_all
+ @dataset.load_all(@@subjectid)
assert_kind_of String, @dataset.to_rdfxml
end
end
diff --git a/feature.rb b/feature.rb
index 9a9d9ab..7ed600c 100644
--- a/feature.rb
+++ b/feature.rb
@@ -25,7 +25,7 @@ class FeatureTest < Test::Unit::TestCase
def test_owl
#@features.each do |uri|
- validate_owl @features.first
+ validate_owl @features.first, @@subjectid
# Ambit does not validate
#end
end
diff --git a/fminer.rb b/fminer.rb
index 3b22c64..c52f78c 100644
--- a/fminer.rb
+++ b/fminer.rb
@@ -9,40 +9,40 @@ class FminerTest < Test::Unit::TestCase
=end
def test_bbrc
feature = @@classification_training_dataset.features.keys.first
- dataset_uri = OpenTox::Algorithm::Fminer::BBRC.new.run({:dataset_uri => @@classification_training_dataset.uri, :prediction_feature => feature}).to_s
+ dataset_uri = OpenTox::Algorithm::Fminer::BBRC.new.run({:dataset_uri => @@classification_training_dataset.uri, :prediction_feature => feature, :subjectid => @@subjectid}).to_s
d =OpenTox::Dataset.new dataset_uri
d.load_features
assert_equal 41, d.features.size
#validate_owl
- d.delete
+ d.delete(@@subjectid)
end
def test_last
feature = @@classification_training_dataset.features.keys.first
- dataset_uri = OpenTox::Algorithm::Fminer::LAST.new.run({:dataset_uri => @@classification_training_dataset.uri, :prediction_feature => feature}).to_s
+ dataset_uri = OpenTox::Algorithm::Fminer::LAST.new.run({:dataset_uri => @@classification_training_dataset.uri, :prediction_feature => feature, :subjectid => @@subjectid}).to_s
d =OpenTox::Dataset.new dataset_uri
d.load_features
assert_equal 35, d.features.size
#validate_owl
- d.delete
+ d.delete(@@subjectid)
end
def test_regression_bbrc
feature = File.join @@regression_training_dataset.uri,"feature/LC50_mmol"
- dataset_uri = OpenTox::Algorithm::Fminer::BBRC.new.run({:dataset_uri => @@regression_training_dataset.uri, :prediction_feature => feature}).to_s
+ dataset_uri = OpenTox::Algorithm::Fminer::BBRC.new.run({:dataset_uri => @@regression_training_dataset.uri, :prediction_feature => feature, :subjectid => @@subjectid}).to_s
d =OpenTox::Dataset.new dataset_uri
d.load_features
assert_equal 222, d.features.size
- d.delete
+ d.delete(@@subjectid)
end
def test_regression_last
feature = File.join @@regression_training_dataset.uri,"feature/LC50_mmol"
- dataset_uri = OpenTox::Algorithm::Fminer::LAST.new.run({:dataset_uri => @@regression_training_dataset.uri, :prediction_feature => feature}).to_s
+ dataset_uri = OpenTox::Algorithm::Fminer::LAST.new.run({:dataset_uri => @@regression_training_dataset.uri, :prediction_feature => feature, :subjectid => @@subjectid}).to_s
d =OpenTox::Dataset.new dataset_uri
d.load_features
assert_equal 16, d.features.size
- d.delete
+ d.delete(@@subjectid)
end
=begin
=end
diff --git a/lazar.rb b/lazar.rb
index e3c6908..440d50c 100644
--- a/lazar.rb
+++ b/lazar.rb
@@ -7,48 +7,49 @@ class LazarTest < Test::Unit::TestCase
=begin
=end
def test_create_regression_model
- model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => @@regression_training_dataset.uri}).to_s
- lazar = OpenTox::Model::Lazar.find model_uri
+ model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => @@regression_training_dataset.uri, :subjectid => @@subjectid}).to_s
+ lazar = OpenTox::Model::Lazar.find model_uri, @@subjectid
assert_equal lazar.features.size, 222
compound = OpenTox::Compound.from_smiles("c1ccccc1NN")
- prediction_uri = lazar.run(:compound_uri => compound.uri)
- prediction = OpenTox::LazarPrediction.find(prediction_uri)
+ prediction_uri = lazar.run(:compound_uri => compound.uri, :subjectid => @@subjectid)
+ prediction = OpenTox::LazarPrediction.find(prediction_uri, @@subjectid)
assert_equal prediction.value(compound), 0.149480050002539
assert_equal prediction.confidence(compound), 0.615246530364447
assert_equal prediction.neighbors(compound).size, 81
- prediction.delete
- lazar.delete
+ prediction.delete(@@subjectid)
+ lazar.delete(@@subjectid)
end
def test_default_classification_model
# create model
- model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => @@classification_training_dataset.uri}).to_s
- lazar = OpenTox::Model::Lazar.find model_uri
+ model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => @@classification_training_dataset.uri, :subjectid => @@subjectid}).to_s
+ lazar = OpenTox::Model::Lazar.find model_uri, @@subjectid
assert_equal lazar.features.size, 41
# single prediction
compound = OpenTox::Compound.from_smiles("c1ccccc1NN")
- prediction_uri = lazar.run(:compound_uri => compound.uri)
- prediction = OpenTox::LazarPrediction.find(prediction_uri)
+ prediction_uri = lazar.run(:compound_uri => compound.uri, :subjectid => @@subjectid)
+ prediction = OpenTox::LazarPrediction.find(prediction_uri, @@subjectid)
assert_equal prediction.value(compound), false
assert_equal prediction.confidence(compound), 0.25857114104619
assert_equal prediction.neighbors(compound).size, 15
- prediction.delete
+ prediction.delete(@@subjectid)
# dataset activity
compound = OpenTox::Compound.from_smiles("CNN")
- prediction = OpenTox::LazarPrediction.find lazar.run(:compound_uri => compound.uri)
+ prediction_uri = lazar.run(:compound_uri => compound.uri, :subjectid => @@subjectid)
+ prediction = OpenTox::LazarPrediction.find prediction_uri, @@subjectid
assert !prediction.measured_activities(compound).empty?
puts prediction.measured_activities(compound).first.inspect
assert_equal prediction.measured_activities(compound).first, true
assert prediction.value(compound).nil?
- prediction.delete
+ prediction.delete(@@subjectid)
# dataset prediction
- test_dataset = OpenTox::Dataset.create_from_csv_file("data/multicolumn.csv")
- prediction = OpenTox::LazarPrediction.find lazar.run(:dataset_uri => test_dataset.uri)
+ test_dataset = OpenTox::Dataset.create_from_csv_file("data/multicolumn.csv", @@subjectid)
+ prediction = OpenTox::LazarPrediction.find lazar.run(:dataset_uri => test_dataset.uri, :subjectid => @@subjectid), @@subjectid
assert_equal prediction.compounds.size, 4
compound = OpenTox::Compound.new prediction.compounds.first
assert_equal prediction.value(compound), false
- prediction.delete
- lazar.delete
+ prediction.delete(@@subjectid)
+ lazar.delete(@@subjectid)
end
end
diff --git a/validate-owl.rb b/validate-owl.rb
index 569813f..736531b 100644
--- a/validate-owl.rb
+++ b/validate-owl.rb
@@ -1,9 +1,9 @@
#require 'nokogiri'
-def validate_owl(uri)
+def validate_owl(uri, subjectid=nil)
if validator_available?
- owl = OpenTox::RestClientWrapper.get(uri,:accept => "application/rdf+xml")
- html = OpenTox::RestClientWrapper.post("http://www.mygrid.org.uk/OWL/Validator",{:rdf => owl, :level => "DL"})
+ owl = OpenTox::RestClientWrapper.get(uri,{:accept => "application/rdf+xml",:subjectid => subjectid})
+ html = OpenTox::RestClientWrapper.post("http://www.mygrid.org.uk/OWL/Validator",{:rdf => owl, :level => "DL",:subjectid => subjectid})
assert_match(/YES/,html)
else
puts "http://www.mygrid.org.uk/OWL/Validator offline"