gitlab 4.2.0 → 4.18.0

Sign up to get free protection for your applications and to get access to all the features.
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