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,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