gitlab 4.2.0 → 4.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +4 -2
  3. data/LICENSE.txt +1 -1
  4. data/README.md +96 -25
  5. data/exe/gitlab +5 -1
  6. data/lib/gitlab/api.rb +8 -3
  7. data/lib/gitlab/cli.rb +15 -15
  8. data/lib/gitlab/cli_helpers.rb +63 -61
  9. data/lib/gitlab/client/access_requests.rb +103 -0
  10. data/lib/gitlab/client/application_settings.rb +172 -0
  11. data/lib/gitlab/client/avatar.rb +21 -0
  12. data/lib/gitlab/client/award_emojis.rb +5 -3
  13. data/lib/gitlab/client/boards.rb +62 -4
  14. data/lib/gitlab/client/branches.rb +53 -14
  15. data/lib/gitlab/client/broadcast_messages.rb +75 -0
  16. data/lib/gitlab/client/build_variables.rb +78 -9
  17. data/lib/gitlab/client/builds.rb +13 -11
  18. data/lib/gitlab/client/commits.rb +89 -19
  19. data/lib/gitlab/client/container_registry.rb +85 -0
  20. data/lib/gitlab/client/deployments.rb +34 -0
  21. data/lib/gitlab/client/environments.rb +5 -3
  22. data/lib/gitlab/client/epic_issues.rb +23 -0
  23. data/lib/gitlab/client/epics.rb +73 -0
  24. data/lib/gitlab/client/events.rb +60 -0
  25. data/lib/gitlab/client/features.rb +48 -0
  26. data/lib/gitlab/client/group_badges.rb +88 -0
  27. data/lib/gitlab/client/group_boards.rb +141 -0
  28. data/lib/gitlab/client/group_labels.rb +88 -0
  29. data/lib/gitlab/client/group_milestones.rb +94 -0
  30. data/lib/gitlab/client/groups.rb +197 -17
  31. data/lib/gitlab/client/issue_links.rb +48 -0
  32. data/lib/gitlab/client/issues.rb +98 -4
  33. data/lib/gitlab/client/jobs.rb +96 -8
  34. data/lib/gitlab/client/keys.rb +13 -0
  35. data/lib/gitlab/client/labels.rb +7 -5
  36. data/lib/gitlab/client/lint.rb +19 -0
  37. data/lib/gitlab/client/markdown.rb +23 -0
  38. data/lib/gitlab/client/merge_request_approvals.rb +265 -0
  39. data/lib/gitlab/client/merge_requests.rb +237 -9
  40. data/lib/gitlab/client/milestones.rb +19 -5
  41. data/lib/gitlab/client/namespaces.rb +4 -2
  42. data/lib/gitlab/client/notes.rb +58 -12
  43. data/lib/gitlab/client/pipeline_schedules.rb +147 -0
  44. data/lib/gitlab/client/pipeline_triggers.rb +12 -10
  45. data/lib/gitlab/client/pipelines.rb +40 -3
  46. data/lib/gitlab/client/project_badges.rb +85 -0
  47. data/lib/gitlab/client/project_clusters.rb +83 -0
  48. data/lib/gitlab/client/project_release_links.rb +76 -0
  49. data/lib/gitlab/client/project_releases.rb +79 -0
  50. data/lib/gitlab/client/projects.rb +280 -47
  51. data/lib/gitlab/client/protected_tags.rb +59 -0
  52. data/lib/gitlab/client/remote_mirrors.rb +51 -0
  53. data/lib/gitlab/client/repositories.rb +60 -6
  54. data/lib/gitlab/client/repository_files.rb +23 -5
  55. data/lib/gitlab/client/repository_submodules.rb +27 -0
  56. data/lib/gitlab/client/resource_label_events.rb +82 -0
  57. data/lib/gitlab/client/resource_state_events.rb +57 -0
  58. data/lib/gitlab/client/runners.rb +111 -15
  59. data/lib/gitlab/client/search.rb +66 -0
  60. data/lib/gitlab/client/services.rb +4 -1
  61. data/lib/gitlab/client/sidekiq.rb +39 -0
  62. data/lib/gitlab/client/snippets.rb +8 -4
  63. data/lib/gitlab/client/system_hooks.rb +9 -7
  64. data/lib/gitlab/client/tags.rb +15 -14
  65. data/lib/gitlab/client/templates.rb +100 -0
  66. data/lib/gitlab/client/todos.rb +7 -5
  67. data/lib/gitlab/client/user_snippets.rb +114 -0
  68. data/lib/gitlab/client/users.rb +166 -30
  69. data/lib/gitlab/client/versions.rb +18 -0
  70. data/lib/gitlab/client/wikis.rb +79 -0
  71. data/lib/gitlab/client.rb +49 -12
  72. data/lib/gitlab/configuration.rb +8 -6
  73. data/lib/gitlab/error.rb +74 -5
  74. data/lib/gitlab/file_response.rb +5 -3
  75. data/lib/gitlab/help.rb +19 -20
  76. data/lib/gitlab/objectified_hash.rb +27 -10
  77. data/lib/gitlab/page_links.rb +11 -9
  78. data/lib/gitlab/paginated_response.rb +37 -24
  79. data/lib/gitlab/request.rb +42 -53
  80. data/lib/gitlab/shell.rb +11 -12
  81. data/lib/gitlab/shell_history.rb +11 -13
  82. data/lib/gitlab/version.rb +3 -1
  83. data/lib/gitlab.rb +19 -8
  84. metadata +50 -395
  85. data/.gitignore +0 -22
  86. data/.travis.yml +0 -8
  87. data/CONTRIBUTING.md +0 -195
  88. data/Gemfile +0 -4
  89. data/Rakefile +0 -9
  90. data/bin/console +0 -10
  91. data/bin/setup +0 -6
  92. data/gitlab.gemspec +0 -31
  93. data/spec/fixtures/board_list.json +0 -1
  94. data/spec/fixtures/board_lists.json +0 -1
  95. data/spec/fixtures/boards.json +0 -1
  96. data/spec/fixtures/branch.json +0 -1
  97. data/spec/fixtures/branch_delete.json +0 -3
  98. data/spec/fixtures/branches.json +0 -1
  99. data/spec/fixtures/build.json +0 -38
  100. data/spec/fixtures/build_artifacts.json +0 -0
  101. data/spec/fixtures/build_cancel.json +0 -24
  102. data/spec/fixtures/build_erase.json +0 -24
  103. data/spec/fixtures/build_retry.json +0 -24
  104. data/spec/fixtures/builds.json +0 -78
  105. data/spec/fixtures/builds_commits.json +0 -64
  106. data/spec/fixtures/compare_merge_request_diff.json +0 -31
  107. data/spec/fixtures/empty.json +0 -0
  108. data/spec/fixtures/environment.json +0 -6
  109. data/spec/fixtures/environments.json +0 -14
  110. data/spec/fixtures/error_already_exists.json +0 -1
  111. data/spec/fixtures/error_project_not_found.json +0 -1
  112. data/spec/fixtures/get_repository_file.json +0 -1
  113. data/spec/fixtures/group.json +0 -60
  114. data/spec/fixtures/group_create.json +0 -1
  115. data/spec/fixtures/group_create_with_description.json +0 -1
  116. data/spec/fixtures/group_delete.json +0 -1
  117. data/spec/fixtures/group_member.json +0 -1
  118. data/spec/fixtures/group_member_delete.json +0 -1
  119. data/spec/fixtures/group_member_edit.json +0 -1
  120. data/spec/fixtures/group_members.json +0 -1
  121. data/spec/fixtures/group_projects.json +0 -44
  122. data/spec/fixtures/group_search.json +0 -2
  123. data/spec/fixtures/groups.json +0 -2
  124. data/spec/fixtures/issue.json +0 -1
  125. data/spec/fixtures/issue_award_emoji.json +0 -16
  126. data/spec/fixtures/issue_award_emojis.json +0 -34
  127. data/spec/fixtures/issues.json +0 -1
  128. data/spec/fixtures/job.json +0 -43
  129. data/spec/fixtures/job_trace.json +0 -1
  130. data/spec/fixtures/jobs.json +0 -91
  131. data/spec/fixtures/key.json +0 -1
  132. data/spec/fixtures/keys.json +0 -1
  133. data/spec/fixtures/label.json +0 -1
  134. data/spec/fixtures/label_unsubscribe.json +0 -1
  135. data/spec/fixtures/labels.json +0 -1
  136. data/spec/fixtures/merge_request.json +0 -1
  137. data/spec/fixtures/merge_request_award_emoji.json +0 -16
  138. data/spec/fixtures/merge_request_award_emojis.json +0 -34
  139. data/spec/fixtures/merge_request_changes.json +0 -1
  140. data/spec/fixtures/merge_request_closes_issues.json +0 -1
  141. data/spec/fixtures/merge_request_comment.json +0 -1
  142. data/spec/fixtures/merge_request_comments.json +0 -1
  143. data/spec/fixtures/merge_request_commits.json +0 -1
  144. data/spec/fixtures/merge_requests.json +0 -1
  145. data/spec/fixtures/milestone.json +0 -1
  146. data/spec/fixtures/milestone_issues.json +0 -1
  147. data/spec/fixtures/milestone_merge_requests.json +0 -1
  148. data/spec/fixtures/milestones.json +0 -1
  149. data/spec/fixtures/namespaces.json +0 -1
  150. data/spec/fixtures/note.json +0 -1
  151. data/spec/fixtures/note_award_emoji.json +0 -16
  152. data/spec/fixtures/note_award_emojis.json +0 -18
  153. data/spec/fixtures/notes.json +0 -1
  154. data/spec/fixtures/pipeline.json +0 -23
  155. data/spec/fixtures/pipeline_cancel.json +0 -23
  156. data/spec/fixtures/pipeline_create.json +0 -23
  157. data/spec/fixtures/pipeline_jobs.json +0 -91
  158. data/spec/fixtures/pipeline_retry.json +0 -23
  159. data/spec/fixtures/pipelines.json +0 -48
  160. data/spec/fixtures/project.json +0 -1
  161. data/spec/fixtures/project_commit.json +0 -13
  162. data/spec/fixtures/project_commit_comment.json +0 -1
  163. data/spec/fixtures/project_commit_comments.json +0 -1
  164. data/spec/fixtures/project_commit_create.json +0 -22
  165. data/spec/fixtures/project_commit_diff.json +0 -10
  166. data/spec/fixtures/project_commit_status.json +0 -42
  167. data/spec/fixtures/project_commits.json +0 -1
  168. data/spec/fixtures/project_edit.json +0 -21
  169. data/spec/fixtures/project_events.json +0 -1
  170. data/spec/fixtures/project_for_user.json +0 -1
  171. data/spec/fixtures/project_fork.json +0 -50
  172. data/spec/fixtures/project_fork_link.json +0 -1
  173. data/spec/fixtures/project_forked_for_user.json +0 -50
  174. data/spec/fixtures/project_hook.json +0 -1
  175. data/spec/fixtures/project_hooks.json +0 -1
  176. data/spec/fixtures/project_issues.json +0 -1
  177. data/spec/fixtures/project_key.json +0 -6
  178. data/spec/fixtures/project_keys.json +0 -6
  179. data/spec/fixtures/project_runner_enable.json +0 -7
  180. data/spec/fixtures/project_runners.json +0 -16
  181. data/spec/fixtures/project_search.json +0 -1
  182. data/spec/fixtures/project_star.json +0 -44
  183. data/spec/fixtures/project_tag_annotated.json +0 -1
  184. data/spec/fixtures/project_tag_lightweight.json +0 -1
  185. data/spec/fixtures/project_tags.json +0 -1
  186. data/spec/fixtures/project_unstar.json +0 -44
  187. data/spec/fixtures/project_update_commit_status.json +0 -20
  188. data/spec/fixtures/projects.json +0 -1
  189. data/spec/fixtures/push_rule.json +0 -1
  190. data/spec/fixtures/raw_file.json +0 -2
  191. data/spec/fixtures/release_create.json +0 -1
  192. data/spec/fixtures/release_update.json +0 -1
  193. data/spec/fixtures/repository_file.json +0 -1
  194. data/spec/fixtures/run_trigger.json +0 -1
  195. data/spec/fixtures/runner.json +0 -26
  196. data/spec/fixtures/runner_delete.json +0 -7
  197. data/spec/fixtures/runner_edit.json +0 -26
  198. data/spec/fixtures/runners.json +0 -16
  199. data/spec/fixtures/runners_all.json +0 -30
  200. data/spec/fixtures/service.json +0 -1
  201. data/spec/fixtures/session.json +0 -1
  202. data/spec/fixtures/shell_history.json +0 -2
  203. data/spec/fixtures/snippet.json +0 -1
  204. data/spec/fixtures/snippet_award_emoji.json +0 -16
  205. data/spec/fixtures/snippet_award_emojis.json +0 -34
  206. data/spec/fixtures/snippet_content.json +0 -3
  207. data/spec/fixtures/snippets.json +0 -1
  208. data/spec/fixtures/system_hook.json +0 -1
  209. data/spec/fixtures/system_hooks.json +0 -1
  210. data/spec/fixtures/tag.json +0 -1
  211. data/spec/fixtures/tag_create.json +0 -1
  212. data/spec/fixtures/tag_create_with_description.json +0 -1
  213. data/spec/fixtures/tag_delete.json +0 -1
  214. data/spec/fixtures/tags.json +0 -1
  215. data/spec/fixtures/team_member.json +0 -1
  216. data/spec/fixtures/team_members.json +0 -1
  217. data/spec/fixtures/todo.json +0 -73
  218. data/spec/fixtures/todos.json +0 -148
  219. data/spec/fixtures/tree.json +0 -1
  220. data/spec/fixtures/trigger.json +0 -10
  221. data/spec/fixtures/triggers.json +0 -12
  222. data/spec/fixtures/user.json +0 -1
  223. data/spec/fixtures/user_block_unblock.json +0 -1
  224. data/spec/fixtures/user_email.json +0 -1
  225. data/spec/fixtures/user_emails.json +0 -1
  226. data/spec/fixtures/user_search.json +0 -1
  227. data/spec/fixtures/users.json +0 -1
  228. data/spec/fixtures/variable.json +0 -4
  229. data/spec/fixtures/variables.json +0 -10
  230. data/spec/gitlab/cli_helpers_spec.rb +0 -57
  231. data/spec/gitlab/cli_spec.rb +0 -119
  232. data/spec/gitlab/client/award_emojis_spec.rb +0 -391
  233. data/spec/gitlab/client/boards_spec.rb +0 -94
  234. data/spec/gitlab/client/branches_spec.rb +0 -116
  235. data/spec/gitlab/client/build_variables_spec.rb +0 -86
  236. data/spec/gitlab/client/builds_spec.rb +0 -148
  237. data/spec/gitlab/client/client_spec.rb +0 -11
  238. data/spec/gitlab/client/commits_spec.rb +0 -168
  239. data/spec/gitlab/client/environments_spec.rb +0 -132
  240. data/spec/gitlab/client/groups_spec.rb +0 -195
  241. data/spec/gitlab/client/issues_spec.rb +0 -186
  242. data/spec/gitlab/client/jobs_spec.rb +0 -135
  243. data/spec/gitlab/client/keys_spec.rb +0 -19
  244. data/spec/gitlab/client/labels_spec.rb +0 -100
  245. data/spec/gitlab/client/merge_requests_spec.rb +0 -224
  246. data/spec/gitlab/client/milestones_spec.rb +0 -98
  247. data/spec/gitlab/client/namespaces_spec.rb +0 -22
  248. data/spec/gitlab/client/notes_spec.rb +0 -333
  249. data/spec/gitlab/client/pipeline_triggers_spec.rb +0 -157
  250. data/spec/gitlab/client/pipelines_spec.rb +0 -95
  251. data/spec/gitlab/client/projects_spec.rb +0 -613
  252. data/spec/gitlab/client/repositories_spec.rb +0 -94
  253. data/spec/gitlab/client/repository_files_spec.rb +0 -95
  254. data/spec/gitlab/client/runners_spec.rb +0 -185
  255. data/spec/gitlab/client/services_spec.rb +0 -55
  256. data/spec/gitlab/client/snippets_spec.rb +0 -100
  257. data/spec/gitlab/client/system_hooks_spec.rb +0 -69
  258. data/spec/gitlab/client/tags_spec.rb +0 -109
  259. data/spec/gitlab/client/todos_spec.rb +0 -45
  260. data/spec/gitlab/client/users_spec.rb +0 -418
  261. data/spec/gitlab/error_spec.rb +0 -45
  262. data/spec/gitlab/file_response_spec.rb +0 -33
  263. data/spec/gitlab/help_spec.rb +0 -46
  264. data/spec/gitlab/objectified_hash_spec.rb +0 -48
  265. data/spec/gitlab/page_links_spec.rb +0 -16
  266. data/spec/gitlab/paginated_response_spec.rb +0 -60
  267. data/spec/gitlab/request_spec.rb +0 -73
  268. data/spec/gitlab/shell_history_spec.rb +0 -53
  269. data/spec/gitlab/shell_spec.rb +0 -80
  270. data/spec/gitlab_spec.rb +0 -97
  271. data/spec/spec_helper.rb +0 -74
@@ -1,116 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- it { should respond_to :repo_branches }
5
- it { should respond_to :repo_branch }
6
- it { should respond_to :repo_protect_branch }
7
- it { should respond_to :repo_unprotect_branch }
8
-
9
- describe ".branches" do
10
- before do
11
- stub_get("/projects/3/repository/branches", "branches")
12
- @branches = Gitlab.branches(3)
13
- end
14
-
15
- it "should get the correct resource" do
16
- expect(a_get("/projects/3/repository/branches")).to have_been_made
17
- end
18
-
19
- it "should return a paginated response of repository branches" do
20
- expect(@branches).to be_a Gitlab::PaginatedResponse
21
- expect(@branches.first.name).to eq("api")
22
- end
23
- end
24
-
25
- describe ".branch" do
26
- before do
27
- stub_get("/projects/3/repository/branches/api", "branch")
28
- @branch = Gitlab.branch(3, "api")
29
- end
30
-
31
- it "should get the correct resource" do
32
- expect(a_get("/projects/3/repository/branches/api")).to have_been_made
33
- end
34
-
35
- it "should return information about a repository branch" do
36
- expect(@branch.name).to eq("api")
37
- end
38
- end
39
-
40
- describe ".protect_branch" do
41
- before do
42
- stub_put("/projects/3/repository/branches/api/protect", "branch")
43
- end
44
-
45
- context "without options" do
46
- before do
47
- @branch = Gitlab.protect_branch(3, "api")
48
- end
49
-
50
- it "should update the correct resource" do
51
- expect(a_put("/projects/3/repository/branches/api/protect")).to have_been_made
52
- end
53
-
54
- it "should return information about a protected repository branch" do
55
- expect(@branch.name).to eq("api")
56
- end
57
- end
58
-
59
- context "with options" do
60
- before do
61
- @branch = Gitlab.protect_branch(3, "api", developers_can_push: true)
62
- end
63
-
64
- it "should update the correct resource with the correct options" do
65
- expect(
66
- a_put("/projects/3/repository/branches/api/protect").with(body: { developers_can_push: 'true' })
67
- ).to have_been_made
68
- end
69
- end
70
- end
71
-
72
- describe ".unprotect_branch" do
73
- before do
74
- stub_put("/projects/3/repository/branches/api/unprotect", "branch")
75
- @branch = Gitlab.unprotect_branch(3, "api")
76
- end
77
-
78
- it "should get the correct resource" do
79
- expect(a_put("/projects/3/repository/branches/api/unprotect")).to have_been_made
80
- end
81
-
82
- it "should return information about an unprotected repository branch" do
83
- expect(@branch.name).to eq("api")
84
- end
85
- end
86
-
87
- describe ".create_branch" do
88
- before do
89
- stub_post("/projects/3/repository/branches", "branch")
90
- @branch = Gitlab.create_branch(3, "api", "master")
91
- end
92
-
93
- it "should get the correct resource" do
94
- expect(a_post("/projects/3/repository/branches")).to have_been_made
95
- end
96
-
97
- it "should return information about a new repository branch" do
98
- expect(@branch.name).to eq("api")
99
- end
100
- end
101
-
102
- describe ".delete_branch" do
103
- before do
104
- stub_delete("/projects/3/repository/branches/api", "branch_delete")
105
- @branch = Gitlab.delete_branch(3, "api")
106
- end
107
-
108
- it "should get the correct resource" do
109
- expect(a_delete("/projects/3/repository/branches/api")).to have_been_made
110
- end
111
-
112
- it "should return information about the deleted repository branch" do
113
- expect(@branch.branch_name).to eq("api")
114
- end
115
- end
116
- end
@@ -1,86 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- describe ".variables" do
5
- before do
6
- stub_get("/projects/3/variables", "variables")
7
- @variables = Gitlab.variables(3)
8
- end
9
-
10
- it "should get the correct resource" do
11
- expect(a_get("/projects/3/variables")).to have_been_made
12
- end
13
-
14
- it "should return an array of project's variables" do
15
- expect(@variables).to be_a Gitlab::PaginatedResponse
16
- expect(@variables.first.key).to eq("TEST_VARIABLE_1")
17
- expect(@variables.first.value).to eq("TEST_1")
18
- end
19
- end
20
-
21
- describe ".variable" do
22
- before do
23
- stub_get("/projects/3/variables/VARIABLE", "variable")
24
- @variable = Gitlab.variable(3, "VARIABLE")
25
- end
26
-
27
- it "should get the correct resource" do
28
- expect(a_get("/projects/3/variables/VARIABLE")).to have_been_made
29
- end
30
-
31
- it "should return information about a variable" do
32
- expect(@variable.key).to eq("VARIABLE")
33
- expect(@variable.value).to eq("the value")
34
- end
35
- end
36
-
37
- describe ".create_variable" do
38
- before do
39
- stub_post("/projects/3/variables", "variable")
40
- @variable = Gitlab.create_variable(3, "NEW_VARIABLE", "new value")
41
- end
42
-
43
- it "should get the correct resource" do
44
- body = { key: "NEW_VARIABLE", value: "new value" }
45
- expect(a_post("/projects/3/variables").with(body: body)).to have_been_made
46
- end
47
-
48
- it "should return information about a new variable" do
49
- expect(@variable.key).to eq("VARIABLE")
50
- expect(@variable.value).to eq("the value")
51
- end
52
- end
53
-
54
- describe ".update_variable" do
55
- before do
56
- stub_put("/projects/3/variables/UPD_VARIABLE", "variable")
57
- @variable = Gitlab.update_variable(3, "UPD_VARIABLE", "updated value")
58
- end
59
-
60
- it "should put the correct resource" do
61
- body = { value: "updated value" }
62
- expect(a_put("/projects/3/variables/UPD_VARIABLE").with(body: body)).to have_been_made
63
- end
64
-
65
- it "should return information about an updated variable" do
66
- expect(@variable.key).to eq("VARIABLE")
67
- expect(@variable.value).to eq("the value")
68
- end
69
- end
70
-
71
- describe ".remove_variable" do
72
- before do
73
- stub_delete("/projects/3/variables/DEL_VARIABLE", "variable")
74
- @variable = Gitlab.remove_variable(3, "DEL_VARIABLE")
75
- end
76
-
77
- it "should get the correct resource" do
78
- expect(a_delete("/projects/3/variables/DEL_VARIABLE")).to have_been_made
79
- end
80
-
81
- it "should return information about a deleted variable" do
82
- expect(@variable.key).to eq("VARIABLE")
83
- expect(@variable.value).to eq("the value")
84
- end
85
- end
86
- end
@@ -1,148 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- describe ".builds" do
5
- before do
6
- stub_get("/projects/3/builds", "builds")
7
- @builds = Gitlab.builds(3)
8
- end
9
-
10
- it "should get the correct resource" do
11
- expect(a_get("/projects/3/builds")).to have_been_made
12
- end
13
-
14
- it "should return a paginated response of project's builds" do
15
- expect(@builds).to be_a Gitlab::PaginatedResponse
16
- end
17
- end
18
-
19
- describe ".build" do
20
- before do
21
- stub_get("/projects/3/builds/8", "build")
22
- @build = Gitlab.build(3, 8)
23
- end
24
-
25
- it "should get the correct resource" do
26
- expect(a_get("/projects/3/builds/8")).to have_been_made
27
- end
28
-
29
- it "should return a single build" do
30
- expect(@build).to be_a Gitlab::ObjectifiedHash
31
- end
32
-
33
- it "should return information about a build" do
34
- expect(@build.id).to eq(8)
35
- expect(@build.user.name).to eq("John Smith")
36
- end
37
- end
38
-
39
- describe ".build_artifacts" do
40
- context "when successful request" do
41
- before do
42
- fixture = load_fixture('build_artifacts')
43
- fixture.set_encoding(Encoding::ASCII_8BIT)
44
- stub_request(:get, "#{Gitlab.endpoint}/projects/3/builds/8/artifacts").
45
- with(headers: { 'PRIVATE-TOKEN' => Gitlab.private_token }).
46
- to_return(body: fixture.read, headers: { 'Content-Disposition' => "attachment; filename=artifacts.zip" })
47
- @build_artifacts = Gitlab.build_artifacts(3, 8)
48
- end
49
-
50
- it "should get the correct resource" do
51
- expect(a_get("/projects/3/builds/8/artifacts")).to have_been_made
52
- end
53
-
54
- it "should return a FileResponse" do
55
- expect(@build_artifacts).to be_a Gitlab::FileResponse
56
- end
57
-
58
- it "should return a file with filename" do
59
- expect(@build_artifacts.filename).to eq "artifacts.zip"
60
- end
61
- end
62
-
63
- context "when bad request" do
64
- it "should throw an exception" do
65
- stub_get("/projects/3/builds/8/artifacts", "error_project_not_found", 404)
66
- expect{ Gitlab.build_artifacts(3, 8) }.to raise_error(Gitlab::Error::NotFound, "Server responded with code 404, message: 404 Project Not Found. Request URI: #{Gitlab.endpoint}/projects/3/builds/8/artifacts")
67
- end
68
- end
69
- end
70
-
71
- describe ".builds_commits" do
72
- before do
73
- stub_get("/projects/3/repository/commits/0ff3ae198f8601a285adcf5c0fff204ee6fba5fd/builds", "builds_commits")
74
- @builds_commits = Gitlab.commit_builds(3, "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd")
75
- end
76
-
77
- it "should get the correct resource" do
78
- expect(a_get("/projects/3/repository/commits/0ff3ae198f8601a285adcf5c0fff204ee6fba5fd/builds")).to have_been_made
79
- end
80
-
81
- it "should return a paginated response of commit builds" do
82
- expect(@builds_commits).to be_a Gitlab::PaginatedResponse
83
- end
84
-
85
- it "should return information about the builds" do
86
- expect(@builds_commits.count).to eq(2)
87
- end
88
- end
89
-
90
-
91
-
92
- describe ".build_cancel" do
93
- before do
94
- stub_post("/projects/3/builds/8/cancel", "build_cancel")
95
- @build_cancel = Gitlab.build_cancel(3, 8)
96
- end
97
-
98
- it "should get the correct resource" do
99
- expect(a_post("/projects/3/builds/8/cancel")).to have_been_made
100
- end
101
-
102
- it "should return a single build" do
103
- expect(@build_cancel).to be_a Gitlab::ObjectifiedHash
104
- end
105
-
106
- it "should return information about a build" do
107
- expect(@build_cancel.commit.author_name).to eq("John Smith")
108
- end
109
- end
110
-
111
- describe ".build_retry" do
112
- before do
113
- stub_post("/projects/3/builds/69/retry", "build_retry")
114
- @build_retry = Gitlab.build_retry(3, 69)
115
- end
116
-
117
- it "should get the correct resource" do
118
- expect(a_post("/projects/3/builds/69/retry")).to have_been_made
119
- end
120
-
121
- it "should return a single build" do
122
- expect(@build_retry).to be_a Gitlab::ObjectifiedHash
123
- end
124
-
125
- it "should return information about a build" do
126
- expect(@build_retry.commit.author_name).to eq("John Smith")
127
- end
128
- end
129
-
130
- describe ".build_erase" do
131
- before do
132
- stub_post("/projects/3/builds/69/erase", "build_erase")
133
- @build_retry = Gitlab.build_erase(3, 69)
134
- end
135
-
136
- it "should get the correct resource" do
137
- expect(a_post("/projects/3/builds/69/erase")).to have_been_made
138
- end
139
-
140
- it "should return a single build" do
141
- expect(@build_retry).to be_a Gitlab::ObjectifiedHash
142
- end
143
-
144
- it "should return information about a build" do
145
- expect(@build_retry.commit.author_name).to eq("John Smith")
146
- end
147
- end
148
- end
@@ -1,11 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- describe '#inspect' do
5
- it 'masks tokens on inspect' do
6
- client = described_class.new(private_token: 'ui3gIYf4MMzTx-Oh5cEBx')
7
- inspected = client.inspect
8
- expect(inspected).to include('****************cEBx')
9
- end
10
- end
11
- end
@@ -1,168 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- it { should respond_to :repo_commits }
5
- it { should respond_to :repo_commit }
6
- it { should respond_to :repo_commit_diff }
7
- it { should respond_to :repo_commit_comments }
8
- it { should respond_to :repo_create_commit_comment }
9
- it { should respond_to :repo_commit_status }
10
- it { should respond_to :repo_update_commit_status }
11
-
12
- describe ".commits" do
13
- before do
14
- stub_get("/projects/3/repository/commits", "project_commits").
15
- with(query: { ref_name: "api" })
16
- @commits = Gitlab.commits(3, ref_name: "api")
17
- end
18
-
19
- it "should get the correct resource" do
20
- expect(a_get("/projects/3/repository/commits").
21
- with(query: { ref_name: "api" })).to have_been_made
22
- end
23
-
24
- it "should return a paginated response of repository commits" do
25
- expect(@commits).to be_a Gitlab::PaginatedResponse
26
- expect(@commits.first.id).to eq("f7dd067490fe57505f7226c3b54d3127d2f7fd46")
27
- end
28
- end
29
-
30
- describe ".commit" do
31
- before do
32
- stub_get("/projects/3/repository/commits/6104942438c14ec7bd21c6cd5bd995272b3faff6", "project_commit")
33
- @commit = Gitlab.commit(3, '6104942438c14ec7bd21c6cd5bd995272b3faff6')
34
- end
35
-
36
- it "should get the correct resource" do
37
- expect(a_get("/projects/3/repository/commits/6104942438c14ec7bd21c6cd5bd995272b3faff6")).
38
- to have_been_made
39
- end
40
-
41
- it "should return a repository commit" do
42
- expect(@commit.id).to eq("6104942438c14ec7bd21c6cd5bd995272b3faff6")
43
- end
44
- end
45
-
46
- describe ".commit_diff" do
47
- before do
48
- stub_get("/projects/3/repository/commits/6104942438c14ec7bd21c6cd5bd995272b3faff6/diff", "project_commit_diff")
49
- @diff = Gitlab.commit_diff(3, '6104942438c14ec7bd21c6cd5bd995272b3faff6')
50
- end
51
-
52
- it "should get the correct resource" do
53
- expect(a_get("/projects/3/repository/commits/6104942438c14ec7bd21c6cd5bd995272b3faff6/diff")).
54
- to have_been_made
55
- end
56
-
57
- it "should return a diff of a commit" do
58
- expect(@diff.new_path).to eq("doc/update/5.4-to-6.0.md")
59
- end
60
- end
61
-
62
- describe ".commit_comments" do
63
- before do
64
- stub_get("/projects/3/repository/commits/6104942438c14ec7bd21c6cd5bd995272b3faff6/comments", "project_commit_comments")
65
- @commit_comments = Gitlab.commit_comments(3, '6104942438c14ec7bd21c6cd5bd995272b3faff6')
66
- end
67
-
68
- it "should get the correct resource" do
69
- expect(a_get("/projects/3/repository/commits/6104942438c14ec7bd21c6cd5bd995272b3faff6/comments")).
70
- to have_been_made
71
- end
72
-
73
- it "should return commit's comments" do
74
- expect(@commit_comments).to be_a Gitlab::PaginatedResponse
75
- expect(@commit_comments.length).to eq(2)
76
- expect(@commit_comments[0].note).to eq("this is the 1st comment on commit 6104942438c14ec7bd21c6cd5bd995272b3faff6")
77
- expect(@commit_comments[0].author.id).to eq(11)
78
- expect(@commit_comments[1].note).to eq("another discussion point on commit 6104942438c14ec7bd21c6cd5bd995272b3faff6")
79
- expect(@commit_comments[1].author.id).to eq(12)
80
- end
81
- end
82
-
83
- describe ".create_commit_comment" do
84
- before do
85
- stub_post("/projects/3/repository/commits/6104942438c14ec7bd21c6cd5bd995272b3faff6/comments", "project_commit_comment")
86
- @merge_request = Gitlab.create_commit_comment(3, '6104942438c14ec7bd21c6cd5bd995272b3faff6', 'Nice code!')
87
- end
88
-
89
- it "should return information about the newly created comment" do
90
- expect(@merge_request.note).to eq('Nice code!')
91
- expect(@merge_request.author.id).to eq(1)
92
- end
93
- end
94
-
95
- describe ".commit_status" do
96
- before do
97
- stub_get("/projects/6/repository/commits/7d938cb8ac15788d71f4b67c035515a160ea76d8/statuses", 'project_commit_status').
98
- with(query: { all: 'true' })
99
- @statuses = Gitlab.commit_status(6, '7d938cb8ac15788d71f4b67c035515a160ea76d8', all: true)
100
- end
101
-
102
- it "should get the correct resource" do
103
- expect(a_get("/projects/6/repository/commits/7d938cb8ac15788d71f4b67c035515a160ea76d8/statuses").
104
- with(query: { all: true }))
105
- end
106
-
107
- it "should get statuses of a commit" do
108
- expect(@statuses).to be_kind_of Gitlab::PaginatedResponse
109
- expect(@statuses.first.sha).to eq('7d938cb8ac15788d71f4b67c035515a160ea76d8')
110
- expect(@statuses.first.ref).to eq('decreased-spec')
111
- expect(@statuses.first.status).to eq('failed')
112
- expect(@statuses.last.sha).to eq('7d938cb8ac15788d71f4b67c035515a160ea76d8')
113
- expect(@statuses.last.status).to eq('success')
114
- end
115
- end
116
-
117
- describe ".update_commit_status" do
118
- before do
119
- stub_post("/projects/6/statuses/7d938cb8ac15788d71f4b67c035515a160ea76d8", 'project_update_commit_status').
120
- with(query: { name: 'test', ref: 'decreased-spec', state: 'failed' })
121
- @status = Gitlab.update_commit_status(6, '7d938cb8ac15788d71f4b67c035515a160ea76d8', 'failed', name: 'test', ref: 'decreased-spec')
122
- end
123
-
124
- it "should get the correct resource" do
125
- expect(a_post('/projects/6/statuses/7d938cb8ac15788d71f4b67c035515a160ea76d8').
126
- with(query: { name: 'test', ref: 'decreased-spec', state: 'failed' }))
127
- end
128
-
129
- it "should information about the newly created status" do
130
- expect(@status).to be_kind_of Gitlab::ObjectifiedHash
131
- expect(@status.id).to eq(498)
132
- expect(@status.sha).to eq('7d938cb8ac15788d71f4b67c035515a160ea76d8')
133
- expect(@status.status).to eq('failed')
134
- expect(@status.ref).to eq('decreased-spec')
135
- end
136
- end
137
-
138
- describe ".create_commit" do
139
- let(:actions) do
140
- [
141
- {
142
- action: "create",
143
- file_path: "foo/bar",
144
- content: "some content"
145
- }
146
- ]
147
- end
148
-
149
- let(:query) do
150
- {
151
- branch: 'dev',
152
- commit_message: 'refactors everything',
153
- actions: actions,
154
- author_email: 'joe@sample.org',
155
- author_name: 'Joe Sample'
156
- }
157
- end
158
-
159
- before do
160
- stub_post("/projects/6/repository/commits", 'project_commit_create').with(body: query)
161
- @commit = Gitlab.create_commit(6, 'dev', 'refactors everything', actions, {author_email: 'joe@sample.org', author_name: 'Joe Sample'})
162
- end
163
-
164
- it "should return id of a created commit" do
165
- expect(@commit.id).to eq('ed899a2f4b50b4370feeea94676502b42383c746')
166
- end
167
- end
168
- end
@@ -1,132 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- describe ".environments" do
5
- before do
6
- stub_get("/projects/3/environments", "environments")
7
- @environments = Gitlab.environments(3)
8
- end
9
-
10
- it "should get the correct resource" do
11
- expect(a_get("/projects/3/environments")).to have_been_made
12
- end
13
-
14
- it "should return a paginated response of project's environments" do
15
- expect(@environments).to be_a Gitlab::PaginatedResponse
16
- end
17
- end
18
-
19
- describe ".environment" do
20
- before do
21
- stub_get("/projects/3/environments/12", "environment")
22
- @environment = Gitlab.environment(3, 12)
23
- end
24
-
25
- it "should get the correct resource" do
26
- expect(a_get("/projects/3/environments/12")).to have_been_made
27
- end
28
-
29
- it "should return a single environment" do
30
- expect(@environment).to be_a Gitlab::ObjectifiedHash
31
- end
32
-
33
- it "should return information about an environment" do
34
- expect(@environment.id).to eq(12)
35
- expect(@environment.name).to eq("staging")
36
- end
37
- end
38
-
39
- describe ".create_environment" do
40
- context "without external_url" do
41
- before do
42
- stub_post("/projects/3/environments", "environment")
43
- @environment = Gitlab.create_environment(3, 'staging')
44
- end
45
-
46
- it "should get the correct resource" do
47
- expect(a_post("/projects/3/environments").with(body: { name: 'staging' })).to have_been_made
48
- end
49
-
50
- it "should return a single environment" do
51
- expect(@environment).to be_a Gitlab::ObjectifiedHash
52
- end
53
-
54
- it "should return information about an environment" do
55
- expect(@environment.name).to eq("staging")
56
- end
57
- end
58
-
59
- context "with external_url" do
60
- before do
61
- stub_post("/projects/3/environments", "environment")
62
- @environment = Gitlab.create_environment(3, 'staging', external_url: "https://staging.example.gitlab.com")
63
- end
64
-
65
- it "should get the correct resource" do
66
- expect(a_post("/projects/3/environments")
67
- .with(body: { name: 'staging', external_url: "https://staging.example.gitlab.com" })).to have_been_made
68
- end
69
- end
70
- end
71
-
72
- describe ".edit_environment" do
73
- before do
74
- stub_put("/projects/3/environments/12", "environment")
75
- @environment = Gitlab.edit_environment(3, 12, {
76
- name: 'staging',
77
- external_url: "https://staging.example.gitlab.com"
78
- })
79
- end
80
-
81
- it "should get the correct resource" do
82
- expect(a_put("/projects/3/environments/12")
83
- .with(body: { name: 'staging', external_url: "https://staging.example.gitlab.com" })).to have_been_made
84
- end
85
-
86
- it "should return a single environment" do
87
- expect(@environment).to be_a Gitlab::ObjectifiedHash
88
- end
89
-
90
- it "should return information about an environment" do
91
- expect(@environment.name).to eq("staging")
92
- end
93
- end
94
-
95
- describe ".delete_environment" do
96
- before do
97
- stub_delete("/projects/3/environments/12", "environment")
98
- @environment = Gitlab.delete_environment(3, 12)
99
- end
100
-
101
- it "should get the correct resource" do
102
- expect(a_delete("/projects/3/environments/12")).to have_been_made
103
- end
104
-
105
- it "should return a single pipeline" do
106
- expect(@environment).to be_a Gitlab::ObjectifiedHash
107
- end
108
-
109
- it "should return information about a pipeline" do
110
- expect(@environment.name).to eq("staging")
111
- end
112
- end
113
-
114
- describe ".stop_environment" do
115
- before do
116
- stub_post("/projects/3/environments/12/stop", "environment")
117
- @environment = Gitlab.stop_environment(3, 12)
118
- end
119
-
120
- it "should get the correct resource" do
121
- expect(a_post("/projects/3/environments/12/stop")).to have_been_made
122
- end
123
-
124
- it "should return a single pipeline" do
125
- expect(@environment).to be_a Gitlab::ObjectifiedHash
126
- end
127
-
128
- it "should return information about a pipeline" do
129
- expect(@environment.name).to eq("staging")
130
- end
131
- end
132
- end