diff options
Diffstat (limited to 'test/feature.rb')
-rw-r--r-- | test/feature.rb | 51 |
1 files changed, 28 insertions, 23 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 |