WebID Test Suite 1. About This test suite dynamicly creates functional and broken WebIDs with different characteristics. These WebIDs are used to login at the defined endpoint. The endpoint should return EARL triples like defined in the following vocabular: www.w3.org/2005/Incubator/webid/earl/RelyingParty# For every test case a SPARQL query is defined to check whether the endpoint acts as expected or not. 2. Requirements The source code is maintend in a subversion repository. To build the test suite from the sources you will need a subversion client. A JDK version 5 or above is required to build the project. Also Maven is required for building and fetching all required libraries from the web. 2.1. Requirements for FileFOAFPublisher (optional) You should use the embedded web server. With the FileFOAFPublisher you depend on the HTTP Server which could send for example corrupted headers!! If you still want to use it a HTTP server with local files access is required. 3. Compiling the test suite With the command line subversion client you can check out the code with the following command: "svn co https://www.axolotlfarm.org/svn/bergi/bergnet/java/tests/webid/trunk/ WebIDTestSuite". To compile the code with maven run: "mvn compile". 4. Configuration of the test suite The file "default.properties" contains all default settings. Usually that should work for you. But if you need to change something, the file contains comments about all parameters. 5. Running the tests Use the exec:java plugin to run the test suite. Here an example: "mvn exec:java -Dexec.mainClass=org.bergnet.test.webid.WebIDTests -Dexec.args="-endpoint https://foafssl.org/test/WebId/n3 -stayalive -outputformat TTL" -X". See the Command line parameters section for more details. 5.1. Command line parameters Every parameter begins with a minus like "-example". If an additional argument is required it must follow separated by space. Here is a list of all parameters: -config $: Alernative configuration file default: -config default.properties example: -config example.properties -criterions: Outputs the description of the EARL tests default: not set example: -criterions -outputformat $: Defines the triple output format ("RDF/XML" or "TTL") default: -outputformat RDF/XML example: -outputforamt TTL -endpoint $: Url to the endpoint you want to test default: see properties file example: -endpoint https://foafssl.org/test/WebId/n3 -baseurl $: The base directory where your FOAF will be published (only host and port is used for embedded Jetty server) default: -baseurl http://localhost:8080/ example: -baseurl http://mypc:1234/ -stayalive: Program doesn't terminate after tests are finished (if you want to access the files from the embedded server) default: not set example: -stayalive 5.2. Repeating and verifying a test with curl You can use curl to repeat a test. The output folder contains the certificate (webid.pem) for every test case. So you just have to type: "curl -k -E webid.pem:password -H "Accept: text/turtle" https://foafssl.org/test/WebId/n3 > out.n3"