1
2
3
4
5 package com.jcabi.github;
6
7 import com.jcabi.github.mock.MkGitHub;
8 import com.jcabi.http.Request;
9 import com.jcabi.http.mock.MkAnswer;
10 import com.jcabi.http.mock.MkContainer;
11 import com.jcabi.http.mock.MkGrizzlyContainer;
12 import com.jcabi.http.request.ApacheRequest;
13 import jakarta.json.Json;
14 import jakarta.json.JsonObject;
15 import java.io.IOException;
16 import java.net.HttpURLConnection;
17 import org.hamcrest.MatcherAssert;
18 import org.hamcrest.Matchers;
19 import org.junit.jupiter.api.Test;
20 import org.junit.jupiter.api.extension.ExtendWith;
21
22
23
24
25
26
27 @ExtendWith(RandomPort.class)
28 final class RtCommitsTest {
29
30
31
32
33
34 @Test
35 void createsCommit() throws IOException {
36 try (
37 MkContainer container = new MkGrizzlyContainer().next(
38 new MkAnswer.Simple(
39 HttpURLConnection.HTTP_CREATED,
40 "{\"sha\":\"0abcd89jcabitest\"}"
41 )
42 ).start(RandomPort.port())) {
43 final Commits commits = new RtCommits(
44 new ApacheRequest(container.home()),
45 new MkGitHub().randomRepo()
46 );
47 final JsonObject author = Json.createObjectBuilder()
48 .add("name", "Scott").add("email", "scott@gmail.com")
49 .add("date", "2011-06-17T14:53:35-07:00").build();
50 final JsonObject input = Json.createObjectBuilder()
51 .add("message", "initial version")
52 .add("author", author).build();
53 final Commit commit = commits.create(input);
54 MatcherAssert.assertThat(
55 "Object is not of expected type",
56 commit,
57 Matchers.instanceOf(Commit.class)
58 );
59 MatcherAssert.assertThat(
60 "Values are not equal",
61 container.take().method(),
62 Matchers.equalTo(Request.POST)
63 );
64 MatcherAssert.assertThat(
65 "Values are not equal",
66 commit.sha(),
67 Matchers.equalTo("0abcd89jcabitest")
68 );
69 }
70 }
71 }