tests/test-phabricator.t
changeset 39651 a641fd1a1196
child 39652 d2c81e83de2a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-phabricator.t	Sat Sep 15 00:50:21 2018 -0400
@@ -0,0 +1,67 @@
+#require vcr
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > phabricator = $TESTDIR/../contrib/phabricator.py
+  > EOF
+  $ hg init repo
+  $ cd repo
+  $ cat >> .hg/hgrc <<EOF
+  > [phabricator]
+  > url = https://phab.mercurial-scm.org/
+  > callsign = HG
+  > 
+  > [auth]
+  > hgphab.schemes = https
+  > hgphab.prefix = phab.mercurial-scm.org
+  > # When working on the extension and making phabricator interaction
+  > # changes, edit this to be a real phabricator token. When done, edit
+  > # it back, and make sure to also edit your VCR transcripts to match
+  > # whatever value you put here.
+  > hgphab.phabtoken = cli-hahayouwish
+  > EOF
+  $ VCR="$TESTDIR/phabricator"
+
+Error is handled reasonably. We override the phabtoken here so that
+when you're developing changes to phabricator.py you can edit the
+above config and have a real token in the test but not have to edit
+this test.
+  $ hg phabread --config auth.hgphab.phabtoken=cli-notavalidtoken \
+  >  --test-vcr "$VCR/phabread-conduit-error.json" D4480 | head
+  abort: Conduit Error (ERR-INVALID-AUTH): API token "cli-notavalidtoken" has the wrong length. API tokens should be 32 characters long.
+
+Basic phabread:
+  $ hg phabread --test-vcr "$VCR/phabread-4480.json" D4480 | head
+  # HG changeset patch
+  exchangev2: start to implement pull with wire protocol v2
+  
+  Wire protocol version 2 will take a substantially different
+  approach to exchange than version 1 (at least as far as pulling
+  is concerned).
+  
+  This commit establishes a new exchangev2 module for holding
+  code related to exchange using wire protocol v2. I could have
+  added things to the existing exchange module. But it is already
+
+phabupdate with an accept:
+  $ hg phabupdate --accept D4564 \
+  > -m 'I think I like where this is headed. Will read rest of series later.'\
+  >  --test-vcr "$VCR/accept-4564.json"
+
+Create a differential diff:
+  $ echo alpha > alpha
+  $ hg ci --addremove -m 'create alpha for phabricator test'
+  adding alpha
+  $ hg phabsend -r . --test-vcr "$VCR/phabsend-create-alpha.json"
+  D4596 - created - 5206a4fa1e6c: create alpha for phabricator test
+  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/5206a4fa1e6c-dec9e777-phabsend.hg
+  $ echo more >> alpha
+  $ HGEDITOR=true hg ci --amend
+  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/d8f232f7d799-c573510a-amend.hg
+  $ echo beta > beta
+  $ hg ci --addremove -m 'create beta for phabricator test'
+  adding beta
+  $ hg phabsend -r ".^::" --test-vcr "$VCR/phabsend-update-alpha-create-beta.json"
+  D4596 - updated - f70265671c65: create alpha for phabricator test
+  D4597 - created - 1a5640df7bbf: create beta for phabricator test
+  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/1a5640df7bbf-6daf3e6e-phabsend.hg
+  $ cd ..