remove old md5sum tests
[cloudstore.git] / test.sh
diff --git a/test.sh b/test.sh
index 26d487b..8518ecf 100755 (executable)
--- a/test.sh
+++ b/test.sh
@@ -1,33 +1,37 @@
 #!/bin/sh -xe
 
-user_dir=/srv/cloudstore/users/test/
-rm -Rvf $user_dir/log/* #$user_dir/blob/*
+RSYNC_LOGIN=fake
 
 push() {
        file=`shift`
-       RSYNC_PASSWORD=secret rsync $* $file rsync://u2000@127.0.0.1:6501/u2000/localhost/$file
+       RSYNC_PASSWORD=secret rsync $* $file rsync://$RSYNC_LOGIN@127.0.0.1:6501/$RSYNC_LOGIN/localhost/$file
 }
 pull() {
        from=$1
        to=$2
        test -z "$to" && to=$1
-       RSYNC_PASSWORD=secret rsync rsync://u2000@127.0.0.1:6501/u2000/localhost/$from $to
+       RSYNC_PASSWORD=secret rsync rsync://$RSYNC_LOGIN@127.0.0.1:6501/$RSYNC_LOGIN/localhost/$from $to
 }
 
 
-#./remove-user.sh test@example.com
+#sudo ./remove-user.sh test@example.com
+#sudo ./remove-user.sh test2@example.com
+base_dir=`pwd`
 
-sudo ./create-user.sh test@example.com secret 200k
-sudo ./create-user.sh test2@example.com secret 20k
+RSYNC_LOGIN=`sudo ./create-user.sh test@example.com secret 500000`
+RSYNC_LOGIN2=`sudo ./create-user.sh test2@example.com secret 100000`
 
-#./remove-user.sh u2001
-#./create-user.sh u2001 secret
+. ./env.sh
 
 dir=/tmp/test
 rm -Rf "$dir"
 mkdir /tmp/test
 cd $dir
+
 push . --recursive --delete -v
+
+if [ ! -z "$ALL" ] ; then # skip tests if false
+
 ps ax > foo
 push foo -v
 push foo -v
@@ -69,19 +73,64 @@ md5sum clone/* | sed -e 's!  !  _import/foo/bar/baz!' > md5sum
 cat md5sum
 push md5sum -v
 
+# test unused md5 pool quota
+
+ps ax > tmp
+push tmp -v
+rm tmp
+push . -r --delete -v
+
 # test send
 
-ps ax >> sent-to-test2
-push sent-to-test2 # must be done before first send
+ps ax >> send
+mkdir dir1
+ps ax >> dir1/send
+mkdir dir2
+ps ax >> dir2/send
+
+mkdir -p .sync/send
+cat << __SEND__ > .sync/send/timestamp
+$RSYNC_LOGIN2 send
+$RSYNC_LOGIN2 dir1/send
+$RSYNC_LOGIN2 dir2/send
+__SEND__
+
+# order is important! .sync must be last!
+push send dir1 dir2 .sync -rv
+
+# test receiving of sent files
+mkdir /tmp/test/$RSYNC_LOGIN2
+RSYNC_PASSWORD=secret rsync -rv rsync://$RSYNC_LOGIN2@127.0.0.1:6501/$RSYNC_LOGIN2/received/ /tmp/test/$RSYNC_LOGIN2
+
+fi # skip tests
+
+# test file move
+
+ps ax > Jellyfish.jpg
+push Jellyfish.jpg
+
+mkdir -p .sync/pending
+cat << __pending__ > .sync/pending/test
+MOVED#Jellyfish.jpg#Photos with space/Jellyfish cool.jpg
+DELETED#Photos with space/Jellyfish cool.jpg
+DELETED#Photos with space
+__pending__
+
+push .sync -rv
+
+exit
+
+ps ax > perms-test
+chmod 400 perms-test
+push -va perms-test
+
+sudo sh -xc "ls -al ~$RSYNC_LOGIN/localhost/"
+
 
-mkdir -p .send/test2/received
-ln -s ../../../sent-to-test2 .send/test2/received/new-name
 
-push .send -rvl
 
-tail -20 $user_dir/log/*
+find $SLICE/2001/ -type f | grep -v '/\.' | xargs md5sum | sort > /tmp/test/1
+FULL=1 $base_dir/user-md5sum.pl u2001 | sort > /tmp/test/2
 
-#diff -urw $user_dir/blob $dir/
-#diff -urw $user_dir/json $dir/
+diff /tmp/test/1 /tmp/test/2 && echo "OK - md5 database consistant with filesystem"
 
-ls -al $user_dir/blob