#!/bin/sh # 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. echo "Testing..." here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here` curl_prefix=`cat $here/../http/curl.prefix` # Setup rm -rf tmp ../http/httpd-conf tmp localhost 8090 htdocs ../http/httpd-event-conf tmp ./server-conf tmp ./scheme-conf tmp cat >>tmp/conf/httpd.conf </dev/null >tmp/index.html diff tmp/index.html htdocs/index.html rc=$? # Test ATOMPub if [ "$rc" = "0" ]; then $curl_prefix/bin/curl http://localhost:8090/scheme/ >tmp/feed.xml 2>/dev/null diff tmp/feed.xml htdocs/test/feed.xml rc=$? fi if [ "$rc" = "0" ]; then $curl_prefix/bin/curl http://localhost:8090/scheme/111 >tmp/entry.xml 2>/dev/null diff tmp/entry.xml htdocs/test/entry.xml rc=$? fi if [ "$rc" = "0" ]; then $curl_prefix/bin/curl http://localhost:8090/scheme/ -X POST -H "Content-type: application/atom+xml" --data @htdocs/test/entry.xml 2>/dev/null rc=$? fi if [ "$rc" = "0" ]; then $curl_prefix/bin/curl http://localhost:8090/scheme/111 -X PUT -H "Content-type: application/atom+xml" --data @htdocs/test/entry.xml 2>/dev/null rc=$? fi if [ "$rc" = "0" ]; then $curl_prefix/bin/curl http://localhost:8090/scheme/111 -X PATCH -H "Content-type: application/atom+xml" --data @htdocs/test/entry.xml 2>/dev/null rc=$? fi if [ "$rc" = "0" ]; then $curl_prefix/bin/curl http://localhost:8090/scheme/111 -X DELETE 2>/dev/null rc=$? fi # Test JSON-RPC if [ "$rc" = "0" ]; then $curl_prefix/bin/curl http://localhost:8090/scheme/ -X POST -H "Content-type: application/json-rpc" --data @htdocs/test/json-request.txt >tmp/json-result.txt 2>/dev/null diff tmp/json-result.txt htdocs/test/json-result.txt rc=$? fi # Test built-in properties if [ "$rc" = "0" ]; then $curl_prefix/bin/curl 'http://localhost:8090/properties?id=1&method=print' >tmp/json-properties.txt 2>/dev/null diff tmp/json-properties.txt htdocs/test/json-properties.txt rc=$? fi # Cleanup ../http/httpd-stop tmp sleep 2 if [ "$rc" = "0" ]; then echo "OK" fi exit $rc