diff options
Diffstat (limited to 'karm/test/webdav.sh')
-rwxr-xr-x | karm/test/webdav.sh | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/karm/test/webdav.sh b/karm/test/webdav.sh new file mode 100755 index 000000000..8d51db92c --- /dev/null +++ b/karm/test/webdav.sh @@ -0,0 +1,58 @@ +#!/bin/sh + +# Add a todo to an iCal file stored on a webdav server. + +exec >>check.log 2>&1 + +source __lib.sh + +# check for required perl stuff +perl -e "use Net::DAV::Server;" > /dev/null 2>&1 +if ! [ $? = 0 ]; then + echo "PASS" + exit 0 +fi + +# Start webdav server +perl __webdav.pl & +sleep 2 +WEBDAV_PID=`ps -C "perl __webdav.pl" -o pid=` + +# Start karm +TESTFILE="http://localhost:4242/testkarm.ics" +TESTFILE_LOCAL="/tmp/testkarm.ics" +TESTTODO="testtodo" +SKIP_TESTFILE_DELETE=true +# Need this or karm complains there is no file +rm -f $TESTFILE_LOCAL +touch $TESTFILE_LOCAL +set_up +#wait till download is ready +sleep 3 + +# add a todo +dcop $DCOPID KarmDCOPIface addTask "$TESTTODO" +sleep 1 +dcop $DCOPID KarmDCOPIface save + +sleep 1 + +if grep $TESTTODO $TESTFILE_LOCAL + then RVAL=0 + else RVAL=1 +fi + +# clean up +tear_down +#if [ -e $TESTFILE_LOCAL ]; then rm $TESTFILE_LOCAL; fi +if [ -n $WEBDAV_PID ]; then kill $WEBDAV_PID; fi + +# return 0 on success, 1 on failure +if [ $RVAL -eq 0 ] +then + echo "PASS $0" + exit 0 +else + echo "FAIL $0" + exit 1 +fi |