package com.tinkerpop.rexster.kibbles.sparql; import com.tinkerpop.blueprints.Graph; import com.tinkerpop.blueprints.impls.sail.SailGraph; import com.tinkerpop.blueprints.impls.sail.SailGraphFactory; import com.tinkerpop.blueprints.impls.sail.impls.MemoryStoreSailGraph; import com.tinkerpop.rexster.RexsterResourceContext; import com.tinkerpop.rexster.Tokens; import com.tinkerpop.rexster.extension.ExtensionResponse; import org.codehaus.jettison.json.JSONArray; import org.codehaus.jettison.json.JSONObject; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import javax.ws.rs.core.Response; public class SparqlExtensionTest { private Graph graph; private RexsterResourceContext ctx; @Before public void beforeTest() { SailGraph sailGraph = new MemoryStoreSailGraph(); SailGraphFactory.createTinkerGraph(sailGraph); this.graph = sailGraph; } @Test public void evaluateSparqlNoReturnKeysNoShowTypes() { String sparqlQuery = "SELECT ?x ?y WHERE { ?x <http://tinkerpop.com#knows> ?y }"; this.ctx = new RexsterResourceContext(null, null, null, new JSONObject(), null, null, null, null); SparqlExtension extension = new SparqlExtension(); ExtensionResponse extensionResponse = extension.evaluateSparql(this.ctx, this.graph, sparqlQuery); Assert.assertNotNull(extensionResponse); Assert.assertFalse(extensionResponse.isErrorResponse()); Response jerseyResponse = extensionResponse.getJerseyResponse(); Assert.assertNotNull(jerseyResponse); Assert.assertEquals(Response.Status.OK.getStatusCode(), jerseyResponse.getStatus()); JSONObject jsonResponseEntity = (JSONObject) jerseyResponse.getEntity(); Assert.assertNotNull(jsonResponseEntity); Assert.assertTrue(jsonResponseEntity.has(Tokens.RESULTS)); JSONArray results = jsonResponseEntity.optJSONArray(Tokens.RESULTS); Assert.assertNotNull(results); Assert.assertEquals(2, results.length()); } }