gitlab 4.4.0 → 4.5.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 (232) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -2
  3. data/gitlab.gemspec +3 -1
  4. data/lib/gitlab/client.rb +1 -0
  5. data/lib/gitlab/client/merge_request_approvals.rb +110 -0
  6. data/lib/gitlab/client/projects.rb +19 -9
  7. data/lib/gitlab/error.rb +10 -3
  8. data/lib/gitlab/version.rb +1 -1
  9. metadata +5 -444
  10. data/.dockerignore +0 -6
  11. data/.rubocop.yml +0 -33
  12. data/.travis.yml +0 -13
  13. data/Dockerfile +0 -8
  14. data/docker-compose.yml +0 -19
  15. data/docker.env +0 -2
  16. data/spec/fixtures/access_request.json +0 -8
  17. data/spec/fixtures/access_requests.json +0 -18
  18. data/spec/fixtures/approved_access_request.json +0 -8
  19. data/spec/fixtures/board_list.json +0 -1
  20. data/spec/fixtures/board_lists.json +0 -1
  21. data/spec/fixtures/boards.json +0 -1
  22. data/spec/fixtures/branch.json +0 -1
  23. data/spec/fixtures/branch_delete.json +0 -3
  24. data/spec/fixtures/branches.json +0 -1
  25. data/spec/fixtures/build.json +0 -38
  26. data/spec/fixtures/build_artifacts.json +0 -0
  27. data/spec/fixtures/build_cancel.json +0 -24
  28. data/spec/fixtures/build_erase.json +0 -24
  29. data/spec/fixtures/build_retry.json +0 -24
  30. data/spec/fixtures/builds.json +0 -78
  31. data/spec/fixtures/builds_commits.json +0 -64
  32. data/spec/fixtures/compare_merge_request_diff.json +0 -31
  33. data/spec/fixtures/default_approved_access_request.json +0 -8
  34. data/spec/fixtures/deployment.json +0 -57
  35. data/spec/fixtures/deployments.json +0 -116
  36. data/spec/fixtures/empty.json +0 -0
  37. data/spec/fixtures/environment.json +0 -6
  38. data/spec/fixtures/environments.json +0 -14
  39. data/spec/fixtures/error_already_exists.json +0 -1
  40. data/spec/fixtures/error_project_not_found.json +0 -1
  41. data/spec/fixtures/get_repository_file.json +0 -1
  42. data/spec/fixtures/group.json +0 -60
  43. data/spec/fixtures/group_create.json +0 -1
  44. data/spec/fixtures/group_create_with_description.json +0 -1
  45. data/spec/fixtures/group_delete.json +0 -1
  46. data/spec/fixtures/group_edit.json +0 -14
  47. data/spec/fixtures/group_member.json +0 -1
  48. data/spec/fixtures/group_member_delete.json +0 -1
  49. data/spec/fixtures/group_member_edit.json +0 -1
  50. data/spec/fixtures/group_members.json +0 -1
  51. data/spec/fixtures/group_milestone.json +0 -1
  52. data/spec/fixtures/group_milestone_issues.json +0 -1
  53. data/spec/fixtures/group_milestone_merge_requests.json +0 -1
  54. data/spec/fixtures/group_milestones.json +0 -1
  55. data/spec/fixtures/group_projects.json +0 -44
  56. data/spec/fixtures/group_search.json +0 -2
  57. data/spec/fixtures/group_subgroups.json +0 -16
  58. data/spec/fixtures/groups.json +0 -2
  59. data/spec/fixtures/issue.json +0 -1
  60. data/spec/fixtures/issue_award_emoji.json +0 -16
  61. data/spec/fixtures/issue_award_emojis.json +0 -34
  62. data/spec/fixtures/issues.json +0 -1
  63. data/spec/fixtures/job.json +0 -43
  64. data/spec/fixtures/job_trace.json +0 -1
  65. data/spec/fixtures/jobs.json +0 -91
  66. data/spec/fixtures/key.json +0 -1
  67. data/spec/fixtures/keys.json +0 -1
  68. data/spec/fixtures/label.json +0 -1
  69. data/spec/fixtures/label_unsubscribe.json +0 -1
  70. data/spec/fixtures/labels.json +0 -1
  71. data/spec/fixtures/merge_request.json +0 -1
  72. data/spec/fixtures/merge_request_award_emoji.json +0 -16
  73. data/spec/fixtures/merge_request_award_emojis.json +0 -34
  74. data/spec/fixtures/merge_request_changes.json +0 -1
  75. data/spec/fixtures/merge_request_closes_issues.json +0 -1
  76. data/spec/fixtures/merge_request_comment.json +0 -1
  77. data/spec/fixtures/merge_request_comments.json +0 -1
  78. data/spec/fixtures/merge_request_commits.json +0 -1
  79. data/spec/fixtures/merge_request_discussion.json +0 -39
  80. data/spec/fixtures/merge_request_discussion_note.json +0 -33
  81. data/spec/fixtures/merge_request_discussions.json +0 -41
  82. data/spec/fixtures/merge_requests.json +0 -1
  83. data/spec/fixtures/milestone.json +0 -1
  84. data/spec/fixtures/milestone_issues.json +0 -1
  85. data/spec/fixtures/milestone_merge_requests.json +0 -1
  86. data/spec/fixtures/milestones.json +0 -1
  87. data/spec/fixtures/namespaces.json +0 -1
  88. data/spec/fixtures/note.json +0 -1
  89. data/spec/fixtures/note_award_emoji.json +0 -16
  90. data/spec/fixtures/note_award_emojis.json +0 -18
  91. data/spec/fixtures/notes.json +0 -1
  92. data/spec/fixtures/pipeline.json +0 -23
  93. data/spec/fixtures/pipeline_cancel.json +0 -23
  94. data/spec/fixtures/pipeline_create.json +0 -23
  95. data/spec/fixtures/pipeline_jobs.json +0 -91
  96. data/spec/fixtures/pipeline_retry.json +0 -23
  97. data/spec/fixtures/pipeline_schedule.json +0 -32
  98. data/spec/fixtures/pipeline_schedule_create.json +0 -21
  99. data/spec/fixtures/pipeline_schedule_update.json +0 -26
  100. data/spec/fixtures/pipeline_schedule_variable.json +0 -5
  101. data/spec/fixtures/pipeline_schedule_variable_update.json +0 -5
  102. data/spec/fixtures/pipeline_schedules.json +0 -22
  103. data/spec/fixtures/pipelines.json +0 -48
  104. data/spec/fixtures/project.json +0 -1
  105. data/spec/fixtures/project_commit.json +0 -13
  106. data/spec/fixtures/project_commit_comment.json +0 -1
  107. data/spec/fixtures/project_commit_comments.json +0 -1
  108. data/spec/fixtures/project_commit_create.json +0 -22
  109. data/spec/fixtures/project_commit_diff.json +0 -10
  110. data/spec/fixtures/project_commit_merge_requests.json +0 -1
  111. data/spec/fixtures/project_commit_status.json +0 -42
  112. data/spec/fixtures/project_commits.json +0 -1
  113. data/spec/fixtures/project_edit.json +0 -21
  114. data/spec/fixtures/project_events.json +0 -81
  115. data/spec/fixtures/project_for_user.json +0 -1
  116. data/spec/fixtures/project_fork.json +0 -50
  117. data/spec/fixtures/project_fork_link.json +0 -1
  118. data/spec/fixtures/project_forked_for_user.json +0 -50
  119. data/spec/fixtures/project_forks.json +0 -50
  120. data/spec/fixtures/project_hook.json +0 -1
  121. data/spec/fixtures/project_hooks.json +0 -1
  122. data/spec/fixtures/project_issues.json +0 -1
  123. data/spec/fixtures/project_key.json +0 -6
  124. data/spec/fixtures/project_keys.json +0 -6
  125. data/spec/fixtures/project_runner_enable.json +0 -7
  126. data/spec/fixtures/project_runners.json +0 -16
  127. data/spec/fixtures/project_search.json +0 -1
  128. data/spec/fixtures/project_star.json +0 -44
  129. data/spec/fixtures/project_tag_annotated.json +0 -1
  130. data/spec/fixtures/project_tag_lightweight.json +0 -1
  131. data/spec/fixtures/project_tags.json +0 -1
  132. data/spec/fixtures/project_unstar.json +0 -44
  133. data/spec/fixtures/project_update_commit_status.json +0 -20
  134. data/spec/fixtures/projects.json +0 -1
  135. data/spec/fixtures/push_rule.json +0 -1
  136. data/spec/fixtures/raw_file.json +0 -2
  137. data/spec/fixtures/release_create.json +0 -1
  138. data/spec/fixtures/release_update.json +0 -1
  139. data/spec/fixtures/repository_file.json +0 -1
  140. data/spec/fixtures/run_trigger.json +0 -1
  141. data/spec/fixtures/runner.json +0 -26
  142. data/spec/fixtures/runner_delete.json +0 -7
  143. data/spec/fixtures/runner_edit.json +0 -26
  144. data/spec/fixtures/runner_jobs.json +0 -63
  145. data/spec/fixtures/runners.json +0 -16
  146. data/spec/fixtures/runners_all.json +0 -30
  147. data/spec/fixtures/service.json +0 -1
  148. data/spec/fixtures/session.json +0 -1
  149. data/spec/fixtures/shell_history.json +0 -2
  150. data/spec/fixtures/sidekiq_compound_metrics.json +0 -36
  151. data/spec/fixtures/sidekiq_job_stats.json +0 -7
  152. data/spec/fixtures/sidekiq_process_metrics.json +0 -25
  153. data/spec/fixtures/sidekiq_queue_metrics.json +0 -8
  154. data/spec/fixtures/snippet.json +0 -1
  155. data/spec/fixtures/snippet_award_emoji.json +0 -16
  156. data/spec/fixtures/snippet_award_emojis.json +0 -34
  157. data/spec/fixtures/snippet_content.json +0 -3
  158. data/spec/fixtures/snippets.json +0 -1
  159. data/spec/fixtures/system_hook.json +0 -1
  160. data/spec/fixtures/system_hooks.json +0 -1
  161. data/spec/fixtures/tag.json +0 -1
  162. data/spec/fixtures/tag_create.json +0 -1
  163. data/spec/fixtures/tag_create_with_description.json +0 -1
  164. data/spec/fixtures/tag_delete.json +0 -1
  165. data/spec/fixtures/tags.json +0 -1
  166. data/spec/fixtures/team_member.json +0 -1
  167. data/spec/fixtures/team_members.json +0 -1
  168. data/spec/fixtures/todo.json +0 -73
  169. data/spec/fixtures/todos.json +0 -148
  170. data/spec/fixtures/tree.json +0 -1
  171. data/spec/fixtures/trigger.json +0 -10
  172. data/spec/fixtures/triggers.json +0 -12
  173. data/spec/fixtures/user.json +0 -1
  174. data/spec/fixtures/user_block_unblock.json +0 -1
  175. data/spec/fixtures/user_contribution_events.json +0 -101
  176. data/spec/fixtures/user_email.json +0 -1
  177. data/spec/fixtures/user_emails.json +0 -1
  178. data/spec/fixtures/user_events.json +0 -40
  179. data/spec/fixtures/user_projects.json +0 -153
  180. data/spec/fixtures/user_search.json +0 -1
  181. data/spec/fixtures/users.json +0 -1
  182. data/spec/fixtures/variable.json +0 -4
  183. data/spec/fixtures/variables.json +0 -10
  184. data/spec/gitlab/api_spec.rb +0 -11
  185. data/spec/gitlab/cli_helpers_spec.rb +0 -56
  186. data/spec/gitlab/cli_spec.rb +0 -119
  187. data/spec/gitlab/client/access_requests_spec.rb +0 -141
  188. data/spec/gitlab/client/award_emojis_spec.rb +0 -391
  189. data/spec/gitlab/client/boards_spec.rb +0 -94
  190. data/spec/gitlab/client/branches_spec.rb +0 -118
  191. data/spec/gitlab/client/build_variables_spec.rb +0 -169
  192. data/spec/gitlab/client/builds_spec.rb +0 -148
  193. data/spec/gitlab/client/client_spec.rb +0 -11
  194. data/spec/gitlab/client/commits_spec.rb +0 -190
  195. data/spec/gitlab/client/deployments_spec.rb +0 -38
  196. data/spec/gitlab/client/environments_spec.rb +0 -132
  197. data/spec/gitlab/client/events_spec.rb +0 -48
  198. data/spec/gitlab/client/group_milestones_spec.rb +0 -98
  199. data/spec/gitlab/client/groups_spec.rb +0 -246
  200. data/spec/gitlab/client/issues_spec.rb +0 -285
  201. data/spec/gitlab/client/jobs_spec.rb +0 -135
  202. data/spec/gitlab/client/keys_spec.rb +0 -19
  203. data/spec/gitlab/client/labels_spec.rb +0 -100
  204. data/spec/gitlab/client/merge_requests_spec.rb +0 -351
  205. data/spec/gitlab/client/milestones_spec.rb +0 -98
  206. data/spec/gitlab/client/namespaces_spec.rb +0 -22
  207. data/spec/gitlab/client/notes_spec.rb +0 -333
  208. data/spec/gitlab/client/pipeline_schedules_spec.rb +0 -158
  209. data/spec/gitlab/client/pipeline_triggers_spec.rb +0 -157
  210. data/spec/gitlab/client/pipelines_spec.rb +0 -95
  211. data/spec/gitlab/client/projects_spec.rb +0 -630
  212. data/spec/gitlab/client/repositories_spec.rb +0 -94
  213. data/spec/gitlab/client/repository_files_spec.rb +0 -95
  214. data/spec/gitlab/client/runners_spec.rb +0 -193
  215. data/spec/gitlab/client/services_spec.rb +0 -55
  216. data/spec/gitlab/client/sidekiq_spec.rb +0 -64
  217. data/spec/gitlab/client/snippets_spec.rb +0 -100
  218. data/spec/gitlab/client/system_hooks_spec.rb +0 -69
  219. data/spec/gitlab/client/tags_spec.rb +0 -152
  220. data/spec/gitlab/client/todos_spec.rb +0 -45
  221. data/spec/gitlab/client/users_spec.rb +0 -418
  222. data/spec/gitlab/error_spec.rb +0 -72
  223. data/spec/gitlab/file_response_spec.rb +0 -33
  224. data/spec/gitlab/help_spec.rb +0 -46
  225. data/spec/gitlab/objectified_hash_spec.rb +0 -48
  226. data/spec/gitlab/page_links_spec.rb +0 -16
  227. data/spec/gitlab/paginated_response_spec.rb +0 -60
  228. data/spec/gitlab/request_spec.rb +0 -73
  229. data/spec/gitlab/shell_history_spec.rb +0 -53
  230. data/spec/gitlab/shell_spec.rb +0 -80
  231. data/spec/gitlab_spec.rb +0 -96
  232. data/spec/spec_helper.rb +0 -39
@@ -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 "gets the correct resource" do
11
- expect(a_get("/projects/3/snippets")).to have_been_made
12
- end
13
-
14
- it "returns 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 "gets the correct resource" do
27
- expect(a_get("/projects/3/snippets/1")).to have_been_made
28
- end
29
-
30
- it "returns 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', visibility: 'public')
40
- end
41
-
42
- it "gets the correct resource" do
43
- body = { title: 'API', file_name: 'api.rb', code: 'code', visibility: 'public' }
44
- expect(a_post("/projects/3/snippets").with(body: body)).to have_been_made
45
- end
46
-
47
- it "returns 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 "gets 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 "returns 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 "gets the correct resource" do
77
- expect(a_delete("/projects/3/snippets/1")).to have_been_made
78
- end
79
-
80
- it "returns 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 "gets the correct resource" do
93
- expect(a_get("/projects/3/snippets/1/raw")).to have_been_made
94
- end
95
-
96
- it "returns 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 { is_expected.to respond_to :system_hooks }
5
- it { is_expected.to respond_to :add_system_hook }
6
- it { is_expected.to respond_to :system_hook }
7
- it { is_expected.to 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 "gets the correct resource" do
16
- expect(a_get("/hooks")).to have_been_made
17
- end
18
-
19
- it "returns 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 "gets 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 "returns 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 "gets the correct resource" do
47
- expect(a_get("/hooks/3")).to have_been_made
48
- end
49
-
50
- it "returns 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 "gets the correct resource" do
62
- expect(a_delete("/hooks/3")).to have_been_made
63
- end
64
-
65
- it "returns information about a deleted system hook" do
66
- expect(@hook.url).to eq("http://example.com/hook")
67
- end
68
- end
69
- end
@@ -1,152 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- it { is_expected.to respond_to :repo_tags }
5
- it { is_expected.to respond_to :repo_tag }
6
- it { is_expected.to respond_to :repo_create_tag }
7
- it { is_expected.to respond_to :repo_delete_tag }
8
- it { is_expected.to respond_to :repo_create_release }
9
- it { is_expected.to 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 "gets the correct resource" do
18
- expect(a_get("/projects/3/repository/tags")).to have_been_made
19
- end
20
-
21
- it "returns 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 "gets the correct resource" do
34
- expect(a_get("/projects/3/repository/tags/0.0.1")).to have_been_made
35
- end
36
-
37
- it "returns information about a repository tag" do
38
- expect(@tag.name).to eq("0.0.1")
39
- end
40
-
41
- context "tag with special character" do
42
- before do
43
- stub_get("/projects/3/repository/tags/test%2Fme", "tag")
44
- @tag = Gitlab.tag(3, "test/me")
45
- end
46
-
47
- it "gets the correct resource" do
48
- expect(a_get("/projects/3/repository/tags/test%2Fme")).to have_been_made
49
- end
50
- end
51
- end
52
-
53
- describe ".create_tag" do
54
- before do
55
- stub_post("/projects/3/repository/tags", "tag_create")
56
- @tag = Gitlab.create_tag(3, "0.0.1", "master", 'this tag is annotated', 'and it has release notes')
57
- end
58
-
59
- it "gets the correct resource" do
60
- expect(a_post("/projects/3/repository/tags")).to have_been_made
61
- end
62
-
63
- it "returns information about a new repository tag" do
64
- expect(@tag.name).to eq("0.0.1")
65
- expect(@tag.message).to eq('this tag is annotated')
66
- end
67
-
68
- it "returns detailed information" do
69
- expect(@tag.release.description).to eq('and it has release notes')
70
- end
71
- end
72
-
73
- describe ".delete_tag" do
74
- before do
75
- stub_delete("/projects/3/repository/tags/0.0.1", "tag_delete")
76
- @tag = Gitlab.delete_tag(3, "0.0.1")
77
- end
78
-
79
- it "gets the correct resource" do
80
- expect(a_delete("/projects/3/repository/tags/0.0.1")).to have_been_made
81
- end
82
-
83
- it "returns information about the deleted repository tag" do
84
- expect(@tag.tag_name).to eq("0.0.1")
85
- end
86
-
87
- context "tag with special character" do
88
- before do
89
- stub_delete("/projects/3/repository/tags/test%2Fme", "tag_delete")
90
- @tag = Gitlab.delete_tag(3, "test/me")
91
- end
92
-
93
- it "gets the correct resource" do
94
- expect(a_delete("/projects/3/repository/tags/test%2Fme")).to have_been_made
95
- end
96
- end
97
- end
98
-
99
- describe ".create_release" do
100
- before do
101
- stub_post("/projects/3/repository/tags/0.0.1/release", "release_create")
102
- @tag = Gitlab.create_release(3, "0.0.1", "Amazing release. Wow")
103
- end
104
-
105
- it "gets the correct resource" do
106
- expect(a_post("/projects/3/repository/tags/0.0.1/release")).to have_been_made
107
- end
108
-
109
- it "returns information about the tag and the release" do
110
- expect(@tag.tag_name).to eq("0.0.1")
111
- expect(@tag.description).to eq("Amazing release. Wow")
112
- end
113
-
114
- context "tag with special character" do
115
- before do
116
- stub_post("/projects/3/repository/tags/test%2Fme/release", "release_create")
117
- @tag = Gitlab.create_release(3, "test/me", "Amazing release. Wow")
118
- end
119
-
120
- it "gets the correct resource" do
121
- expect(a_post("/projects/3/repository/tags/test%2Fme/release")).to have_been_made
122
- end
123
- end
124
- end
125
-
126
- describe ".update_release" do
127
- before do
128
- stub_put("/projects/3/repository/tags/0.0.1/release", "release_update")
129
- @tag = Gitlab.update_release(3, "0.0.1", 'Amazing release. Wow')
130
- end
131
-
132
- it "updates the correct resource" do
133
- expect(a_put("/projects/3/repository/tags/0.0.1/release")).to have_been_made
134
- end
135
-
136
- it "returns information about the tag" do
137
- expect(@tag.tag_name).to eq("0.0.1")
138
- expect(@tag.description).to eq('Amazing release. Wow')
139
- end
140
-
141
- context "tag with special character" do
142
- before do
143
- stub_put("/projects/3/repository/tags/test%2Fme/release", "release_update")
144
- @tag = Gitlab.update_release(3, "test/me", 'Amazing release. Wow')
145
- end
146
-
147
- it "updates the correct resource" do
148
- expect(a_put("/projects/3/repository/tags/test%2Fme/release")).to have_been_made
149
- end
150
- end
151
- end
152
- 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 "gets the correct resources" do
11
- expect(a_get("/todos")).to have_been_made
12
- end
13
-
14
- it "returns 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 "gets the correct resource" do
26
- expect(a_post("/todos/102/mark_as_done")).to have_been_made
27
- end
28
-
29
- it "returns 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 "gets the correct resources" do
42
- expect(a_post("/todos/mark_as_done")).to have_been_made
43
- end
44
- end
45
- end
@@ -1,418 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- describe ".users" do
5
- before do
6
- stub_get("/users", "users")
7
- @users = Gitlab.users
8
- end
9
-
10
- it "gets the correct resource" do
11
- expect(a_get("/users")).to have_been_made
12
- end
13
-
14
- it "returns a paginated response of users" do
15
- expect(@users).to be_a Gitlab::PaginatedResponse
16
- expect(@users.first.email).to eq("john@example.com")
17
- end
18
- end
19
-
20
- describe ".user" do
21
- context "with user ID passed" do
22
- before do
23
- stub_get("/users/1", "user")
24
- @user = Gitlab.user(1)
25
- end
26
-
27
- it "gets the correct resource" do
28
- expect(a_get("/users/1")).to have_been_made
29
- end
30
-
31
- it "returns information about a user" do
32
- expect(@user.email).to eq("john@example.com")
33
- end
34
- end
35
-
36
- context "without user ID passed" do
37
- before do
38
- stub_get("/user", "user")
39
- @user = Gitlab.user
40
- end
41
-
42
- it "gets the correct resource" do
43
- expect(a_get("/user")).to have_been_made
44
- end
45
-
46
- it "returns information about an authorized user" do
47
- expect(@user.email).to eq("john@example.com")
48
- end
49
- end
50
- end
51
-
52
- describe ".create_user" do
53
- context "when successful request" do
54
- before do
55
- stub_post("/users", "user")
56
- @user = Gitlab.create_user("email", "pass")
57
- end
58
-
59
- it "gets the correct resource" do
60
- body = { email: "email", password: "pass", name: "email" }
61
- expect(a_post("/users").with(body: body)).to have_been_made
62
- end
63
-
64
- it "returns information about a created user" do
65
- expect(@user.email).to eq("john@example.com")
66
- end
67
- end
68
-
69
- context "when bad request" do
70
- it "throws an exception" do
71
- stub_post("/users", "error_already_exists", 409)
72
- expect do
73
- Gitlab.create_user("email", "pass")
74
- end.to raise_error(Gitlab::Error::Conflict, "Server responded with code 409, message: 409 Already exists. Request URI: #{Gitlab.endpoint}/users")
75
- end
76
- end
77
- end
78
-
79
- describe ".create_user_with_userame" do
80
- context "when successful request" do
81
- before do
82
- stub_post("/users", "user")
83
- @user = Gitlab.create_user("email", "pass", "username")
84
- end
85
-
86
- it "gets the correct resource" do
87
- body = { email: "email", password: "pass", username: "username" }
88
- expect(a_post("/users").with(body: body)).to have_been_made
89
- end
90
-
91
- it "returns information about a created user" do
92
- expect(@user.email).to eq("john@example.com")
93
- end
94
- end
95
-
96
- context "when bad request" do
97
- it "throws an exception" do
98
- stub_post("/users", "error_already_exists", 409)
99
- expect do
100
- Gitlab.create_user("email", "pass", "username")
101
- end.to raise_error(Gitlab::Error::Conflict, "Server responded with code 409, message: 409 Already exists. Request URI: #{Gitlab.endpoint}/users")
102
- end
103
- end
104
- end
105
-
106
- describe ".edit_user" do
107
- before do
108
- @options = { name: "Roberto" }
109
- stub_put("/users/1", "user").with(body: @options)
110
- @user = Gitlab.edit_user(1, @options)
111
- end
112
-
113
- it "gets the correct resource" do
114
- expect(a_put("/users/1").with(body: @options)).to have_been_made
115
- end
116
- end
117
-
118
- describe ".delete_user" do
119
- before do
120
- stub_delete("/users/1", "user")
121
- @user = Gitlab.delete_user(1)
122
- end
123
-
124
- it "gets the correct resource" do
125
- expect(a_delete("/users/1")).to have_been_made
126
- end
127
-
128
- it "returns information about a deleted user" do
129
- expect(@user.email).to eq("john@example.com")
130
- end
131
- end
132
-
133
- describe ".block_user" do
134
- before do
135
- stub_post("/users/1/block", "user_block_unblock")
136
- @result = Gitlab.block_user(1)
137
- end
138
-
139
- it "gets the correct resource" do
140
- expect(a_post("/users/1/block")).to have_been_made
141
- end
142
-
143
- it "returns boolean" do
144
- expect(@result).to eq(true)
145
- end
146
- end
147
-
148
- describe ".unblock_user" do
149
- before do
150
- stub_post("/users/1/unblock", "user_block_unblock")
151
- @result = Gitlab.unblock_user(1)
152
- end
153
-
154
- it "gets the correct resource" do
155
- expect(a_post("/users/1/unblock")).to have_been_made
156
- end
157
-
158
- it "returns boolean" do
159
- expect(@result).to eq(true)
160
- end
161
- end
162
-
163
- describe ".session" do
164
- after do
165
- Gitlab.endpoint = 'https://api.example.com'
166
- Gitlab.private_token = 'secret'
167
- end
168
-
169
- before do
170
- stub_request(:post, "#{Gitlab.endpoint}/session").
171
- to_return(body: load_fixture('session'), status: 200)
172
- @session = Gitlab.session("email", "pass")
173
- end
174
-
175
- context "when endpoint is not set" do
176
- it "raises Error::MissingCredentials" do
177
- Gitlab.endpoint = nil
178
- expect do
179
- Gitlab.session("email", "pass")
180
- end.to raise_error(Gitlab::Error::MissingCredentials, 'Please set an endpoint to API')
181
- end
182
- end
183
-
184
- context "when private_token is not set" do
185
- it "does not raise Error::MissingCredentials" do
186
- Gitlab.private_token = nil
187
- expect { Gitlab.session("email", "pass") }.to_not raise_error
188
- end
189
- end
190
-
191
- context "when endpoint is set" do
192
- it "gets the correct resource" do
193
- expect(a_request(:post, "#{Gitlab.endpoint}/session")).to have_been_made
194
- end
195
-
196
- it "returns information about a created session" do
197
- expect(@session.email).to eq("john@example.com")
198
- expect(@session.private_token).to eq("qEsq1pt6HJPaNciie3MG")
199
- end
200
- end
201
- end
202
-
203
- describe ".ssh_keys" do
204
- context "with user ID passed" do
205
- before do
206
- stub_get("/users/1/keys", "keys")
207
- @keys = Gitlab.ssh_keys({ user_id: 1 })
208
- end
209
-
210
- it "gets the correct resource" do
211
- expect(a_get("/users/1/keys")).to have_been_made
212
- end
213
-
214
- it "returns a paginated response of SSH keys" do
215
- expect(@keys).to be_a Gitlab::PaginatedResponse
216
- expect(@keys.first.title).to eq("narkoz@helium")
217
- end
218
- end
219
-
220
- context "without user ID passed" do
221
- before do
222
- stub_get("/user/keys", "keys")
223
- @keys = Gitlab.ssh_keys
224
- end
225
-
226
- it "gets the correct resource" do
227
- expect(a_get("/user/keys")).to have_been_made
228
- end
229
-
230
- it "returns a paginated response of SSH keys" do
231
- expect(@keys).to be_a Gitlab::PaginatedResponse
232
- expect(@keys.first.title).to eq("narkoz@helium")
233
- end
234
- end
235
- end
236
-
237
- describe ".ssh_key" do
238
- before do
239
- stub_get("/user/keys/1", "key")
240
- @key = Gitlab.ssh_key(1)
241
- end
242
-
243
- it "gets the correct resource" do
244
- expect(a_get("/user/keys/1")).to have_been_made
245
- end
246
-
247
- it "returns information about an SSH key" do
248
- expect(@key.title).to eq("narkoz@helium")
249
- end
250
- end
251
-
252
- describe ".create_ssh_key" do
253
- before do
254
- stub_post("/user/keys", "key")
255
- @key = Gitlab.create_ssh_key("title", "body")
256
- end
257
-
258
- it "gets the correct resource" do
259
- body = { title: "title", key: "body" }
260
- expect(a_post("/user/keys").with(body: body)).to have_been_made
261
- end
262
-
263
- it "returns information about a created SSH key" do
264
- expect(@key.title).to eq("narkoz@helium")
265
- end
266
- end
267
-
268
- describe ".delete_ssh_key" do
269
- before do
270
- stub_delete("/user/keys/1", "key")
271
- @key = Gitlab.delete_ssh_key(1)
272
- end
273
-
274
- it "gets the correct resource" do
275
- expect(a_delete("/user/keys/1")).to have_been_made
276
- end
277
-
278
- it "returns information about a deleted SSH key" do
279
- expect(@key.title).to eq("narkoz@helium")
280
- end
281
- end
282
-
283
- describe ".emails" do
284
- describe "without user ID" do
285
- before do
286
- stub_get("/user/emails", "user_emails")
287
- @emails = Gitlab.emails
288
- end
289
-
290
- it "gets the correct resource" do
291
- expect(a_get("/user/emails")).to have_been_made
292
- end
293
-
294
- it "returns a information about a emails of user" do
295
- email = @emails.first
296
- expect(email.id).to eq 1
297
- expect(email.email).to eq("email@example.com")
298
- end
299
- end
300
-
301
- describe "with user ID" do
302
- before do
303
- stub_get("/users/2/emails", "user_emails")
304
- @emails = Gitlab.emails(2)
305
- end
306
-
307
- it "gets the correct resource" do
308
- expect(a_get("/users/2/emails")).to have_been_made
309
- end
310
-
311
- it "returns a information about a emails of user" do
312
- email = @emails.first
313
- expect(email.id).to eq 1
314
- expect(email.email).to eq("email@example.com")
315
- end
316
- end
317
- end
318
-
319
- describe ".email" do
320
- before do
321
- stub_get("/user/emails/2", "user_email")
322
- @email = Gitlab.email(2)
323
- end
324
-
325
- it "gets the correct resource" do
326
- expect(a_get("/user/emails/2")).to have_been_made
327
- end
328
-
329
- it "returns a information about a email of user" do
330
- expect(@email.id).to eq 1
331
- expect(@email.email).to eq("email@example.com")
332
- end
333
- end
334
-
335
- describe ".add_email" do
336
- describe "without user ID" do
337
- before do
338
- stub_post("/user/emails", "user_email")
339
- @email = Gitlab.add_email("email@example.com")
340
- end
341
-
342
- it "gets the correct resource" do
343
- body = { email: "email@example.com" }
344
- expect(a_post("/user/emails").with(body: body)).to have_been_made
345
- end
346
-
347
- it "returns information about a new email" do
348
- expect(@email.id).to eq(1)
349
- expect(@email.email).to eq("email@example.com")
350
- end
351
- end
352
-
353
- describe "with user ID" do
354
- before do
355
- stub_post("/users/2/emails", "user_email")
356
- @email = Gitlab.add_email("email@example.com", 2)
357
- end
358
-
359
- it "gets the correct resource" do
360
- body = { email: "email@example.com" }
361
- expect(a_post("/users/2/emails").with(body: body)).to have_been_made
362
- end
363
-
364
- it "returns information about a new email" do
365
- expect(@email.id).to eq(1)
366
- expect(@email.email).to eq("email@example.com")
367
- end
368
- end
369
- end
370
-
371
- describe ".delete_email" do
372
- describe "without user ID" do
373
- before do
374
- stub_delete("/user/emails/1", "user_email")
375
- @email = Gitlab.delete_email(1)
376
- end
377
-
378
- it "gets the correct resource" do
379
- expect(a_delete("/user/emails/1")).to have_been_made
380
- end
381
-
382
- it "returns information about a deleted email" do
383
- expect(@email).to be_truthy
384
- end
385
- end
386
-
387
- describe "with user ID" do
388
- before do
389
- stub_delete("/users/2/emails/1", "user_email")
390
- @email = Gitlab.delete_email(1, 2)
391
- end
392
-
393
- it "gets the correct resource" do
394
- expect(a_delete("/users/2/emails/1")).to have_been_made
395
- end
396
-
397
- it "returns information about a deleted email" do
398
- expect(@email).to be_truthy
399
- end
400
- end
401
- end
402
-
403
- describe ".user_search" do
404
- before do
405
- stub_get("/users?search=User", "user_search")
406
- @users = Gitlab.user_search('User')
407
- end
408
-
409
- it "gets the correct resource" do
410
- expect(a_get("/users?search=User")).to have_been_made
411
- end
412
-
413
- it "returns an array of users found" do
414
- expect(@users.first.id).to eq(1)
415
- expect(@users.last.id).to eq(2)
416
- end
417
- end
418
- end