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,95 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Gitlab::Client do
4
- describe ".file_contents" do
5
- before do
6
- stub_get("/projects/3/repository/files/Gemfile/raw?ref=master", "raw_file")
7
- @file_contents = Gitlab.file_contents(3, "Gemfile")
8
- end
9
-
10
- it "should get the correct resource" do
11
- expect(a_get("/projects/3/repository/files/Gemfile/raw?ref=master")).to have_been_made
12
- end
13
-
14
- it "should return file contents" do
15
- expect(@file_contents).to eq("source 'https://rubygems.org'\ngem 'rails', '4.1.2'\n")
16
- end
17
- end
18
-
19
- describe ".get_file" do
20
- before do
21
- stub_get("/projects/3/repository/files/README%2Emd?ref=master", "get_repository_file")
22
- @file = Gitlab.get_file(3, 'README.md', 'master')
23
- end
24
-
25
- it "should get the correct resource" do
26
- expect(a_get("/projects/3/repository/files/README%2Emd?ref=master")).to have_been_made
27
- end
28
-
29
- it "should return the base64 encoded file" do
30
- expect(@file.file_path).to eq "README.md"
31
- expect(@file.ref).to eq "master"
32
- expect(@file.content).to eq "VGhpcyBpcyBhICpSRUFETUUqIQ==\n"
33
- end
34
- end
35
-
36
- describe ".create_file" do
37
- let(:api_path) { "/projects/3/repository/files/path" }
38
- let!(:request_stub) { stub_post(api_path, "repository_file") }
39
- let!(:file) { Gitlab.create_file(3, "path", "branch", "content", "commit message", author_name: "joe") }
40
-
41
- it "should create the correct resource" do
42
- expected_parameters = {
43
- author_name: "joe",
44
- branch: "branch",
45
- commit_message: "commit message"
46
- }
47
- expect(a_post(api_path).with(body: hash_including(expected_parameters))).to have_been_made
48
- end
49
-
50
- it "should return information about the new file" do
51
- expect(file.file_path).to eq "path"
52
- expect(file.branch_name).to eq "branch"
53
- end
54
- end
55
-
56
- describe ".edit_file" do
57
- let(:api_path) { "/projects/3/repository/files/path" }
58
- let!(:request_stub) { stub_put(api_path, "repository_file") }
59
- let!(:file) { Gitlab.edit_file(3, "path", "branch", "content", "commit message", author_name: "joe") }
60
-
61
- it "should update the correct resource" do
62
- expected_parameters = {
63
- author_name: "joe",
64
- branch: "branch",
65
- commit_message: "commit message"
66
- }
67
- expect(a_put(api_path).with(body: hash_including(expected_parameters))).to have_been_made
68
- end
69
-
70
- it "should return information about the new file" do
71
- expect(file.file_path).to eq "path"
72
- expect(file.branch_name).to eq "branch"
73
- end
74
- end
75
-
76
- describe ".remove_file" do
77
- let(:api_path) { "/projects/3/repository/files/path" }
78
- let!(:request_stub) { stub_delete(api_path, "repository_file") }
79
- let!(:file) { Gitlab.remove_file(3, "path", "branch", "commit message", author_name: "joe") }
80
-
81
- it "should update the correct resource" do
82
- expected_parameters = {
83
- author_name: "joe",
84
- branch: "branch",
85
- commit_message: "commit message"
86
- }
87
- expect(a_delete(api_path).with(body: hash_including(expected_parameters))).to have_been_made
88
- end
89
-
90
- it "should return information about the new file" do
91
- expect(file.file_path).to eq "path"
92
- expect(file.branch_name).to eq "branch"
93
- end
94
- end
95
- end
@@ -1,185 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
-
5
- describe ".runners" do
6
- before do
7
- stub_get("/runners", "runners")
8
- end
9
-
10
- context 'without scope' do
11
- before do
12
- @runner = Gitlab.runners
13
- end
14
-
15
- it "should get the correct resource" do
16
- expect(a_get("/runners")).to have_been_made
17
- end
18
-
19
- it "should return a paginated response of runners" do
20
- expect(@runner).to be_a Gitlab::PaginatedResponse
21
- expect(@runner.first.id).to eq(6)
22
- expect(@runner.first.description).to eq('test-1-20150125')
23
- end
24
- end
25
-
26
- context 'with scope' do
27
- before do
28
- stub_get("/runners?scope=online", "runners")
29
- @runner = Gitlab.runners({scope: :online})
30
- end
31
-
32
- it "should get the correct resource" do
33
- expect(a_get("/runners").with(query: { scope: :online })).to have_been_made
34
- end
35
-
36
- it "should return a paginated response of runners" do
37
- expect(@runner).to be_a Gitlab::PaginatedResponse
38
- expect(@runner.first.id).to eq(6)
39
- expect(@runner.first.description).to eq('test-1-20150125')
40
- end
41
- end
42
-
43
- end
44
-
45
- describe ".all_runners" do
46
- before do
47
- stub_get("/runners/all", "runners")
48
- end
49
-
50
- context 'without scope' do
51
- before do
52
- @runner = Gitlab.all_runners
53
- end
54
-
55
- it "should get the correct resource" do
56
- expect(a_get("/runners/all")).to have_been_made
57
- end
58
-
59
- it "should return a paginated response of runners" do
60
- expect(@runner).to be_a Gitlab::PaginatedResponse
61
- expect(@runner.first.id).to eq(6)
62
- expect(@runner.first.description).to eq('test-1-20150125')
63
- end
64
- end
65
-
66
- context 'with scope' do
67
- before do
68
- stub_get("/runners/all?scope=online", "runners")
69
- @runner = Gitlab.all_runners({scope: :online})
70
- end
71
-
72
- it "should get the correct resource" do
73
- expect(a_get("/runners/all").with(query: { scope: :online })).to have_been_made
74
- end
75
-
76
- it "should return a paginated response of runners" do
77
- expect(@runner).to be_a Gitlab::PaginatedResponse
78
- expect(@runner.first.id).to eq(6)
79
- expect(@runner.first.description).to eq('test-1-20150125')
80
- end
81
- end
82
- end
83
-
84
- describe ".runner" do
85
- before do
86
- stub_get("/runners/6", "runner")
87
- @runners = Gitlab.runner(6)
88
- end
89
-
90
- it "should get the correct resource" do
91
- expect(a_get("/runners/6")).to have_been_made
92
- end
93
-
94
- it "should return a response of a runner" do
95
- expect(@runners).to be_a Gitlab::ObjectifiedHash
96
- expect(@runners.id).to eq(6)
97
- expect(@runners.description).to eq('test-1-20150125')
98
- end
99
- end
100
-
101
- describe ".update_runner" do
102
- before do
103
- stub_put("/runners/6", "runner_edit").with(query: { description: "abcefg" })
104
- @runner = Gitlab.update_runner(6, description: "abcefg" )
105
- end
106
-
107
- it "should get the correct resource" do
108
- expect(a_put("/runners/6").with(query: { description: "abcefg" })).to have_been_made
109
- end
110
-
111
- it "should return an updated response of a runner" do
112
- expect(@runner).to be_a Gitlab::ObjectifiedHash
113
- expect(@runner.description).to eq('abcefg')
114
- end
115
- end
116
-
117
- describe ".delete_runner" do
118
- before do
119
- stub_delete("/runners/6", "runner_delete")
120
- @runner = Gitlab.delete_runner(6)
121
- end
122
-
123
- it "should get the correct resource" do
124
- expect(a_delete("/runners/6")).to have_been_made
125
- end
126
-
127
- it "should return a response of the deleted runner" do
128
- expect(@runner).to be_a Gitlab::ObjectifiedHash
129
- expect(@runner.id).to eq(6)
130
- end
131
- end
132
-
133
- describe ".project_runners" do
134
- before do
135
- stub_get("/projects/1/runners", "project_runners")
136
- @runners = Gitlab.project_runners(1)
137
- end
138
-
139
- it "should get the correct resource" do
140
- expect(a_get("/projects/1/runners")).to have_been_made
141
- end
142
-
143
- it "should return a paginated response of runners" do
144
- expect(@runners).to be_a Gitlab::PaginatedResponse
145
- expect(@runners.first.id).to eq(8)
146
- expect(@runners.first.description).to eq('test-2-20150125')
147
- end
148
- end
149
-
150
- describe ".project_enable_runner" do
151
- before do
152
- stub_post("/projects/1/runners", "runner")
153
- @runner = Gitlab.project_enable_runner(1, 6)
154
- end
155
-
156
- it "should get the correct resource" do
157
- expect(a_post("/projects/1/runners")).to have_been_made
158
- end
159
-
160
- it "should return a response of the enabled runner" do
161
- expect(@runner).to be_a Gitlab::ObjectifiedHash
162
- expect(@runner.id).to eq(6)
163
- expect(@runner.description).to eq('test-1-20150125')
164
- end
165
- end
166
-
167
- describe ".project_disable_runner" do
168
- before do
169
- stub_delete("/projects/1/runners/6", "runner")
170
- @runner = Gitlab.project_disable_runner(1, 6)
171
- end
172
-
173
- it "should get the correct resource" do
174
- expect(a_delete("/projects/1/runners/6")).to have_been_made
175
- end
176
-
177
- it "should return a response of the disabled runner" do
178
- expect(@runner).to be_a Gitlab::ObjectifiedHash
179
- expect(@runner.id).to eq(6)
180
- expect(@runner.description).to eq('test-1-20150125')
181
- end
182
- end
183
-
184
-
185
- end
@@ -1,55 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- describe ".service" do
5
- before do
6
- stub_get("/projects/3/services/redmine", "service")
7
- @service = Gitlab.service(3, :redmine)
8
- end
9
-
10
- it "should get the correct resource" do
11
- expect(a_get("/projects/3/services/redmine")).to have_been_made
12
- end
13
-
14
- it "should return a information about a service of project" do
15
- expect(@service.id).to eq 38
16
- expect(@service.title).to eq("Redmine")
17
- expect(@service.properties.project_url).to eq("https://example.com/projects/test_project/issue")
18
- end
19
- end
20
-
21
- describe ".change_service" do
22
- before do
23
- stub_put("/projects/3/services/redmine", "service")
24
- @service = Gitlab.change_service(3, :redmine, new_issue_url: 'https://example.com/projects/test_project/issues/new',
25
- project_url: 'https://example.com/projects/test_project/issues',
26
- issues_url: 'https://example.com/issues/:id')
27
- end
28
-
29
- it "should get the correct resource" do
30
- body = {new_issue_url: 'https://example.com/projects/test_project/issues/new',
31
- project_url: 'https://example.com/projects/test_project/issues',
32
- issues_url: 'https://example.com/issues/:id'}
33
- expect(a_put("/projects/3/services/redmine").with(body: body)).to have_been_made
34
- end
35
-
36
- it "should return information about a new service" do
37
- expect(@service).to be_truthy
38
- end
39
- end
40
-
41
- describe ".delete_servoce" do
42
- before do
43
- stub_delete("/projects/3/services/redmine", "service")
44
- @service = Gitlab.delete_service(3, :redmine)
45
- end
46
-
47
- it "should get the correct resource" do
48
- expect(a_delete("/projects/3/services/redmine")).to have_been_made
49
- end
50
-
51
- it "should return information about a deleted service" do
52
- expect(@service).to be_truthy
53
- end
54
- end
55
- end
@@ -1,100 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- describe ".snippets" do
5
- before do
6
- stub_get("/projects/3/snippets", "snippets")
7
- @snippets = Gitlab.snippets(3)
8
- end
9
-
10
- it "should get the correct resource" do
11
- expect(a_get("/projects/3/snippets")).to have_been_made
12
- end
13
-
14
- it "should return a paginated response of project's snippets" do
15
- expect(@snippets).to be_a Gitlab::PaginatedResponse
16
- expect(@snippets.first.file_name).to eq("mailer_test.rb")
17
- end
18
- end
19
-
20
- describe ".snippet" do
21
- before do
22
- stub_get("/projects/3/snippets/1", "snippet")
23
- @snippet = Gitlab.snippet(3, 1)
24
- end
25
-
26
- it "should get the correct resource" do
27
- expect(a_get("/projects/3/snippets/1")).to have_been_made
28
- end
29
-
30
- it "should return information about a snippet" do
31
- expect(@snippet.file_name).to eq("mailer_test.rb")
32
- expect(@snippet.author.name).to eq("John Smith")
33
- end
34
- end
35
-
36
- describe ".create_snippet" do
37
- before do
38
- stub_post("/projects/3/snippets", "snippet")
39
- @snippet = Gitlab.create_snippet(3, title: 'API', file_name: 'api.rb', code: 'code')
40
- end
41
-
42
- it "should get the correct resource" do
43
- body = { title: 'API', file_name: 'api.rb', code: 'code' }
44
- expect(a_post("/projects/3/snippets").with(body: body)).to have_been_made
45
- end
46
-
47
- it "should return information about a new snippet" do
48
- expect(@snippet.file_name).to eq("mailer_test.rb")
49
- expect(@snippet.author.name).to eq("John Smith")
50
- end
51
- end
52
-
53
- describe ".edit_snippet" do
54
- before do
55
- stub_put("/projects/3/snippets/1", "snippet")
56
- @snippet = Gitlab.edit_snippet(3, 1, file_name: 'mailer_test.rb')
57
- end
58
-
59
- it "should get the correct resource" do
60
- expect(a_put("/projects/3/snippets/1").
61
- with(body: { file_name: 'mailer_test.rb' })).to have_been_made
62
- end
63
-
64
- it "should return information about an edited snippet" do
65
- expect(@snippet.file_name).to eq("mailer_test.rb")
66
- expect(@snippet.author.name).to eq("John Smith")
67
- end
68
- end
69
-
70
- describe ".delete_snippet" do
71
- before do
72
- stub_delete("/projects/3/snippets/1", "snippet")
73
- @snippet = Gitlab.delete_snippet(3, 1)
74
- end
75
-
76
- it "should get the correct resource" do
77
- expect(a_delete("/projects/3/snippets/1")).to have_been_made
78
- end
79
-
80
- it "should return information about a deleted snippet" do
81
- expect(@snippet.file_name).to eq("mailer_test.rb")
82
- expect(@snippet.author.name).to eq("John Smith")
83
- end
84
- end
85
-
86
- describe ".snippet_content" do
87
- before do
88
- stub_get("/projects/3/snippets/1/raw", "snippet_content")
89
- @snippet_content = Gitlab.snippet_content(3, 1)
90
- end
91
-
92
- it "should get the correct resource" do
93
- expect(a_get("/projects/3/snippets/1/raw")).to have_been_made
94
- end
95
-
96
- it "should return raw content of a snippet" do
97
- expect(@snippet_content).to eq("#!/usr/bin/env ruby\n\nputs \"Cool snippet!\"\n")
98
- end
99
- end
100
- end
@@ -1,69 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- it { should respond_to :system_hooks }
5
- it { should respond_to :add_system_hook }
6
- it { should respond_to :system_hook }
7
- it { should respond_to :delete_system_hook }
8
-
9
- describe ".hooks" do
10
- before do
11
- stub_get("/hooks", "system_hooks")
12
- @hooks = Gitlab.hooks
13
- end
14
-
15
- it "should get the correct resource" do
16
- expect(a_get("/hooks")).to have_been_made
17
- end
18
-
19
- it "should return a paginated response of system hooks" do
20
- expect(@hooks).to be_a Gitlab::PaginatedResponse
21
- expect(@hooks.first.url).to eq("http://example.com/hook")
22
- end
23
- end
24
-
25
- describe ".add_hook" do
26
- before do
27
- stub_post("/hooks", "system_hook")
28
- @hook = Gitlab.add_hook("http://example.com/hook", token: 'secret-token')
29
- end
30
-
31
- it "should get the correct resource" do
32
- expect(a_post("/hooks").with(body: hash_including(token: 'secret-token'))).to have_been_made
33
- end
34
-
35
- it "should return information about a added system hook" do
36
- expect(@hook.url).to eq("http://example.com/hook")
37
- end
38
- end
39
-
40
- describe ".hook" do
41
- before do
42
- stub_get("/hooks/3", "system_hook")
43
- @hook = Gitlab.hook(3)
44
- end
45
-
46
- it "should get the correct resource" do
47
- expect(a_get("/hooks/3")).to have_been_made
48
- end
49
-
50
- it "should return information about a added system hook" do
51
- expect(@hook.url).to eq("http://example.com/hook")
52
- end
53
- end
54
-
55
- describe ".delete_hook" do
56
- before do
57
- stub_delete("/hooks/3", "system_hook")
58
- @hook = Gitlab.delete_hook(3)
59
- end
60
-
61
- it "should get the correct resource" do
62
- expect(a_delete("/hooks/3")).to have_been_made
63
- end
64
-
65
- it "should return information about a deleted system hook" do
66
- expect(@hook.url).to eq("http://example.com/hook")
67
- end
68
- end
69
- end
@@ -1,109 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- it { should respond_to :repo_tags }
5
- it { should respond_to :repo_tag }
6
- it { should respond_to :repo_create_tag }
7
- it { should respond_to :repo_delete_tag }
8
- it { should respond_to :repo_create_release }
9
- it { should respond_to :repo_update_release }
10
-
11
- describe '.tags' do
12
- before do
13
- stub_get("/projects/3/repository/tags", "tags")
14
- @tags = Gitlab.tags(3)
15
- end
16
-
17
- it "should get the correct resource" do
18
- expect(a_get("/projects/3/repository/tags")).to have_been_made
19
- end
20
-
21
- it "should return a paginated response of repository tags" do
22
- expect(@tags).to be_a Gitlab::PaginatedResponse
23
- expect(@tags.map(&:name)).to eq(%w[0.0.2 0.0.1])
24
- end
25
- end
26
-
27
- describe ".tag" do
28
- before do
29
- stub_get("/projects/3/repository/tags/0.0.1", "tag")
30
- @tag = Gitlab.tag(3, "0.0.1")
31
- end
32
-
33
- it "should get the correct resource" do
34
- expect(a_get("/projects/3/repository/tags/0.0.1")).to have_been_made
35
- end
36
-
37
- it "should return information about a repository tag" do
38
- expect(@tag.name).to eq("0.0.1")
39
- end
40
- end
41
-
42
- describe ".create_tag" do
43
- before do
44
- stub_post("/projects/3/repository/tags", "tag_create")
45
- @tag = Gitlab.create_tag(3, "0.0.1", "master", 'this tag is annotated', 'and it has release notes')
46
- end
47
-
48
- it "should get the correct resource" do
49
- expect(a_post("/projects/3/repository/tags")).to have_been_made
50
- end
51
-
52
- it "should return information about a new repository tag" do
53
- expect(@tag.name).to eq("0.0.1")
54
- expect(@tag.message).to eq('this tag is annotated')
55
- end
56
-
57
- it "should return detailed information" do
58
- expect(@tag.release.description).to eq('and it has release notes')
59
- end
60
- end
61
-
62
- describe ".delete_tag" do
63
- before do
64
- stub_delete("/projects/3/repository/tags/0.0.1", "tag_delete")
65
- @tag = Gitlab.delete_tag(3, "0.0.1")
66
- end
67
-
68
- it "should get the correct resource" do
69
- expect(a_delete("/projects/3/repository/tags/0.0.1")).to have_been_made
70
- end
71
-
72
- it "should return information about the deleted repository tag" do
73
- expect(@tag.tag_name).to eq("0.0.1")
74
- end
75
- end
76
-
77
- describe ".create_release" do
78
- before do
79
- stub_post("/projects/3/repository/tags/0.0.1/release", "release_create")
80
- @tag = Gitlab.create_release(3, "0.0.1", "Amazing release. Wow")
81
- end
82
-
83
- it "should get the correct resource" do
84
- expect(a_post("/projects/3/repository/tags/0.0.1/release")).to have_been_made
85
- end
86
-
87
- it "should return information about the tag and the release" do
88
- expect(@tag.tag_name).to eq("0.0.1")
89
- expect(@tag.description).to eq("Amazing release. Wow")
90
- end
91
- end
92
-
93
- describe ".update_release" do
94
- before do
95
- stub_put("/projects/3/repository/tags/0.0.1/release", "release_update")
96
- @tag = Gitlab.update_release(3, "0.0.1", 'Amazing release. Wow')
97
- end
98
-
99
- it "should update the correct resource" do
100
- expect(a_put("/projects/3/repository/tags/0.0.1/release")).to have_been_made
101
- end
102
-
103
- it "should return information about the tag" do
104
- expect(@tag.tag_name).to eq("0.0.1")
105
- expect(@tag.description).to eq('Amazing release. Wow')
106
- end
107
- end
108
-
109
- end
@@ -1,45 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- describe '.todos' do
5
- before do
6
- stub_get("/todos", "todos")
7
- @todos = Gitlab.todos
8
- end
9
-
10
- it "should get the correct resources" do
11
- expect(a_get("/todos")).to have_been_made
12
- end
13
-
14
- it "should return a paginated response of user's todos" do
15
- expect(@todos).to be_a Gitlab::PaginatedResponse
16
- end
17
- end
18
-
19
- describe '.mark_todo_as_done' do
20
- before do
21
- stub_post("/todos/102/mark_as_done", "todo")
22
- @todo = Gitlab.mark_todo_as_done(102)
23
- end
24
-
25
- it "should get the correct resource" do
26
- expect(a_post("/todos/102/mark_as_done")).to have_been_made
27
- end
28
-
29
- it "should return information about the todo marked as done" do
30
- expect(@todo.id).to eq(102)
31
- expect(@todo.state).to eq('done')
32
- end
33
- end
34
-
35
- describe '.mark_all_todos_as_done' do
36
- before do
37
- stub_post("/todos/mark_as_done", "todos")
38
- @todos = Gitlab.mark_all_todos_as_done
39
- end
40
-
41
- it "should get the correct resources" do
42
- expect(a_post("/todos/mark_as_done")).to have_been_made
43
- end
44
- end
45
- end