automatons_github/testing/
contents.rs

1use mockito::{mock, Mock};
2
3pub fn mock_get_contents_file() -> Mock {
4    mock("GET", "/repos/octokit/octokit.rb/contents/README.md")
5        .with_status(200)
6        .with_body(r#"
7            {
8              "type": "file",
9              "encoding": "base64",
10              "size": 5362,
11              "name": "README.md",
12              "path": "README.md",
13              "content": "ZW5jb2RlZCBjb250ZW50IC4uLg==",
14              "sha": "3d21ec53a331a6f037a91c368710b99387d012c1",
15              "url": "https://api.github.com/repos/octokit/octokit.rb/contents/README.md",
16              "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1",
17              "html_url": "https://github.com/octokit/octokit.rb/blob/master/README.md",
18              "download_url": "https://raw.githubusercontent.com/octokit/octokit.rb/master/README.md",
19              "_links": {
20                "git": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1",
21                "self": "https://api.github.com/repos/octokit/octokit.rb/contents/README.md",
22                "html": "https://github.com/octokit/octokit.rb/blob/master/README.md"
23              }
24            }
25        "#
26        )
27        .create()
28}
29
30pub fn mock_get_contents_directory() -> Mock {
31    mock("GET", "/repos/octokit/octokit.rb/contents/lib/octokit")
32        .with_status(200)
33        .with_body(r#"
34            [
35              {
36                "type": "file",
37                "size": 625,
38                "name": "octokit.rb",
39                "path": "lib/octokit.rb",
40                "sha": "fff6fe3a23bf1c8ea0692b4a883af99bee26fd3b",
41                "url": "https://api.github.com/repos/octokit/octokit.rb/contents/lib/octokit.rb",
42                "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/fff6fe3a23bf1c8ea0692b4a883af99bee26fd3b",
43                "html_url": "https://github.com/octokit/octokit.rb/blob/master/lib/octokit.rb",
44                "download_url": "https://raw.githubusercontent.com/octokit/octokit.rb/master/lib/octokit.rb",
45                "_links": {
46                  "self": "https://api.github.com/repos/octokit/octokit.rb/contents/lib/octokit.rb",
47                  "git": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/fff6fe3a23bf1c8ea0692b4a883af99bee26fd3b",
48                  "html": "https://github.com/octokit/octokit.rb/blob/master/lib/octokit.rb"
49                }
50              },
51              {
52                "type": "dir",
53                "size": 0,
54                "name": "octokit",
55                "path": "lib/octokit",
56                "sha": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d",
57                "url": "https://api.github.com/repos/octokit/octokit.rb/contents/lib/octokit",
58                "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/trees/a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d",
59                "html_url": "https://github.com/octokit/octokit.rb/tree/master/lib/octokit",
60                "download_url": null,
61                "_links": {
62                  "self": "https://api.github.com/repos/octokit/octokit.rb/contents/lib/octokit",
63                  "git": "https://api.github.com/repos/octokit/octokit.rb/git/trees/a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d",
64                  "html": "https://github.com/octokit/octokit.rb/tree/master/lib/octokit"
65                }
66              }
67            ]
68        "#
69        )
70        .create()
71}
72
73pub fn mock_get_contents_submodule() -> Mock {
74    mock("GET", "/repos/jquery/jquery/contents/test/qunit")
75        .with_status(200)
76        .with_body(r#"
77            {
78              "type": "submodule",
79              "submodule_git_url": "git://github.com/jquery/qunit.git",
80              "size": 0,
81              "name": "qunit",
82              "path": "test/qunit",
83              "sha": "6ca3721222109997540bd6d9ccd396902e0ad2f9",
84              "url": "https://api.github.com/repos/jquery/jquery/contents/test/qunit?ref=master",
85              "git_url": "https://api.github.com/repos/jquery/qunit/git/trees/6ca3721222109997540bd6d9ccd396902e0ad2f9",
86              "html_url": "https://github.com/jquery/qunit/tree/6ca3721222109997540bd6d9ccd396902e0ad2f9",
87              "download_url": null,
88              "_links": {
89                "git": "https://api.github.com/repos/jquery/qunit/git/trees/6ca3721222109997540bd6d9ccd396902e0ad2f9",
90                "self": "https://api.github.com/repos/jquery/jquery/contents/test/qunit?ref=master",
91                "html": "https://github.com/jquery/qunit/tree/6ca3721222109997540bd6d9ccd396902e0ad2f9"
92              }
93            }
94        "#
95        )
96        .create()
97}
98
99pub fn mock_get_contents_symlink() -> Mock {
100    mock("GET", "/repos/octokit/octokit.rb/contents/bin/some-symlink")
101        .with_status(200)
102        .with_body(r#"
103            {
104              "type": "symlink",
105              "target": "/path/to/symlink/target",
106              "size": 23,
107              "name": "some-symlink",
108              "path": "bin/some-symlink",
109              "sha": "452a98979c88e093d682cab404a3ec82babebb48",
110              "url": "https://api.github.com/repos/octokit/octokit.rb/contents/bin/some-symlink",
111              "git_url": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/452a98979c88e093d682cab404a3ec82babebb48",
112              "html_url": "https://github.com/octokit/octokit.rb/blob/master/bin/some-symlink",
113              "download_url": "https://raw.githubusercontent.com/octokit/octokit.rb/master/bin/some-symlink",
114              "_links": {
115                "git": "https://api.github.com/repos/octokit/octokit.rb/git/blobs/452a98979c88e093d682cab404a3ec82babebb48",
116                "self": "https://api.github.com/repos/octokit/octokit.rb/contents/bin/some-symlink",
117                "html": "https://github.com/octokit/octokit.rb/blob/master/bin/some-symlink"
118              }
119            }
120        "#
121        )
122        .create()
123}