diff tests/wireprotohelpers.sh @ 37482:fa9faf58959d

tests: extract wire protocol shell helpers to standalone file This will make it easier for other tests to get up and running without the boilerplate. Differential Revision: https://phab.mercurial-scm.org/D3176
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 26 Mar 2018 15:34:52 -0700
parents
children 61e405fb6372
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/wireprotohelpers.sh	Mon Mar 26 15:34:52 2018 -0700
@@ -0,0 +1,41 @@
+HTTPV2=exp-http-v2-0001
+MEDIATYPE=application/mercurial-exp-framing-0003
+
+sendhttpraw() {
+  hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT/
+}
+
+cat > dummycommands.py << EOF
+from mercurial import (
+    wireprototypes,
+    wireproto,
+)
+
+@wireproto.wireprotocommand('customreadonly', permission='pull')
+def customreadonly(repo, proto):
+    return wireprototypes.bytesresponse(b'customreadonly bytes response')
+
+@wireproto.wireprotocommand('customreadwrite', permission='push')
+def customreadwrite(repo, proto):
+    return wireprototypes.bytesresponse(b'customreadwrite bytes response')
+EOF
+
+cat >> $HGRCPATH << EOF
+[extensions]
+drawdag = $TESTDIR/drawdag.py
+EOF
+
+enabledummycommands() {
+  cat >> $HGRCPATH << EOF
+[extensions]
+dummycommands = $TESTTMP/dummycommands.py
+EOF
+}
+
+enablehttpv2() {
+  cat >> $1/.hg/hgrc << EOF
+[experimental]
+web.apiserver = true
+web.api.http-v2 = true
+EOF
+}