view tests/test-push-http @ 7012:78341ea65d16

restructure helptable When looking up a help topic, the key is now only matched against the short names for each topic, and not the header. So hg help 'Environment Variables' must be replaced with hg help env
author Martin Geisler <mg@daimi.au.dk>
date Tue, 09 Sep 2008 21:32:39 +0200
parents f53b9a383476
children 6c82beaaa11a
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'

req() {
	hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
	cat hg.pid >> $DAEMON_PIDS
	hg --cwd ../test2 push http://localhost:$HGPORT/ | sed -e 's,:[0-9][0-9]*/,/,'
	kill `cat hg.pid`
	echo % serve errors
	cat errors.log
}

cd ../test

echo % expect ssl error
req

echo % expect authorization error
echo '[web]' > .hg/hgrc
echo 'push_ssl = false' >> .hg/hgrc
req

echo % expect authorization error: must have authorized user
echo 'allow_push = unperson' >> .hg/hgrc
req

echo % expect success
echo 'allow_push = *' >> .hg/hgrc
echo '[hooks]' >> .hg/hgrc
echo 'changegroup = python ../printenv.py changegroup 0 ../urls' >> .hg/hgrc
req

cat ../urls

hg rollback
echo % expect authorization error: all users denied
echo '[web]' > .hg/hgrc
echo 'push_ssl = false' >> .hg/hgrc
echo 'deny_push = *' >> .hg/hgrc
req

echo % expect authorization error: some users denied, users must be authenticated
echo 'deny_push = unperson' >> .hg/hgrc
req