view tests/test-push-http @ 5288:18091102a633

interhg: allow more flexible pattern specification (fixes 2/3 of issue699) - something else than "pat" followed by a number can be used as key - something else than "/" can be used as delimiter - "ilmsux" flags (e.g. "i" for case insensitive) can be used
author Edward Lee <edward.lee@engineering.uiuc.edu>
date Fri, 07 Sep 2007 16:35:43 +0200
parents 8a3e12426c03
children e3a0c092b4e2
line wrap: on
line source

#!/bin/sh

cp "$TESTDIR"/printenv.py .

hg init test
cd test
echo a > a
hg ci -Ama -d '0 0'

cd ..
hg clone test test2
cd test2
echo a >> a
hg ci -mb -d '0 0'

cd ../test

echo % expect ssl error
hg serve -p 20059 -d --pid-file=hg.pid
cat hg.pid >> $DAEMON_PIDS
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
cat hg.pid >> $DAEMON_PIDS
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
cat hg.pid >> $DAEMON_PIDS
hg --cwd ../test2 push http://localhost:20059/
kill `cat hg.pid`

echo % expect success
echo 'allow_push = *' >> .hg/hgrc
echo '[hooks]' >> .hg/hgrc
echo 'changegroup = python ../printenv.py changegroup 0 ../urls' >> .hg/hgrc
hg serve -p 20059 -d --pid-file=hg.pid
cat hg.pid >> $DAEMON_PIDS
hg --cwd ../test2 push http://localhost:20059/
kill `cat hg.pid`
hg rollback

cat ../urls

echo % expect authorization error: all users denied
echo '[web]' > .hg/hgrc
echo 'push_ssl = false' >> .hg/hgrc
echo 'deny_push = *' >> .hg/hgrc
hg serve -p 20059 -d --pid-file=hg.pid
cat hg.pid >> $DAEMON_PIDS
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
cat hg.pid >> $DAEMON_PIDS
hg --cwd ../test2 push http://localhost:20059/
kill `cat hg.pid`