/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.jena.fuseki ; import static org.apache.jena.fuseki.ServerCtl.serviceQuery ; import static org.apache.jena.fuseki.ServerCtl.serviceUpdate ; import org.apache.jena.atlas.web.HttpException ; import org.apache.jena.atlas.web.TypedInputStream ; import org.apache.jena.riot.WebContent ; import org.apache.jena.riot.web.HttpOp ; import org.apache.jena.sparql.engine.http.Params ; import org.apache.jena.sparql.util.Convert ; import org.junit.Assert ; import org.junit.Test ; /** Operation by HTTP - test dispatch - lower level than TestSPARQLProtocol */ public class TestHttpOperations extends AbstractFusekiTest { // XXX and directly on dataset @Test public void query_by_get_1() { String qs = Convert.encWWWForm("ASK{}") ; String u = serviceQuery()+"?query=" + qs ; try (TypedInputStream in = HttpOp.execHttpGet(u)) { Assert.assertNotNull(in); } } @Test public void query_by_post_1() { try (TypedInputStream in = HttpOp.execHttpPostStream(serviceQuery(), WebContent.contentTypeSPARQLQuery, "ASK{}", "*")) { Assert.assertNotNull(in); } } @Test public void query_by_post_2() { String qs = Convert.encWWWForm("ASK{}") ; String u = serviceQuery()+"?query=" + qs ; try (TypedInputStream in = HttpOp.execHttpPostStream(u, null, null)) { Assert.assertNotNull(in); } } @Test public void query_by_form_1() { Params params = new Params().addParam("query", "ASK{}") ; try (TypedInputStream in = HttpOp.execHttpPostFormStream(serviceQuery(), params, "*") ) { Assert.assertNotNull(in); } } @Test(expected=HttpException.class) public void query_by_form_2() { Params params = new Params().addParam("foobar", "ASK{}") ; // Wrong. try (TypedInputStream in = HttpOp.execHttpPostFormStream(serviceQuery(), params, "*") ) { Assert.assertNotNull(in); } } @Test public void update_by_post_1() { HttpOp.execHttpPost(serviceUpdate(), WebContent.contentTypeSPARQLUpdate, "INSERT DATA{}") ; } // POST ?request= :: Not supported. // @Test // public void update_by_post_2() { // String us = Convert.encWWWForm("INSERT DATA {}") ; // String u = serviceUpdate+"?update=" + us ; // try (TypedInputStream in = HttpOp.execHttpPostStream(u, null, null)) { // Assert.assertNotNull(in); // } // } @Test public void update_by_form_1() { Params params = new Params().addParam("update", "INSERT DATA{}") ; try (TypedInputStream in = HttpOp.execHttpPostFormStream(serviceUpdate(), params, "*") ) { Assert.assertNotNull(in); } } @Test(expected=HttpException.class) public void update_by_form_2() { Params params = new Params().addParam("query", "INSERT DATA{}") ; // Wrong paramater try (TypedInputStream in = HttpOp.execHttpPostFormStream(serviceUpdate(), params, "*") ) { Assert.assertNotNull(in); } } // ---- Dataset direct @Test public void ds_query_by_get_1() { String u = ServerCtl.urlDataset() ; try (TypedInputStream in = HttpOp.execHttpGet(u)) { Assert.assertNotNull(in); } } @Test public void ds_query_by_post_1() { String u = ServerCtl.urlDataset() ; try (TypedInputStream in = HttpOp.execHttpPostStream(u, WebContent.contentTypeSPARQLQuery, "ASK{}", "*")) { Assert.assertNotNull(in); } } @Test public void ds_update_by_post_1() { String u = ServerCtl.urlDataset() ; HttpOp.execHttpPost(u, WebContent.contentTypeSPARQLUpdate, "INSERT DATA{}") ; } }