author | Pulkit Goyal <pulkit@yandex-team.ru> |
Wed, 30 Jan 2019 03:50:31 +0530 | |
changeset 41517 | 210a999bd668 |
parent 41164 | 43fd1947301d |
child 41902 | c340a8ac7ef3 |
permissions | -rw-r--r-- |
39667
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] |
39668
d2c81e83de2a
phabricator: move extension from contrib to hgext
Augie Fackler <raf@durin42.com>
parents:
39667
diff
changeset
|
4 |
> phabricator = |
39667
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 |
39669
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39668
diff
changeset
|
67 |
|
41163
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
68 |
The amend won't explode after posting a public commit. The local tag is left |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
69 |
behind to identify it. |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
70 |
|
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
71 |
$ echo 'public change' > beta |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
72 |
$ hg ci -m 'create public change for phabricator testing' |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
73 |
$ hg phase --public . |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
74 |
$ echo 'draft change' > alpha |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
75 |
$ hg ci -m 'create draft change for phabricator testing' |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
76 |
$ hg phabsend --amend -r '.^::' --test-vcr "$VCR/phabsend-create-public.json" |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
77 |
D5544 - created - 540a21d3fbeb: create public change for phabricator testing |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
78 |
D5545 - created - 6bca752686cd: create draft change for phabricator testing |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
79 |
warning: not updating public commit 2:540a21d3fbeb |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
80 |
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/6bca752686cd-41faefb4-phabsend.hg |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
81 |
$ hg tags -v |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
82 |
tip 3:620a50fd6ed9 |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
83 |
D5544 2:540a21d3fbeb local |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
84 |
|
40473
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
85 |
$ hg debugcallconduit user.search --test-vcr "$VCR/phab-conduit.json" <<EOF |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
86 |
> { |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
87 |
> "constraints": { |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
88 |
> "isBot": true |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
89 |
> } |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
90 |
> } |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
91 |
> EOF |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
92 |
{ |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
93 |
"cursor": { |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
94 |
"after": null, |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
95 |
"before": null, |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
96 |
"limit": 100, |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
97 |
"order": null |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
98 |
}, |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
99 |
"data": [], |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
100 |
"maps": {}, |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
101 |
"query": { |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
102 |
"queryKey": null |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
103 |
} |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
104 |
} |
d7d3164e6a31
phabricator: properly encode boolean types in the request body
Matt Harbison <matt_harbison@yahoo.com>
parents:
39670
diff
changeset
|
105 |
|
39669
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39668
diff
changeset
|
106 |
Template keywords |
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39668
diff
changeset
|
107 |
$ hg log -T'{rev} {phabreview|json}\n' |
41163
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
108 |
3 {"id": "D5545", "url": "https://phab.mercurial-scm.org/D5545"} |
41164
43fd1947301d
phabricator: teach {phabreview} to work without --amend
Matt Harbison <matt_harbison@yahoo.com>
parents:
41163
diff
changeset
|
109 |
2 {"id": "D5544", "url": "https://phab.mercurial-scm.org/D5544"} |
39669
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39668
diff
changeset
|
110 |
1 {"id": "D4597", "url": "https://phab.mercurial-scm.org/D4597"} |
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39668
diff
changeset
|
111 |
0 {"id": "D4596", "url": "https://phab.mercurial-scm.org/D4596"} |
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39668
diff
changeset
|
112 |
|
41163
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
113 |
$ hg log -T'{rev} {if(phabreview, "{phabreview.url} {phabreview.id}")}\n' |
0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
Matt Harbison <matt_harbison@yahoo.com>
parents:
40473
diff
changeset
|
114 |
3 https://phab.mercurial-scm.org/D5545 D5545 |
41164
43fd1947301d
phabricator: teach {phabreview} to work without --amend
Matt Harbison <matt_harbison@yahoo.com>
parents:
41163
diff
changeset
|
115 |
2 https://phab.mercurial-scm.org/D5544 D5544 |
39670
4057e38bba76
phabricator: fix templating bug by using hybriddict
Augie Fackler <raf@durin42.com>
parents:
39669
diff
changeset
|
116 |
1 https://phab.mercurial-scm.org/D4597 D4597 |
4057e38bba76
phabricator: fix templating bug by using hybriddict
Augie Fackler <raf@durin42.com>
parents:
39669
diff
changeset
|
117 |
0 https://phab.mercurial-scm.org/D4596 D4596 |
39669
10c53b2e9d52
phabricator: add tests of templatekeyword
Augie Fackler <raf@durin42.com>
parents:
39668
diff
changeset
|
118 |
|
39667
a641fd1a1196
tests: add some basic tests of phabricator interactions
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
119 |
$ cd .. |