You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by re...@apache.org on 2015/06/13 13:03:27 UTC
[2/2] clerezza git commit: CLEREZZA-994: created integration tests
against the content launcher
CLEREZZA-994: created integration tests against the content launcher
Project: http://git-wip-us.apache.org/repos/asf/clerezza/repo
Commit: http://git-wip-us.apache.org/repos/asf/clerezza/commit/e734ab8a
Tree: http://git-wip-us.apache.org/repos/asf/clerezza/tree/e734ab8a
Diff: http://git-wip-us.apache.org/repos/asf/clerezza/diff/e734ab8a
Branch: refs/heads/master
Commit: e734ab8a593d9cdb936ea2faa16492ddb93ca295
Parents: 3495b27
Author: Reto Gmuer <re...@apache.org>
Authored: Sat Jun 13 11:03:14 2015 +0000
Committer: Reto Gmuer <re...@apache.org>
Committed: Sat Jun 13 11:03:14 2015 +0000
----------------------------------------------------------------------
provisioning/launchers/content-launcher/pom.xml | 2 +-
.../tests/content-launcher-tests/pom.xml | 195 ++++++++++++++++
.../integration/tests/AdminGraphsTest.java | 44 ++++
.../clerezza/integration/tests/BaseTest.java | 222 +++++++++++++++++++
.../integration/tests/UploadAndAccessTest.java | 94 ++++++++
.../tests/UploadAndAccessWithRdfJsonTest.java | 28 +++
provisioning/rdf/pom.xml | 13 +-
report.xml | 35 ---
8 files changed, 590 insertions(+), 43 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/clerezza/blob/e734ab8a/provisioning/launchers/content-launcher/pom.xml
----------------------------------------------------------------------
diff --git a/provisioning/launchers/content-launcher/pom.xml b/provisioning/launchers/content-launcher/pom.xml
index 831386d..3590b9e 100644
--- a/provisioning/launchers/content-launcher/pom.xml
+++ b/provisioning/launchers/content-launcher/pom.xml
@@ -230,7 +230,7 @@
<dependency>
<groupId>org.apache.clerezza.provisioning</groupId>
<artifactId>rdf</artifactId>
- <version>1.0.0</version>
+ <version>1.0.1-SNAPSHOT</version>
<type>partialbundlelist</type>
</dependency>
http://git-wip-us.apache.org/repos/asf/clerezza/blob/e734ab8a/provisioning/launchers/tests/content-launcher-tests/pom.xml
----------------------------------------------------------------------
diff --git a/provisioning/launchers/tests/content-launcher-tests/pom.xml b/provisioning/launchers/tests/content-launcher-tests/pom.xml
new file mode 100644
index 0000000..a4a4039
--- /dev/null
+++ b/provisioning/launchers/tests/content-launcher-tests/pom.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>clerezza</artifactId>
+ <version>7</version>
+ <relativePath>../../../../parent</relativePath>
+ </parent>
+
+ <groupId>org.apache.clerezza.provisioning.tests</groupId>
+ <artifactId>content-launcher-tests</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>Clerezza - Provisioning - Launchers - Tests - Content Launcher Tests</name>
+
+
+ <properties>
+ <!-- Set this to run the server on a specific port -->
+ <http.port></http.port>
+
+ <!-- Set this to run tests against an existing server instance -->
+ <!-- <test.server.url>http://localhost:8080/</test.server.url> -->
+
+ <!-- Options for the VM that executes our runnable jar -->
+ <!-- add the following to debug instance under test: -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8888,server=y,suspend=y -->
+ <jar.executor.vm.options>-Xmx1g -XX:MaxPermSize=256m -Dorg.apache.stanbol.offline.mode=true</jar.executor.vm.options>
+
+ <!-- Set this to true to keep the runnable jar running - useful to debug tests -->
+ <keepJarRunning>false</keepJarRunning>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.10</version>
+ <executions>
+ <execution>
+ <id>copy-runnable-jar</id>
+ <goals>
+ <goal>copy-dependencies</goal>
+ </goals>
+ <phase>process-resources</phase>
+ <configuration>
+ <includeArtifactIds>content-launcher</includeArtifactIds>
+ <excludeTransitive>true</excludeTransitive>
+ <overWriteReleases>false</overWriteReleases>
+ <overWriteSnapshots>false</overWriteSnapshots>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!-- Find free ports to run our server -->
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.9.1</version>
+ <executions>
+ <execution>
+ <id>reserve-server-port</id>
+ <goals>
+ <goal>reserve-network-port</goal>
+ </goals>
+ <phase>process-resources</phase>
+ <configuration>
+ <portNames>
+ <portName>http.port</portName>
+ </portNames>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.18.1</version>
+ <configuration>
+ <systemPropertyVariables>
+ <test.server.url>${test.server.url}</test.server.url>
+ <jar.executor.server.port>${http.port}</jar.executor.server.port>
+ <jar.executor.vm.options>${jar.executor.vm.options}</jar.executor.vm.options>
+ <jar.executor.jar.folder>${project.basedir}/target/dependency</jar.executor.jar.folder>
+ <jar.executor.jar.name.regexp>.*launcher.*\.jar$</jar.executor.jar.name.regexp>
+ <jar.executor.workingdirectory>${project.build.directory}/launchdir</jar.executor.workingdirectory>
+ <keepJarRunning>${keepJarRunning}</keepJarRunning>
+ <server.ready.timeout.seconds>240</server.ready.timeout.seconds>
+ <server.ready.path.1>/:Clerezza:Accept:text/html</server.ready.path.1>
+ <server.ready.path.2>/system/console/bundles:!Starting:Accept:text/html</server.ready.path.2>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.clerezza.provisioning</groupId>
+ <artifactId>content-launcher</artifactId>
+ <version>1.0.1-SNAPSHOT</version>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.3.5</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.jayway.restassured</groupId>
+ <artifactId>rest-assured</artifactId>
+ <version>2.3.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.commons.testing.jarexec</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>rdf.core</artifactId>
+ <version>1.0.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>rdf.utils</artifactId>
+ <version>1.0.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>rdf.jena.parser</artifactId>
+ <version>1.0.0</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>rdf.jena.serializer</artifactId>
+ <version>1.0.0</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>rdf.rdfjson</artifactId>
+ <version>1.0.1-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>platform</artifactId>
+ <version>1.0.0</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+</project>
http://git-wip-us.apache.org/repos/asf/clerezza/blob/e734ab8a/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/AdminGraphsTest.java
----------------------------------------------------------------------
diff --git a/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/AdminGraphsTest.java b/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/AdminGraphsTest.java
new file mode 100644
index 0000000..eec3163
--- /dev/null
+++ b/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/AdminGraphsTest.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2015 The Apache Software Foundation.
+ *
+ * Licensed 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.clerezza.integration.tests;
+
+import com.jayway.restassured.RestAssured;
+import com.jayway.restassured.response.Response;
+import org.apache.clerezza.platform.Constants;
+import org.apache.http.HttpStatus;
+import static org.hamcrest.Matchers.*;
+import org.junit.Test;
+
+/**
+ *
+ * @author reto
+ */
+public class AdminGraphsTest extends BaseTest {
+
+
+ @Test
+ public void htmlVersion() {
+ Response response = RestAssured.given().header("Accept", "text/html")
+ .auth().basic("admin", "admin")
+ .expect().statusCode(HttpStatus.SC_OK).when()
+ .get("/admin/graphs");
+ response.then().assertThat().body(containsString(Constants.CONTENT_GRAPH_URI_STRING));
+ }
+
+
+
+}
http://git-wip-us.apache.org/repos/asf/clerezza/blob/e734ab8a/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/BaseTest.java
----------------------------------------------------------------------
diff --git a/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/BaseTest.java b/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/BaseTest.java
new file mode 100644
index 0000000..ae3e4d1
--- /dev/null
+++ b/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/BaseTest.java
@@ -0,0 +1,222 @@
+/*
+ * Copyright 2015 The Apache Software Foundation.
+ *
+ * Licensed 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.clerezza.integration.tests;
+
+import com.jayway.restassured.RestAssured;
+import java.io.File;
+import java.net.ConnectException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.TreeSet;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.util.EntityUtils;
+import org.apache.stanbol.commons.testing.jarexec.JarExecutor;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author reto
+ */
+
+public abstract class BaseTest {
+
+ public static final String TEST_SERVER_URL_PROP = "test.server.url";
+ public static final String SERVER_READY_TIMEOUT_PROP = "server.ready.timeout.seconds";
+ public static final String SERVER_READY_PROP_PREFIX = "server.ready.path";
+ public static final String KEEP_JAR_RUNNING_PROP = "keepJarRunning";
+
+ protected static String serverBaseUrl;
+
+ private static final Logger log = LoggerFactory.getLogger(BaseTest.class);
+
+ private static void delete(File file) {
+ if (file.isDirectory()) {
+ for (File child: file.listFiles()) {
+ delete(child);
+ }
+ }
+ file.delete();
+ }
+
+ protected boolean serverReady = false;
+ //protected RequestBuilder builder;
+ protected DefaultHttpClient httpClient = new DefaultHttpClient();
+ //protected RequestExecutor executor = new RequestExecutor(httpClient);
+
+ @BeforeClass
+ public static synchronized void startRunnableJar() throws Exception {
+ if (serverBaseUrl != null) {
+ // concurrent initialization by loading subclasses
+ return;
+ }
+ final String configuredUrl = System.getProperty(TEST_SERVER_URL_PROP);
+ if ((configuredUrl != null) && !configuredUrl.isEmpty()) {
+ serverBaseUrl = configuredUrl;
+ log.info(TEST_SERVER_URL_PROP + " is set: not starting server jar (" + serverBaseUrl + ")");
+ } else {
+ final File workingDir = new File(System.getProperty(JarExecutor.PROP_WORKING_DIRECTORY));
+ if (workingDir.exists()) {
+ delete(workingDir);
+ }
+ final JarExecutor j = JarExecutor.getInstance(System.getProperties());
+ j.start();
+ serverBaseUrl = "http://localhost:" + j.getServerPort();
+ log.info("Forked subprocess server listening to: " + serverBaseUrl);
+
+
+ }
+ RestAssured.baseURI = serverBaseUrl;
+ }
+
+ @AfterClass
+ public static void afterClass() {
+ // Optionally block here so that the runnable jar stays up - we can
+ // then run tests against it from another VM
+ if ("true".equals(System.getProperty(KEEP_JAR_RUNNING_PROP))) {
+ log.info(KEEP_JAR_RUNNING_PROP + " set to true - entering infinite loop"
+ + " so that runnable jar stays up. Kill this process to exit.");
+ while (true) {
+ try {
+ Thread.sleep(1000L);
+ } catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+ }
+
+ @Before
+ public void waitForServerReady() throws Exception {
+ log.debug("> before {}#waitForServerReady()",getClass().getSimpleName());
+ if (serverReady) {
+ log.debug(" ... server already marked as ready!");
+ return;
+ }
+
+ // Timeout for readiness test
+ final String sec = System.getProperty(SERVER_READY_TIMEOUT_PROP);
+ final int timeoutSec = sec == null ? 60 : Integer.valueOf(sec);
+ log.info("Will wait up to " + timeoutSec + " seconds for server to become ready");
+ final long endTime = System.currentTimeMillis() + timeoutSec * 1000L;
+
+ // Get the list of paths to test and expected content regexps
+ final List<String> testPaths = new ArrayList<String>();
+ final TreeSet<Object> propertyNames = new TreeSet<Object>();
+ propertyNames.addAll(System.getProperties().keySet());
+ for (Object o : propertyNames) {
+ final String key = (String) o;
+ if (key.startsWith(SERVER_READY_PROP_PREFIX)) {
+ testPaths.add(System.getProperty(key));
+ }
+ }
+
+ // Consider the server ready if it responds to a GET on each of
+ // our configured request paths with a 200 result and content
+ // that matches the regexp supplied with the path
+ long sleepTime = 100;
+ readyLoop:
+ while (!serverReady && System.currentTimeMillis() < endTime) {
+ // Wait a bit between checks, to let the server come up
+ Thread.sleep(sleepTime);
+ sleepTime = Math.min(5000L, sleepTime * 2);
+
+ // A test path is in the form path:substring or just path, in which case
+ // we don't check that the content contains the substring
+ log.debug(" - check serverReady Paths");
+ for (String p : testPaths) {
+ log.debug(" > path: {}", p);
+ final String[] s = p.split(":");
+ final String path = s[0];
+ final String substring = (s.length > 0 ? s[1] : null);
+ final String url = serverBaseUrl + path;
+ log.debug(" > url: {}", url);
+ log.debug(" > content: {}", substring);
+ final HttpGet get = new HttpGet(url);
+ //authenticate as admin with password admin
+ get.setHeader("Authorization", "Basic YWRtaW46YWRtaW4=");
+ for(int i = 2; i+1<s.length;i=i+2){
+ log.debug(" > header: {}:{}", s[i], s[i+1]);
+ if(s[i] != null && !s[i].isEmpty() &&
+ s[i+1] != null && !s[i+1].isEmpty()){
+ get.setHeader(s[i], s[i+1]);
+ }
+ }
+ HttpEntity entity = null;
+ try {
+ log.debug(" > execute: {}", get);
+ HttpResponse response = httpClient.execute(get);
+ log.debug(" > response: {}", response);
+ entity = response.getEntity();
+ final int status = response.getStatusLine().getStatusCode();
+ if (status != 200) {
+ log.info("Got {} at {} - will retry", status, url);
+ continue readyLoop;
+ } else {
+ log.debug("Got {} at {} - will retry", status, url);
+ }
+
+ if (substring != null) {
+ if (entity == null) {
+ log.info("No entity returned for {} - will retry", url);
+ continue readyLoop;
+ }
+ final String content = EntityUtils.toString(entity);
+ final boolean checkAbsence = substring.startsWith("!");
+ final String notPresentString = substring.substring(1);
+ if ((!checkAbsence && content.contains(substring)) ||
+ (checkAbsence && content.contains(notPresentString))) {
+ log.debug("Returned content for {} contains {} - ready",
+ url, substring);
+ } else {
+ log.info("Returned content for {} does not contain "
+ + "{} - will retry", url, substring);
+ continue readyLoop;
+
+ }
+ }
+ } catch (ConnectException e) {
+ log.info("Got {} at {} - will retry", e.getClass().getSimpleName(), url);
+ continue readyLoop;
+ } finally {
+ if (entity != null) {
+ entity.consumeContent();
+ }
+ }
+ }
+ log.info("Got expected content for all configured requests, server is ready");
+ //Some additional wait time, as not everything can be tested with the paths
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ }
+ serverReady = true;
+ }
+
+ if (!serverReady) {
+ throw new Exception("Server not ready after " + timeoutSec + " seconds");
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/clerezza/blob/e734ab8a/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/UploadAndAccessTest.java
----------------------------------------------------------------------
diff --git a/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/UploadAndAccessTest.java b/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/UploadAndAccessTest.java
new file mode 100644
index 0000000..1470c74
--- /dev/null
+++ b/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/UploadAndAccessTest.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright 2015 The Apache Software Foundation.
+ *
+ * Licensed 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.clerezza.integration.tests;
+
+import com.jayway.restassured.RestAssured;
+import com.jayway.restassured.response.Response;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import org.apache.clerezza.commons.rdf.ImmutableGraph;
+import org.apache.clerezza.platform.Constants;
+import org.apache.clerezza.rdf.core.serializedform.Parser;
+import org.apache.clerezza.rdf.core.serializedform.Serializer;
+import org.apache.http.HttpHeaders;
+import org.apache.http.HttpStatus;
+import static org.hamcrest.Matchers.containsString;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ *
+ * @author reto
+ */
+public class UploadAndAccessTest extends BaseTest {
+
+ String smallGraphTurtle = null;
+ ImmutableGraph smallGraph;
+
+ protected String getRdfFormat() {
+ return "text/turtle";
+
+ }
+
+ @Test
+ public void uploadAndQuery() throws Exception {
+ smallGraphTurtle = "<"+RestAssured.baseURI+"/test-resource> <http://www.w3.org/2000/01/rdf-schema#comment> \"A test resource\".";
+ smallGraph = Parser.getInstance().parse(new ByteArrayInputStream(smallGraphTurtle.getBytes("utf-8")), "text/turtle");
+ uploadTurtle();
+ sparqlAsk();
+ dereferenceResource();
+ }
+
+ protected void uploadTurtle() {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ Serializer.getInstance().serialize(baos, smallGraph, getRdfFormat());
+ RestAssured.given().header("Accept", "text/html")
+ .auth().basic("admin", "admin")
+ .formParam("name", Constants.CONTENT_GRAPH_URI_STRING)
+ .multiPart("graph", "test.ttl", baos.toByteArray(), getRdfFormat())
+ .formParam("append", "Append")
+ .expect().statusCode(HttpStatus.SC_NO_CONTENT).when()
+ .post("/graph");
+ }
+
+
+ protected void sparqlAsk() {
+ final String sparqlQuery = "ASK {"+smallGraphTurtle+"}";
+ Response response = RestAssured.given().header("Accept", "application/sparql-results+xml")
+ .auth().basic("admin", "admin")
+ .formParam("query", sparqlQuery)
+ .formParam("default-graph-uri", Constants.CONTENT_GRAPH_URI_STRING)
+ .expect()
+ .statusCode(HttpStatus.SC_OK)
+ .header(HttpHeaders.CONTENT_TYPE, "application/sparql-results+xml")
+ .when()
+ .post("/sparql");
+ response.then().assertThat().body(containsString("true"));
+ }
+
+ protected void dereferenceResource() {
+ Response response = RestAssured.given().header("Accept", getRdfFormat())
+ .expect()
+ .statusCode(HttpStatus.SC_OK)
+ .header(HttpHeaders.CONTENT_TYPE, getRdfFormat())
+ .when()
+ .get("/test-resource");
+ ImmutableGraph returnedGraph = Parser.getInstance().parse(response.getBody().asInputStream(), getRdfFormat());
+ Assert.assertEquals("Returned Graph has wrong size", 1, returnedGraph.size());
+ Assert.assertEquals(smallGraph, returnedGraph);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/clerezza/blob/e734ab8a/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/UploadAndAccessWithRdfJsonTest.java
----------------------------------------------------------------------
diff --git a/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/UploadAndAccessWithRdfJsonTest.java b/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/UploadAndAccessWithRdfJsonTest.java
new file mode 100644
index 0000000..c9dd7e7
--- /dev/null
+++ b/provisioning/launchers/tests/content-launcher-tests/src/test/java/org/apache/clerezza/integration/tests/UploadAndAccessWithRdfJsonTest.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2015 The Apache Software Foundation.
+ *
+ * Licensed 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.clerezza.integration.tests;
+
+/**
+ *
+ * @author reto
+ */
+public class UploadAndAccessWithRdfJsonTest extends UploadAndAccessTest {
+ @Override
+ protected String getRdfFormat() {
+ return "application/rdf+json";
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/clerezza/blob/e734ab8a/provisioning/rdf/pom.xml
----------------------------------------------------------------------
diff --git a/provisioning/rdf/pom.xml b/provisioning/rdf/pom.xml
index d5c0580..08a20a6 100644
--- a/provisioning/rdf/pom.xml
+++ b/provisioning/rdf/pom.xml
@@ -132,16 +132,15 @@
<version>1.0.0-SNAPSHOT</version>
</dependency>
-->
- <!-- <dependency>
+ <dependency>
<groupId>org.apache.clerezza</groupId>
<artifactId>rdf.rdfjson</artifactId>
- <version>0.4</version>
+ <version>1.0.1-SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>org.apache.clerezza.ext</groupId>
- <artifactId>org.json.simple</artifactId>
- <version>0.4</version>
- </dependency> -->
+ <groupId>com.googlecode.json-simple</groupId>
+ <artifactId>json-simple</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.clerezza</groupId>
<artifactId>rdf.jena.serializer</artifactId>
@@ -155,7 +154,7 @@
<dependency>
<groupId>org.apache.clerezza</groupId>
<artifactId>rdf.jena.sparql</artifactId>
- <version>1.0.0</version>
+ <version>1.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.clerezza</groupId>
http://git-wip-us.apache.org/repos/asf/clerezza/blob/e734ab8a/report.xml
----------------------------------------------------------------------
diff --git a/report.xml b/report.xml
deleted file mode 100644
index 9b0d503..0000000
--- a/report.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<dfxml xmloutputversion='1.0'>
- <metadata
- xmlns='http://afflib.org/tcpflow/'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
- xmlns:dc='http://purl.org/dc/elements/1.1/'>
- <dc:type>Feature Extraction</dc:type>
- </metadata>
- <creator version='1.0'>
- <program>TCPFLOW</program>
- <version>1.4.4</version>
- <build_environment>
- <compiler>4.8.2 (4.8.2 20140110 (prerelease) [ibm/gcc-4_8-branch merged from gcc-4_8-branch, revision 205847])</compiler>
- <CPPFLAGS>-pthread -I/usr/local/include -D_FORTIFY_SOURCE=2 -DUTC_OFFSET=+0000 </CPPFLAGS>
- <CFLAGS>-g -pthread -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -MD -D_FORTIFY_SOURCE=2 -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wshadow -Wwrite-strings -Wcast-align -Waggregate-return -Wbad-function-cast -Wcast-qual -Wundef -Wredundant-decls -Wdisabled-optimization -Wfloat-equal -Wmultichar -Wc++-compat -Wmissing-noreturn -Wall -Wstrict-prototypes</CFLAGS>
- <CXXFLAGS>-g -pthread -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -std=c++11 -Wall -MD -D_FORTIFY_SOURCE=2 -Wpointer-arith -Wshadow -Wwrite-strings -Wcast-align -Wredundant-decls -Wdisabled-optimization -Wfloat-equal -Wmultichar -Wmissing-noreturn -Woverloaded-virtual -Wsign-promo -funit-at-a-time -Wstrict-null-sentinel -Weffc++ </CXXFLAGS>
- <LDFLAGS>-L/usr/local/lib -Wl,-Bsymbolic-functions -Wl,-z,relro</LDFLAGS>
- <LIBS>-lpcap -lcairo -lfontconfig -lfreetype -lpixman-1 -lexpat -lssl -lcrypto -lz -lssl -lcrypto </LIBS>
- <compilation_date>2014-01-13T17:14:40</compilation_date>
- <library name="boost" version="105400"/>
- </build_environment>
- <execution_environment>
- <os_sysname>Linux</os_sysname>
- <os_release>3.13.0-52-generic</os_release>
- <os_version>#86-Ubuntu SMP Mon May 4 04:32:59 UTC 2015</os_version>
- <host>5033e1dfa905</host>
- <arch>x86_64</arch>
- <command_line>tcpflow -c port 8080 -i lo</command_line>
- <uid>0</uid>
- <start_time>2015-05-18T11:19:57Z</start_time>
- </execution_environment>
- </creator>
- <configuration>
- </configuration>
- <tdelta>0</tdelta>