tests/test-push-http
changeset 2481 5c65b4e51610
child 2570 83cfd95eafb5
new file mode 100755
--- /dev/null
+++ b/tests/test-push-http
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+hg init test
+cd test
+echo a > a
+hg ci -Ama
+
+cd ..
+hg clone test test2
+cd test2
+echo a >> a
+hg ci -mb
+
+cd ../test
+
+echo % expect ssl error
+hg serve -p 20059 -d --pid-file=hg.pid
+hg --cwd ../test2 push http://localhost:20059/
+kill `cat hg.pid`
+
+echo % expect authorization error
+echo '[web]' > .hg/hgrc
+echo 'push_ssl = false' >> .hg/hgrc
+hg serve -p 20059 -d --pid-file=hg.pid
+hg --cwd ../test2 push http://localhost:20059/
+kill `cat hg.pid`
+
+echo % expect authorization error: must have authorized user
+echo 'allow_push = unperson' >> .hg/hgrc
+hg serve -p 20059 -d --pid-file=hg.pid
+hg --cwd ../test2 push http://localhost:20059/
+kill `cat hg.pid`
+
+echo % expect success
+echo 'allow_push = *' >> .hg/hgrc
+hg serve -p 20059 -d --pid-file=hg.pid
+hg --cwd ../test2 push http://localhost:20059/
+kill `cat hg.pid`
+hg rollback
+
+echo % expect authorization error: all users denied
+echo 'deny_push = *' >> .hg/hgrc
+hg serve -p 20059 -d --pid-file=hg.pid
+hg --cwd ../test2 push http://localhost:20059/
+kill `cat hg.pid`
+
+echo % expect authorization error: some users denied, users must be authenticated
+echo 'deny_push = unperson' >> .hg/hgrc
+hg serve -p 20059 -d --pid-file=hg.pid
+hg --cwd ../test2 push http://localhost:20059/
+kill `cat hg.pid`