summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorch <ch@ch.in-silico.ch>2015-07-08 11:01:44 +0200
committerch <ch@ch.in-silico.ch>2015-07-08 11:01:44 +0200
commit9a4ab079fd25f5463de1f65475bdc05f336f3442 (patch)
tree7ff230ffdb8ae24cbfc7ccac28e11955963fee09
parent9e9327985375d35d3475a299af58dfb1e44c7315 (diff)
feature, error and task (almost) working
-rw-r--r--test/feature.rb51
-rw-r--r--test/setup.rb2
-rw-r--r--test/task.rb44
3 files changed, 53 insertions, 44 deletions
diff --git a/test/feature.rb b/test/feature.rb
index 30b4a0b..54a68f2 100644
--- a/test/feature.rb
+++ b/test/feature.rb
@@ -3,6 +3,7 @@ require_relative "setup.rb"
class FeatureRestTest < MiniTest::Test
def serialize rdf, format
+ return rdf.to_json if format == 'application/json'
string = RDF::Writer.for(format).buffer do |writer|
rdf.each{|statement| writer << statement}
end
@@ -20,21 +21,25 @@ class FeatureRestTest < MiniTest::Test
# TODO: test supported accept/content-type formats
# TODO: test invalid rdfs
def test_rest_feature
- @rdf = RDF::Graph.new
- subject = RDF::URI.new File.join($feature[:uri], SecureRandom.uuid)
- @rdf << RDF::Statement.new(subject, RDF::DC.title, "tost" )
- @rdf << RDF::Statement.new(subject, RDF.type, RDF::OT.Feature)
+ #@rdf = RDF::Graph.new
+ #subject = RDF::URI.new File.join($feature[:uri], SecureRandom.uuid)
+ #@rdf << RDF::Statement.new(subject, RDF::DC.title, "tost" )
+ #@rdf << RDF::Statement.new(subject, RDF.type, RDF::OT.Feature)
+ metadata = {:uri => File.join($feature[:uri], SecureRandom.uuid), :title => "tost" , :type => "Feature" }
@formats = [
- [:ntriples, "text/plain"],
- [:rdfxml, "application/rdf+xml"],
- [:turtle, 'text/turtle']
+ # TODO
+ #[:ntriples, "text/plain"],
+ #[:rdfxml, "application/rdf+xml"],
+ #[:turtle, 'text/turtle']
+ [:json, 'application/json']
]
@uris = []
@formats.each do |f|
- @uris << subject.to_s
- OpenTox::RestClientWrapper.put(subject.to_s, serialize(@rdf, f[0]), {:content_type => f[1]}).chomp
+ @uris << metadata[:uri]
+ OpenTox::RestClientWrapper.put(metadata[:uri], metadata.to_json, {:content_type => f[1]}).chomp
+ #OpenTox::RestClientWrapper.put(subject.to_s, serialize(@rdf, f[0]), {:content_type => f[1]}).chomp
assert_equal true, URI.accessible?(@uris.last), "#{@uris.last} is not accessible."
end
r = OpenTox::RestClientWrapper.get($feature[:uri], {}, :accept => "text/uri-list").split("\n")
@@ -43,26 +48,26 @@ class FeatureRestTest < MiniTest::Test
assert_equal true, URI.accessible?(uri), "#{uri} is not accessible."
assert_equal true, r.include?(uri)
@formats.each do |f|
- rdf = OpenTox::RestClientWrapper.get(uri, {}, :accept => f[1])
+ response = OpenTox::RestClientWrapper.get(uri, {}, :accept => f[1])
# TODO compare with rdf serialization
- assert_match /#{uri}/, rdf
+ assert_match /#{uri}/, response
end
end
uri = @uris.first
- new_rdf = RDF::Graph.new
- new_rdf << RDF::Statement.new(RDF::Node.new, RDF::DC.title, "XYZ")
+ metadata[:title] = "XYZ"
@formats.each do |f|
- OpenTox::RestClientWrapper.post(uri, serialize(new_rdf,f[0]), :content_type => f[1])
+ OpenTox::RestClientWrapper.post(uri, metadata.to_json, :content_type => f[1])
assert_match /XYZ/, OpenTox::RestClientWrapper.get(uri,{},:accept => f[1])
# TODO compare with rdf serialization
end
@formats.each do |f|
@uris.each do |uri|
- OpenTox::RestClientWrapper.put(uri, serialize(@rdf,f[0]), :content_type => f[1])
+ OpenTox::RestClientWrapper.put(uri, metadata.to_json, :content_type => f[1])
assert_equal true, URI.accessible?(uri), "#{uri} is not accessible."
- refute_match /XYZ/, OpenTox::RestClientWrapper.get(uri,{},:accept => f[1])
+ # CH: why refute? XYZ has been set as title for the first uri
+ # refute_match /XYZ/, OpenTox::RestClientWrapper.get(uri,{},:accept => f[1])
end
end
@@ -76,7 +81,7 @@ class FeatureRestTest < MiniTest::Test
def test_opentox_feature
@feature = OpenTox::Feature.new
- @feature.title = "tost"
+ @feature[:title] = "tost"
@feature.put
uri = @feature.uri
assert_equal true, URI.accessible?(@feature.uri), "#{@feature.uri} is not accessible."
@@ -87,10 +92,10 @@ class FeatureRestTest < MiniTest::Test
# modify feature
@feature2 = OpenTox::Feature.new @feature.uri
- assert_equal "tost", @feature2.title
- assert_equal RDF::OT.Feature, @feature[RDF.type]
+ assert_equal "tost", @feature2[:title]
+ assert_equal 'Feature', @feature2[:type]
- @feature2.title = "feature2"
+ @feature2[:title] = "feature2"
@feature2.put
list = OpenTox::Feature.all
listsize2 = list.length
@@ -105,9 +110,9 @@ class FeatureRestTest < MiniTest::Test
def test_duplicated_features
metadata = {
- RDF::DC.title => "feature duplication test",
- RDF.type => [RDF::OT.Feature, RDF::OT.StringFeature],
- RDF::DC.description => "feature duplication test"
+ :title => "feature duplication test",
+ :type => ["Feature", "StringFeature"],
+ :description => "feature duplication test"
}
feature = OpenTox::Feature.create metadata
dup_feature = OpenTox::Feature.find_or_create metadata
diff --git a/test/setup.rb b/test/setup.rb
index 5d29c3c..3521645 100644
--- a/test/setup.rb
+++ b/test/setup.rb
@@ -17,7 +17,7 @@ class OpenTox::Error
s = super.to_s
if error_cause
s << "\nerror-cause:\n"
- s << error_cause
+ error_cause.is_a?(String) ? s << error_cause : s << JSON.pretty_generate(error_cause)
s << "\n"
end
s
diff --git a/test/task.rb b/test/task.rb
index df78b1a..dd0e7d4 100644
--- a/test/task.rb
+++ b/test/task.rb
@@ -25,6 +25,7 @@ class TaskTest < MiniTest::Test
sleep 5
$task[:uri]
end
+ p $task[:uri]
assert_equal true, task.running?
assert_equal "Running", task.hasStatus
assert_equal 202, task.code
@@ -42,7 +43,7 @@ class TaskTest < MiniTest::Test
assert_equal Array, all.class
t = all.last
assert_equal OpenTox::Task, t.class
- assert_equal RDF::OT.Task, t[RDF.type]
+ assert_equal "Task", t[:type]
end
def test_03_create_and_cancel
@@ -71,9 +72,9 @@ class TaskTest < MiniTest::Test
assert task.error?
assert_equal 500, task.code
assert_equal "Error", task.hasStatus
- assert_equal "A runtime error occured", task.error_report[RDF::OT.message]
- assert_equal "500", task.error_report[RDF::OT.statusCode]
- refute_empty task.error_report[RDF::OT.errorCause]
+ 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
end
@@ -90,9 +91,9 @@ class TaskTest < MiniTest::Test
assert task.error?
assert_equal 500, task.code
assert_equal "Error", task.hasStatus
- assert_equal "An OpenTox::Error occured", task.error_report[RDF::OT.message]
- assert_equal "500", task.error_report[RDF::OT.statusCode]
- refute_empty task.error_report[RDF::OT.errorCause]
+ assert_equal "An OpenTox::Error occured", task.error_report["message"]
+ assert_equal 500, task.error_report["statusCode"]
+ refute_empty task.error_report["errorCause"]
end
def test_06_create_and_fail_with_not_found_error
@@ -107,10 +108,10 @@ class TaskTest < MiniTest::Test
assert task.error?
assert_equal 404, task.code
assert_equal "Error", task.hasStatus
- assert_equal "An OpenTox::ResourceNotFoundError occured", task.error_report[RDF::OT.message]
- assert_equal "OpenTox::ResourceNotFoundError", task.error_report[RDF::OT.errorCode]
- refute_empty task.error_report[RDF::OT.errorCause]
- assert_equal "404", task.error_report[RDF::OT.statusCode]
+ assert_equal "An OpenTox::ResourceNotFoundError occured", task.error_report["message"]
+ assert_equal "OpenTox::ResourceNotFoundError", task.error_report["errorCode"]
+ refute_empty task.error_report["errorCause"]
+ assert_equal 404, task.error_report["statusCode"]
end
def test_07_create_and_fail_with_rest_not_found_error
@@ -125,8 +126,8 @@ class TaskTest < MiniTest::Test
assert task.error?
assert_equal 404, task.code
assert_equal "Error", task.hasStatus
- refute_empty task.error_report[RDF::OT.errorCause]
- assert_equal "404", task.error_report[RDF::OT.statusCode]
+ refute_empty task.error_report["errorCause"]
+ assert_equal 404, task.error_report["statusCode"]
end
def test_08_create_and_fail_with_restclientwrapper_error
@@ -141,8 +142,8 @@ class TaskTest < MiniTest::Test
assert task.error?
assert_equal 400, task.code
assert_equal "Error", task.hasStatus
- refute_empty task.error_report[RDF::OT.errorCause]
- assert_equal "400", task.error_report[RDF::OT.statusCode]
+ refute_empty task.error_report["errorCause"]
+ assert_equal 400, task.error_report["statusCode"]
end
def test_09_check_resultURIs
@@ -169,7 +170,7 @@ class TaskTest < MiniTest::Test
resource_not_found_error "test", "http://username:password@test.org/fake_uri"
end
task.wait
- refute_match %r{username|password}, task.error_report[RDF::OT.actor]
+ refute_match %r{username|password}, task.error_report["actor"]
end
def test_11a_plain_errors
@@ -188,6 +189,7 @@ class TaskTest < MiniTest::Test
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}"
+ p ex.error_cause
assert ex.error_cause=~/test.rb:#{test[:line]}/,"code line number test.rb:#{test[:line]} is lost or wrong: #{ex.error_cause}"
assert ex.uri==test[:uri]
end
@@ -225,8 +227,8 @@ class TaskTest < MiniTest::Test
## test2: test if task is set accordingly
assert task.error?
- 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])
+ 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
@@ -249,10 +251,12 @@ class TaskTest < MiniTest::Test
assert task.error?
assert_equal 500, task.code
assert_equal "Error", task.hasStatus
- refute_empty task.error_report[RDF::OT.errorCause]
- assert_match error_msg,task.error_report[RDF::OT.message]
+ refute_empty task.error_report["errorCause"]
+ assert_match error_msg,task.error_report["message"]
end
end
+=begin
+=end
end