|
10 | 10 | let(:select_query) {'SELECT ?kb WHERE { ?kb <http://data.linkedmdb.org/resource/movie/actor_name> "Kevin Bacon" . }'} |
11 | 11 | let(:describe_query) {'DESCRIBE ?kb WHERE { ?kb <http://data.linkedmdb.org/resource/movie/actor_name> "Kevin Bacon" . }'} |
12 | 12 | 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 {}'} |
13 | 14 |
|
14 | 15 | describe "#initialize" do |
15 | 16 | it "calls block" do |
@@ -199,6 +200,33 @@ def response(header) |
199 | 200 | end |
200 | 201 | end |
201 | 202 |
|
| 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 | + |
202 | 230 | context "Error response" do |
203 | 231 | { |
204 | 232 | "bad request" => {status: 400, error: SPARQL::Client::MalformedQuery }, |
|
0 commit comments