##// END OF EJS Templates
hgweb: respond 403 forbidden for ssl required error...
hgweb: respond 403 forbidden for ssl required error It's preferable to report "ssl required" as an error, so that the client can detect error and exit with 255. Currently hg exits with 1, which is "nothing to push."

File last commit:

r17456:59a16801 default
r17456:59a16801 default
Show More
test-push-http.t
128 lines | 3.3 KiB | text/troff | Tads3Lexer
Mads Kiilerich
tests: use 'hghave serve' to guard tests that requires serve daemon management
r15446 $ "$TESTDIR/hghave" serve || exit 80
Matt Mackall
tests: unify test-push-http
r12483
$ hg init test
$ cd test
$ echo a > a
$ hg ci -Ama
adding a
$ cd ..
$ hg clone test test2
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd test2
$ echo a >> a
$ hg ci -mb
$ req() {
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
> cat hg.pid >> $DAEMON_PIDS
> hg --cwd ../test2 push http://localhost:$HGPORT/
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 > exitstatus=$?
Gilles Moris
test-push-http: use killdaemons.py instead of kill to avoid test unreliability
r13449 > "$TESTDIR/killdaemons.py"
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > echo % serve errors
> cat errors.log
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 > return $exitstatus
Matt Mackall
tests: unify test-push-http
r12483 > }
$ cd ../test
expect ssl error
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
Yuya Nishihara
hgweb: respond 403 forbidden for ssl required error...
r17456 abort: HTTP Error 403: ssl required
Matt Mackall
tests: unify test-push-http
r12483 % serve errors
Yuya Nishihara
hgweb: respond 403 forbidden for ssl required error...
r17456 [255]
Matt Mackall
tests: unify test-push-http
r12483
expect authorization error
$ echo '[web]' > .hg/hgrc
$ echo 'push_ssl = false' >> .hg/hgrc
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
abort: authorization failed
% serve errors
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 [255]
Matt Mackall
tests: unify test-push-http
r12483
expect authorization error: must have authorized user
$ echo 'allow_push = unperson' >> .hg/hgrc
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
abort: authorization failed
% serve errors
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 [255]
Matt Mackall
tests: unify test-push-http
r12483
expect success
$ echo 'allow_push = *' >> .hg/hgrc
$ echo '[hooks]' >> .hg/hgrc
Mads Kiilerich
tests: consistently use printenv.py the same MSYS/Windows-compatible way...
r17018 $ echo "changegroup = python \"$TESTDIR/printenv.py\" changegroup 0" >> .hg/hgrc
Matt Mackall
tests: unify test-push-http
r12483 $ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 remote: changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_URL=remote:http:*: (glob)
Matt Mackall
tests: unify test-push-http
r12483 % serve errors
$ hg rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 0 (undo serve)
Matt Mackall
tests: unify test-push-http
r12483
Steven Brown
httprepo: long arguments support (issue2126)...
r14093 expect success, server lacks the httpheader capability
$ CAP=httpheader
$ . "$TESTDIR/notcapable"
$ req
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 remote: changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_URL=remote:http:*: (glob)
Steven Brown
httprepo: long arguments support (issue2126)...
r14093 % serve errors
$ hg rollback
repository tip rolled back to revision 0 (undo serve)
Steven Brown
tests: new test cases for the unbundlehash capability
r13946 expect success, server lacks the unbundlehash capability
Steven Brown
tests: add script to disable a selected wire protocol capability...
r14011 $ CAP=unbundlehash
$ . "$TESTDIR/notcapable"
Steven Brown
tests: new test cases for the unbundlehash capability
r13946 $ req
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 remote: changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_URL=remote:http:*: (glob)
Steven Brown
tests: new test cases for the unbundlehash capability
r13946 % serve errors
$ hg rollback
repository tip rolled back to revision 0 (undo serve)
Matt Mackall
tests: unify test-push-http
r12483 expect authorization error: all users denied
$ echo '[web]' > .hg/hgrc
$ echo 'push_ssl = false' >> .hg/hgrc
$ echo 'deny_push = *' >> .hg/hgrc
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
abort: authorization failed
% serve errors
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 [255]
Matt Mackall
tests: unify test-push-http
r12483
expect authorization error: some users denied, users must be authenticated
$ echo 'deny_push = unperson' >> .hg/hgrc
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
abort: authorization failed
% serve errors
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 [255]
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..