Mercurial > hg
annotate tests/test-phabricator.t @ 40955:f6187e60f792
help: present boolean arguments as "--[no-]foo"
This should make it much more discoverable (we document it in `hg help
flags`, but most users don't think to look there).
Note that flags that default to None (and not False) will not get this
new presentation. We can change the defaults to False later for flags
where it makes sense (probably almost all boolean flags).
Differential Revision: https://phab.mercurial-scm.org/D5432
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 14 Dec 2018 13:44:46 -0800 |
parents | 4057e38bba76 |
children | d7d3164e6a31 |
rev | line source |
---|---|
39651
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
1 #require vcr |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
2 $ cat >> $HGRCPATH <<EOF |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
3 > [extensions] |
39652
d2c81e83de2a
phabricator: move extension from contrib to hgext
Augie Fackler <raf@durin42.com>
parents:
39651
diff
changeset
|
4 > phabricator = |
39651
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
5 > EOF |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
6 $ hg init repo |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
7 $ cd repo |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
8 $ cat >> .hg/hgrc <<EOF |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
9 > [phabricator] |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
10 > url = https://phab.mercurial-scm.org/ |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
11 > callsign = HG |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
12 > |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
13 > [auth] |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
14 > hgphab.schemes = https |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
15 > hgphab.prefix = phab.mercurial-scm.org |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
16 > # When working on the extension and making phabricator interaction |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
17 > # changes, edit this to be a real phabricator token. When done, edit |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
18 > # it back, and make sure to also edit your VCR transcripts to match |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
19 > # whatever value you put here. |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
20 > hgphab.phabtoken = cli-hahayouwish |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
21 > EOF |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
22 $ VCR="$TESTDIR/phabricator" |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
23 |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
24 Error is handled reasonably. We override the phabtoken here so that |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
25 when you're developing changes to phabricator.py you can edit the |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
26 above config and have a real token in the test but not have to edit |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
27 this test. |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
28 $ hg phabread --config auth.hgphab.phabtoken=cli-notavalidtoken \ |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
29 > --test-vcr "$VCR/phabread-conduit-error.json" D4480 | head |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
30 abort: Conduit Error (ERR-INVALID-AUTH): API token "cli-notavalidtoken" has the wrong length. API tokens should be 32 characters long. |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
31 |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
32 Basic phabread: |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
33 $ hg phabread --test-vcr "$VCR/phabread-4480.json" D4480 | head |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
34 # HG changeset patch |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
35 exchangev2: start to implement pull with wire protocol v2 |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
36 |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
37 Wire protocol version 2 will take a substantially different |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
38 approach to exchange than version 1 (at least as far as pulling |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
39 is concerned). |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
40 |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
41 This commit establishes a new exchangev2 module for holding |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
42 code related to exchange using wire protocol v2. I could have |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
43 added things to the existing exchange module. But it is already |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
44 |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
45 phabupdate with an accept: |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
46 $ hg phabupdate --accept D4564 \ |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
47 > -m 'I think I like where this is headed. Will read rest of series later.'\ |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
48 > --test-vcr "$VCR/accept-4564.json" |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
49 |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
50 Create a differential diff: |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
51 $ echo alpha > alpha |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
52 $ hg ci --addremove -m 'create alpha for phabricator test' |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
53 adding alpha |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
54 $ hg phabsend -r . --test-vcr "$VCR/phabsend-create-alpha.json" |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
55 D4596 - created - 5206a4fa1e6c: create alpha for phabricator test |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
56 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/5206a4fa1e6c-dec9e777-phabsend.hg |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
57 $ echo more >> alpha |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
58 $ HGEDITOR=true hg ci --amend |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
59 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/d8f232f7d799-c573510a-amend.hg |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
60 $ echo beta > beta |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
61 $ hg ci --addremove -m 'create beta for phabricator test' |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
62 adding beta |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
63 $ hg phabsend -r ".^::" --test-vcr "$VCR/phabsend-update-alpha-create-beta.json" |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
64 D4596 - updated - f70265671c65: create alpha for phabricator test |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
65 D4597 - created - 1a5640df7bbf: create beta for phabricator test |
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
66 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/1a5640df7bbf-6daf3e6e-phabsend.hg |
39653
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39652
diff
changeset
|
67 |
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39652
diff
changeset
|
68 Template keywords |
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39652
diff
changeset
|
69 $ hg log -T'{rev} {phabreview|json}\n' |
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39652
diff
changeset
|
70 1 {"id": "D4597", "url": "https://phab.mercurial-scm.org/D4597"} |
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39652
diff
changeset
|
71 0 {"id": "D4596", "url": "https://phab.mercurial-scm.org/D4596"} |
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39652
diff
changeset
|
72 |
39654
4057e38bba76
phabricator: fix templating bug by using hybriddict
Augie Fackler <raf@durin42.com>
parents:
39653
diff
changeset
|
73 $ hg log -T'{rev} {phabreview.url} {phabreview.id}\n' |
4057e38bba76
phabricator: fix templating bug by using hybriddict
Augie Fackler <raf@durin42.com>
parents:
39653
diff
changeset
|
74 1 https://phab.mercurial-scm.org/D4597 D4597 |
4057e38bba76
phabricator: fix templating bug by using hybriddict
Augie Fackler <raf@durin42.com>
parents:
39653
diff
changeset
|
75 0 https://phab.mercurial-scm.org/D4596 D4596 |
39653
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39652
diff
changeset
|
76 |
39651
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
77 $ cd .. |