Skip to content

Commit a22296f

Browse files
committed
Address review comments
Deduplicate code in tests and minor clean-up Signed-off-by: Sudha Parimala <sudharg247@gmail.com>
1 parent d3a858e commit a22296f

File tree

5 files changed

+44
-72
lines changed

5 files changed

+44
-72
lines changed

CHANGES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
### Added
44

5-
- Add support for marking a release as a prerelease. Closes (#PR_NUMBER,
5+
- Add support for marking a release as a prerelease. Closes (#517,
66
@Sudha247, closes #516)
77

88
## 2.2.0

bin/cli.ml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,9 @@ let draft =
186186
named (fun x -> `Draft x) Arg.(value & flag & info [ "draft" ] ~doc)
187187

188188
let prerelease =
189-
let doc = "Produce a release that is marked as prerelease." in
189+
let doc =
190+
"Produce a release that is marked as prerelease on the Github release."
191+
in
190192
named (fun x -> `Prerelease x) Arg.(value & flag & info [ "prerelease" ] ~doc)
191193

192194
let yes =

tests/bin/prerelease/dune

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
(cram
2+
(deps %{bin:dune-release}))

tests/bin/prerelease/run.t

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@ We need a basic opam project skeleton
33
$ cat > CHANGES.md << EOF
44
> ## 0.1.0
55
>
6-
> - Some other feature
7-
>
8-
> ## 0.0.0
9-
>
106
> - Some feature
117
> EOF
128
$ cat > whatever.opam << EOF
@@ -46,4 +42,4 @@ We create a prerelease through the `dune-release` process.
4642
prerelease and submit it as such to GitHub.
4743

4844
$ dune-release publish --dry-run --yes --prerelease | grep prerelease
49-
{"tag_name":"0.1.0","name":"0.1.0","body":"CHANGES:\n\n- Some other feature\n","draft":false,"prerelease":true}
45+
{"tag_name":"0.1.0","name":"0.1.0","body":"CHANGES:\n\n- Some feature\n","draft":false,"prerelease":true}

tests/lib/test_github_v3_api.ml

Lines changed: 37 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,52 @@
11
open Dune_release.Github_v3_api
22

33
let test_create_release =
4-
let make_test ~test_name ~version ~tag ~msg ~user ~repo ~draft ~expected
5-
~prerelease =
6-
let version = Dune_release.Version.of_string version in
7-
let tag = Dune_release.Vcs.Tag.of_string tag in
4+
let version = "1.1.0"
5+
and tag = "1.1.0"
6+
and msg = "this is a message"
7+
and user = "you"
8+
and repo = "some-repo"
9+
and draft = false in
10+
let make_test ~test_name ~prerelease =
11+
let expected : Dune_release.Curl.t =
12+
{
13+
url = "https://api.github.com/repos/you/some-repo/releases";
14+
meth = `POST;
15+
args =
16+
[
17+
Location;
18+
Silent;
19+
Show_error;
20+
Config `Stdin;
21+
Dump_header `Ignore;
22+
Data
23+
(`Data
24+
(Yojson.Basic.to_string
25+
(`Assoc
26+
[
27+
("tag_name", `String tag);
28+
("name", `String version);
29+
("body", `String msg);
30+
("draft", `Bool draft);
31+
("prerelease", `Bool prerelease);
32+
])));
33+
];
34+
}
35+
in
836
let test_fun () =
37+
let version = Dune_release.Version.of_string version in
38+
let tag = Dune_release.Vcs.Tag.of_string tag in
39+
940
let actual =
1041
Release.Request.create ~version ~tag ~msg ~user ~repo ~draft ~prerelease
1142
in
1243
Alcotest.check Alcotest_ext.curl test_name expected actual
1344
in
1445
(test_name, `Quick, test_fun)
1546
in
16-
let version = "1.1.0"
17-
and tag = "1.1.0"
18-
and msg = "this is a message"
19-
and user = "you"
20-
and repo = "some-repo"
21-
and draft = false in
22-
2347
[
24-
(let prerelease = false in
25-
make_test ~test_name:"simple-release" ~version ~tag ~msg ~user ~repo ~draft
26-
~prerelease
27-
~expected:
28-
{
29-
url = "https://api.github.com/repos/you/some-repo/releases";
30-
meth = `POST;
31-
args =
32-
[
33-
Location;
34-
Silent;
35-
Show_error;
36-
Config `Stdin;
37-
Dump_header `Ignore;
38-
Data
39-
(`Data
40-
(Yojson.Basic.to_string
41-
(`Assoc
42-
[
43-
("tag_name", `String tag);
44-
("name", `String version);
45-
("body", `String msg);
46-
("draft", `Bool draft);
47-
("prerelease", `Bool prerelease);
48-
])));
49-
];
50-
});
51-
(let prerelease = true in
52-
make_test ~test_name:"simple-prerelease" ~version ~tag ~msg ~user ~repo
53-
~draft ~prerelease
54-
~expected:
55-
{
56-
url = "https://api.github.com/repos/you/some-repo/releases";
57-
meth = `POST;
58-
args =
59-
[
60-
Location;
61-
Silent;
62-
Show_error;
63-
Config `Stdin;
64-
Dump_header `Ignore;
65-
Data
66-
(`Data
67-
(Yojson.Basic.to_string
68-
(`Assoc
69-
[
70-
("tag_name", `String tag);
71-
("name", `String version);
72-
("body", `String msg);
73-
("draft", `Bool draft);
74-
("prerelease", `Bool prerelease);
75-
])));
76-
];
77-
});
48+
make_test ~test_name:"simple-release" ~prerelease:false;
49+
make_test ~test_name:"simple-prerelease" ~prerelease:true;
7850
]
7951

8052
let test_upload_archive =

0 commit comments

Comments
 (0)