Skip to content

Commit 0b7a141

Browse files
cectongkellogg
authored andcommitted
Implements tests for update alternative endpoint
(cherry picked from commit 1e8b231)
1 parent 19a1769 commit 0b7a141

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

spec/client_spec.rb

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
let(:select_query) {'SELECT ?kb WHERE { ?kb <http://data.linkedmdb.org/resource/movie/actor_name> "Kevin Bacon" . }'}
1111
let(:describe_query) {'DESCRIBE ?kb WHERE { ?kb <http://data.linkedmdb.org/resource/movie/actor_name> "Kevin Bacon" . }'}
1212
let(:ask_query) {'ASK WHERE { ?kb <http://data.linkedmdb.org/resource/movie/actor_name> "Kevin Bacon" . }'}
13+
let(:update_query) {'DELETE {?s ?p ?o} WHERE {}'}
1314

1415
describe "#initialize" do
1516
it "calls block" do
@@ -199,6 +200,33 @@ def response(header)
199200
end
200201
end
201202

203+
context "Alternative Endpoint" do
204+
it "should use the default endpoint if no alternative endpoint is provided" do
205+
WebMock.stub_request(:any, 'http://data.linkedmdb.org/sparql').
206+
to_return(:body => '', :status => 200)
207+
subject.update(update_query)
208+
expect(WebMock).to have_requested(:post, "http://data.linkedmdb.org/sparql")
209+
end
210+
211+
it "should use the alternative endpoint if provided" do
212+
WebMock.stub_request(:any, 'http://data.linkedmdb.org/alternative').
213+
to_return(:body => '', :status => 200)
214+
subject.update(update_query, { endpoint: "http://data.linkedmdb.org/alternative" })
215+
expect(WebMock).to have_requested(:post, "http://data.linkedmdb.org/alternative")
216+
end
217+
218+
it "should not use the alternative endpoint for a select query" do
219+
WebMock.stub_request(:any, 'http://data.linkedmdb.org/sparql').
220+
to_return(:body => '', :status => 200)
221+
WebMock.stub_request(:any, 'http://data.linkedmdb.org/alternative').
222+
to_return(:body => '', :status => 200)
223+
subject.update(update_query, { endpoint: "http://data.linkedmdb.org/alternative" })
224+
expect(WebMock).to have_requested(:post, "http://data.linkedmdb.org/alternative")
225+
subject.query(select_query)
226+
expect(WebMock).to have_requested(:post, "http://data.linkedmdb.org/sparql")
227+
end
228+
end
229+
202230
context "Error response" do
203231
{
204232
"bad request" => {status: 400, error: SPARQL::Client::MalformedQuery },

0 commit comments

Comments
 (0)