1
2
3
4
5 package com.jcabi.github;
6
7 import com.jcabi.http.request.FakeRequest;
8 import jakarta.json.Json;
9 import java.io.IOException;
10 import org.hamcrest.MatcherAssert;
11 import org.hamcrest.Matchers;
12 import org.junit.jupiter.api.Test;
13
14
15
16
17
18
19 final class CommitsComparisonTest {
20
21 @Test
22 void fetchesCommits() throws IOException {
23 final String sha = "6dcb09b5b57875f334f61aebed695e2e4193db50";
24 final CommitsComparison.Smart comparison = new CommitsComparison.Smart(
25 new RtCommitsComparison(
26 new FakeRequest().withBody(
27 Json.createObjectBuilder()
28 .add("base_commit", Json.createObjectBuilder())
29 .add(
30 "commits",
31 Json.createArrayBuilder()
32 .add(Json.createObjectBuilder().add("sha", sha))
33 )
34 .add("files", Json.createArrayBuilder())
35 .build().toString()
36 ),
37 CommitsComparisonTest.repo(),
38 "6dcb09b5b57875f334f61aebed695e2e4193db51",
39 "6dcb09b5b57875f334f61aebed695e2e4193db52"
40 )
41 );
42 MatcherAssert.assertThat(
43 "Values are not equal",
44 comparison.commits().iterator().next().sha(),
45 Matchers.equalTo(sha)
46 );
47 }
48
49 @Test
50 void fetchesFiles() throws IOException {
51 final String filename = "file.txt";
52 final CommitsComparison.Smart comparison = new CommitsComparison.Smart(
53 new RtCommitsComparison(
54 new FakeRequest().withBody(
55 Json.createObjectBuilder()
56 .add("base_commit", Json.createObjectBuilder())
57 .add("commits", Json.createArrayBuilder())
58 .add(
59 "files",
60 Json.createArrayBuilder().add(
61 Json.createObjectBuilder()
62 .add("filename", filename)
63 )
64 )
65 .build().toString()
66 ),
67 CommitsComparisonTest.repo(),
68 "6dcb09b5b57875f334f61aebed695e2e4193db53",
69 "6dcb09b5b57875f334f61aebed695e2e4193db54"
70 )
71 );
72 MatcherAssert.assertThat(
73 "Values are not equal",
74 new FileChange.Smart(
75 comparison.files().iterator().next()
76 ).filename(),
77 Matchers.equalTo(filename)
78 );
79 }
80
81
82
83
84
85 private static Repo repo() {
86 return new RtGitHub().repos()
87 .get(new Coordinates.Simple("user", "repo"));
88 }
89
90 }