1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 package com.jcabi.github;
31
32 import com.google.common.base.Optional;
33 import org.hamcrest.MatcherAssert;
34 import org.hamcrest.Matchers;
35 import org.junit.Test;
36
37
38
39
40
41
42
43 public final class RtCommitsComparisonITCase {
44
45
46
47
48
49 @Test
50 public void readsFiles() throws Exception {
51 final String headsha = "3ebe52aaf7bf7681fa30a19fcbbbb246db7ad8b4";
52 final Iterable<FileChange> files = new GithubIT().connect()
53 .repos()
54 .get(new Coordinates.Simple("jcabi/jcabi-github"))
55 .commits()
56 .compare("fec537c74da115b01a5c27b225d22a3976545acf", headsha)
57 .files();
58 MatcherAssert.assertThat(
59 files,
60 Matchers.<FileChange>iterableWithSize(1)
61 );
62 final FileChange.Smart file = new FileChange.Smart(
63 files.iterator().next()
64 );
65 MatcherAssert.assertThat(
66 file.additions(),
67 Matchers.equalTo(2)
68 );
69 MatcherAssert.assertThat(
70 file.blobUrl(),
71 Matchers.equalTo(
72
73 "https://github.com/jcabi/jcabi-github/blob/3ebe52aaf7bf7681fa30a19fcbbbb246db7ad8b4/.rultor.yml"
74 )
75 );
76 MatcherAssert.assertThat(
77 file.changes(),
78
79 Matchers.equalTo(4)
80 );
81 MatcherAssert.assertThat(
82 file.contentsUrl(),
83 Matchers.equalTo(
84
85 "https://api.github.com/repos/jcabi/jcabi-github/contents/.rultor.yml?ref=3ebe52aaf7bf7681fa30a19fcbbbb246db7ad8b4"
86 )
87 );
88 MatcherAssert.assertThat(
89 file.deletions(),
90 Matchers.equalTo(2)
91 );
92 MatcherAssert.assertThat(
93 file.filename(),
94 Matchers.equalTo(".rultor.yml")
95 );
96 MatcherAssert.assertThat(
97 file.patch(),
98 Matchers.equalTo(
99 Optional.of(
100
101 "@@ -2,7 +2,7 @@ architect:\n - yegor256\n - dmarkov\n install:\n-- sudo gem install -N pdd\n+- sudo gem install --no-rdoc --no-ri pdd\n assets:\n secring.gpg: yegor256/home#assets/secring.gpg\n settings.xml: yegor256/home#assets/jcabi/settings.xml\n@@ -37,4 +37,4 @@ release:\n git commit -am \"${tag}\"\n mvn clean deploy -Pqulice -Psonatype -Pjcabi --errors --settings ../settings.xml\n mvn clean site-deploy -Psite --errors --settings ../settings.xml\n- commanders: []\n\\ No newline at end of file\n+ commanders: []"
102 )
103 )
104 );
105 MatcherAssert.assertThat(
106 file.rawUrl(),
107 Matchers.equalTo(
108
109 "https://github.com/jcabi/jcabi-github/raw/3ebe52aaf7bf7681fa30a19fcbbbb246db7ad8b4/.rultor.yml"
110 )
111 );
112 MatcherAssert.assertThat(
113 file.sha(),
114 Matchers.equalTo("daaa16ef7a19c2071ce80a6545077c11880daac3")
115 );
116 MatcherAssert.assertThat(
117 file.status(),
118 Matchers.equalTo(FileChange.Status.MODIFIED)
119 );
120 }
121
122 }