gitlab-akerl 4.0.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.
- checksums.yaml +7 -0
- data/.gitignore +20 -0
- data/.prospectus +11 -0
- data/.travis.yml +8 -0
- data/CHANGELOG.md +229 -0
- data/CONTRIBUTING.md +195 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +24 -0
- data/README.md +192 -0
- data/Rakefile +9 -0
- data/bin/console +10 -0
- data/bin/setup +6 -0
- data/exe/gitlab +7 -0
- data/gitlab-akerl.gemspec +31 -0
- data/lib/gitlab.rb +45 -0
- data/lib/gitlab/api.rb +19 -0
- data/lib/gitlab/cli.rb +89 -0
- data/lib/gitlab/cli_helpers.rb +241 -0
- data/lib/gitlab/client.rb +48 -0
- data/lib/gitlab/client/branches.rb +91 -0
- data/lib/gitlab/client/build_triggers.rb +51 -0
- data/lib/gitlab/client/build_variables.rb +66 -0
- data/lib/gitlab/client/builds.rb +106 -0
- data/lib/gitlab/client/commits.rb +121 -0
- data/lib/gitlab/client/groups.rb +144 -0
- data/lib/gitlab/client/issues.rb +113 -0
- data/lib/gitlab/client/labels.rb +57 -0
- data/lib/gitlab/client/merge_requests.rb +168 -0
- data/lib/gitlab/client/milestones.rb +78 -0
- data/lib/gitlab/client/namespaces.rb +20 -0
- data/lib/gitlab/client/notes.rb +161 -0
- data/lib/gitlab/client/pipelines.rb +68 -0
- data/lib/gitlab/client/projects.rb +471 -0
- data/lib/gitlab/client/repositories.rb +78 -0
- data/lib/gitlab/client/repository_files.rb +88 -0
- data/lib/gitlab/client/runners.rb +115 -0
- data/lib/gitlab/client/services.rb +50 -0
- data/lib/gitlab/client/snippets.rb +91 -0
- data/lib/gitlab/client/system_hooks.rb +59 -0
- data/lib/gitlab/client/tags.rb +96 -0
- data/lib/gitlab/client/users.rb +250 -0
- data/lib/gitlab/configuration.rb +55 -0
- data/lib/gitlab/error.rb +85 -0
- data/lib/gitlab/file_response.rb +46 -0
- data/lib/gitlab/help.rb +95 -0
- data/lib/gitlab/objectified_hash.rb +34 -0
- data/lib/gitlab/page_links.rb +33 -0
- data/lib/gitlab/paginated_response.rb +97 -0
- data/lib/gitlab/request.rb +117 -0
- data/lib/gitlab/shell.rb +84 -0
- data/lib/gitlab/shell_history.rb +59 -0
- data/lib/gitlab/version.rb +3 -0
- data/spec/fixtures/branch.json +1 -0
- data/spec/fixtures/branch_delete.json +3 -0
- data/spec/fixtures/branches.json +1 -0
- data/spec/fixtures/build.json +38 -0
- data/spec/fixtures/build_artifacts.json +0 -0
- data/spec/fixtures/build_cancel.json +24 -0
- data/spec/fixtures/build_erase.json +24 -0
- data/spec/fixtures/build_retry.json +24 -0
- data/spec/fixtures/builds.json +78 -0
- data/spec/fixtures/builds_commits.json +64 -0
- data/spec/fixtures/compare_merge_request_diff.json +31 -0
- data/spec/fixtures/error_already_exists.json +1 -0
- data/spec/fixtures/error_project_not_found.json +1 -0
- data/spec/fixtures/get_repository_file.json +1 -0
- data/spec/fixtures/git_hook.json +1 -0
- data/spec/fixtures/group.json +60 -0
- data/spec/fixtures/group_create.json +1 -0
- data/spec/fixtures/group_create_with_description.json +1 -0
- data/spec/fixtures/group_delete.json +1 -0
- data/spec/fixtures/group_member.json +1 -0
- data/spec/fixtures/group_member_delete.json +1 -0
- data/spec/fixtures/group_member_edit.json +1 -0
- data/spec/fixtures/group_members.json +1 -0
- data/spec/fixtures/group_projects.json +44 -0
- data/spec/fixtures/group_search.json +2 -0
- data/spec/fixtures/groups.json +2 -0
- data/spec/fixtures/issue.json +1 -0
- data/spec/fixtures/issues.json +1 -0
- data/spec/fixtures/key.json +1 -0
- data/spec/fixtures/keys.json +1 -0
- data/spec/fixtures/label.json +1 -0
- data/spec/fixtures/labels.json +1 -0
- data/spec/fixtures/merge_request.json +1 -0
- data/spec/fixtures/merge_request_changes.json +1 -0
- data/spec/fixtures/merge_request_comment.json +1 -0
- data/spec/fixtures/merge_request_comments.json +1 -0
- data/spec/fixtures/merge_request_commits.json +1 -0
- data/spec/fixtures/merge_requests.json +1 -0
- data/spec/fixtures/milestone.json +1 -0
- data/spec/fixtures/milestone_issues.json +1 -0
- data/spec/fixtures/milestones.json +1 -0
- data/spec/fixtures/namespaces.json +1 -0
- data/spec/fixtures/note.json +1 -0
- data/spec/fixtures/notes.json +1 -0
- data/spec/fixtures/pipeline.json +23 -0
- data/spec/fixtures/pipeline_cancel.json +23 -0
- data/spec/fixtures/pipeline_create.json +23 -0
- data/spec/fixtures/pipeline_retry.json +23 -0
- data/spec/fixtures/pipelines.json +48 -0
- data/spec/fixtures/project.json +1 -0
- data/spec/fixtures/project_commit.json +13 -0
- data/spec/fixtures/project_commit_comment.json +1 -0
- data/spec/fixtures/project_commit_comments.json +1 -0
- data/spec/fixtures/project_commit_diff.json +10 -0
- data/spec/fixtures/project_commit_status.json +42 -0
- data/spec/fixtures/project_commits.json +1 -0
- data/spec/fixtures/project_edit.json +21 -0
- data/spec/fixtures/project_events.json +1 -0
- data/spec/fixtures/project_for_user.json +1 -0
- data/spec/fixtures/project_fork.json +50 -0
- data/spec/fixtures/project_fork_link.json +1 -0
- data/spec/fixtures/project_forked_for_user.json +50 -0
- data/spec/fixtures/project_hook.json +1 -0
- data/spec/fixtures/project_hooks.json +1 -0
- data/spec/fixtures/project_issues.json +1 -0
- data/spec/fixtures/project_key.json +6 -0
- data/spec/fixtures/project_keys.json +6 -0
- data/spec/fixtures/project_runner_enable.json +7 -0
- data/spec/fixtures/project_runners.json +16 -0
- data/spec/fixtures/project_search.json +1 -0
- data/spec/fixtures/project_star.json +44 -0
- data/spec/fixtures/project_tag_annotated.json +1 -0
- data/spec/fixtures/project_tag_lightweight.json +1 -0
- data/spec/fixtures/project_tags.json +1 -0
- data/spec/fixtures/project_unstar.json +44 -0
- data/spec/fixtures/project_update_commit_status.json +20 -0
- data/spec/fixtures/projects.json +1 -0
- data/spec/fixtures/raw_file.json +2 -0
- data/spec/fixtures/release_create.json +1 -0
- data/spec/fixtures/release_update.json +1 -0
- data/spec/fixtures/repository_file.json +1 -0
- data/spec/fixtures/runner.json +26 -0
- data/spec/fixtures/runner_delete.json +7 -0
- data/spec/fixtures/runner_edit.json +26 -0
- data/spec/fixtures/runners.json +16 -0
- data/spec/fixtures/runners_all.json +30 -0
- data/spec/fixtures/service.json +1 -0
- data/spec/fixtures/session.json +1 -0
- data/spec/fixtures/shell_history.json +2 -0
- data/spec/fixtures/snippet.json +1 -0
- data/spec/fixtures/snippet_content.json +3 -0
- data/spec/fixtures/snippets.json +1 -0
- data/spec/fixtures/system_hook.json +1 -0
- data/spec/fixtures/system_hooks.json +1 -0
- data/spec/fixtures/tag.json +1 -0
- data/spec/fixtures/tag_create.json +1 -0
- data/spec/fixtures/tag_create_with_description.json +1 -0
- data/spec/fixtures/tag_delete.json +1 -0
- data/spec/fixtures/tags.json +1 -0
- data/spec/fixtures/team_member.json +1 -0
- data/spec/fixtures/team_members.json +1 -0
- data/spec/fixtures/tree.json +1 -0
- data/spec/fixtures/trigger.json +7 -0
- data/spec/fixtures/triggers.json +16 -0
- data/spec/fixtures/user.json +1 -0
- data/spec/fixtures/user_block_unblock.json +1 -0
- data/spec/fixtures/user_email.json +1 -0
- data/spec/fixtures/user_emails.json +1 -0
- data/spec/fixtures/user_search.json +1 -0
- data/spec/fixtures/users.json +1 -0
- data/spec/fixtures/variable.json +4 -0
- data/spec/fixtures/variables.json +10 -0
- data/spec/gitlab/cli_helpers_spec.rb +57 -0
- data/spec/gitlab/cli_spec.rb +110 -0
- data/spec/gitlab/client/branches_spec.rb +99 -0
- data/spec/gitlab/client/build_triggers_spec.rb +67 -0
- data/spec/gitlab/client/build_variables_spec.rb +86 -0
- data/spec/gitlab/client/builds_spec.rb +148 -0
- data/spec/gitlab/client/client_spec.rb +11 -0
- data/spec/gitlab/client/commits_spec.rb +137 -0
- data/spec/gitlab/client/groups_spec.rb +197 -0
- data/spec/gitlab/client/issues_spec.rb +138 -0
- data/spec/gitlab/client/labels_spec.rb +68 -0
- data/spec/gitlab/client/merge_requests_spec.rb +177 -0
- data/spec/gitlab/client/milestones_spec.rb +82 -0
- data/spec/gitlab/client/namespaces_spec.rb +22 -0
- data/spec/gitlab/client/notes_spec.rb +205 -0
- data/spec/gitlab/client/pipelines_spec.rb +95 -0
- data/spec/gitlab/client/projects_spec.rb +603 -0
- data/spec/gitlab/client/repositories_spec.rb +109 -0
- data/spec/gitlab/client/repository_files_spec.rb +62 -0
- data/spec/gitlab/client/runners_spec.rb +185 -0
- data/spec/gitlab/client/services_spec.rb +55 -0
- data/spec/gitlab/client/snippets_spec.rb +100 -0
- data/spec/gitlab/client/system_hooks_spec.rb +69 -0
- data/spec/gitlab/client/tags_spec.rb +109 -0
- data/spec/gitlab/client/users_spec.rb +418 -0
- data/spec/gitlab/error_spec.rb +45 -0
- data/spec/gitlab/file_response_spec.rb +33 -0
- data/spec/gitlab/help_spec.rb +46 -0
- data/spec/gitlab/objectified_hash_spec.rb +48 -0
- data/spec/gitlab/page_links_spec.rb +16 -0
- data/spec/gitlab/paginated_response_spec.rb +60 -0
- data/spec/gitlab/request_spec.rb +73 -0
- data/spec/gitlab/shell_history_spec.rb +53 -0
- data/spec/gitlab/shell_spec.rb +80 -0
- data/spec/gitlab_spec.rb +97 -0
- data/spec/spec_helper.rb +74 -0
- metadata +476 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Gitlab::Client do
|
|
4
|
+
it { should respond_to :repo_tags }
|
|
5
|
+
it { should respond_to :repo_create_tag }
|
|
6
|
+
it { should respond_to :repo_branches }
|
|
7
|
+
it { should respond_to :repo_branch }
|
|
8
|
+
it { should respond_to :repo_tree }
|
|
9
|
+
it { should respond_to :repo_compare }
|
|
10
|
+
|
|
11
|
+
describe ".tags" do
|
|
12
|
+
before do
|
|
13
|
+
stub_get("/projects/3/repository/tags", "project_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.first.name).to eq("v2.8.2")
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
describe ".file_contents" do
|
|
28
|
+
before do
|
|
29
|
+
stub_get("/projects/3/repository/blobs/master?filepath=Gemfile", "raw_file")
|
|
30
|
+
@file_contents = Gitlab.file_contents(3, "Gemfile")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it "should get the correct resource" do
|
|
34
|
+
expect(a_get("/projects/3/repository/blobs/master?filepath=Gemfile")).to have_been_made
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it "should return file contents" do
|
|
38
|
+
expect(@file_contents).to eq("source 'https://rubygems.org'\ngem 'rails', '4.1.2'\n")
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe ".create_tag" do
|
|
43
|
+
context "when lightweight" do
|
|
44
|
+
before do
|
|
45
|
+
stub_post("/projects/3/repository/tags", "project_tag_lightweight")
|
|
46
|
+
@tag = Gitlab.create_tag(3, 'v1.0.0', '2695effb5807a22ff3d138d593fd856244e155e7')
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
it "should get the correct resource" do
|
|
50
|
+
expect(a_post("/projects/3/repository/tags")).to have_been_made
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
it "should return information about a new repository tag" do
|
|
54
|
+
expect(@tag.name).to eq("v1.0.0")
|
|
55
|
+
expect(@tag.message).to eq(nil)
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
context "when annotated" do
|
|
60
|
+
before do
|
|
61
|
+
stub_post("/projects/3/repository/tags", "project_tag_annotated")
|
|
62
|
+
@tag = Gitlab.create_tag(3, 'v1.1.0', '2695effb5807a22ff3d138d593fd856244e155e7', 'Release 1.1.0')
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it "should get the correct resource" do
|
|
66
|
+
expect(a_post("/projects/3/repository/tags")).to have_been_made
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
it "should return information about a new repository tag" do
|
|
70
|
+
expect(@tag.name).to eq("v1.1.0")
|
|
71
|
+
expect(@tag.message).to eq("Release 1.1.0")
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
describe ".tree" do
|
|
77
|
+
before do
|
|
78
|
+
stub_get("/projects/3/repository/tree", "tree")
|
|
79
|
+
@tree = Gitlab.tree(3)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
it "should get the correct resource" do
|
|
83
|
+
expect(a_get("/projects/3/repository/tree")).to have_been_made
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
it "should return a paginated response of repository tree files (root level)" do
|
|
87
|
+
expect(@tree).to be_a Gitlab::PaginatedResponse
|
|
88
|
+
expect(@tree.first.name).to eq("app")
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
describe ".compare" do
|
|
93
|
+
before do
|
|
94
|
+
stub_get("/projects/3/repository/compare", "compare_merge_request_diff").
|
|
95
|
+
with(query: { from: "master", to: "feature" })
|
|
96
|
+
@diff = Gitlab.compare(3, 'master', 'feature')
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
it "should get the correct resource" do
|
|
100
|
+
expect(a_get("/projects/3/repository/compare").
|
|
101
|
+
with(query: { from: "master", to: "feature" })).to have_been_made
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
it "should get diffs of a merge request" do
|
|
105
|
+
expect(@diff.diffs).to be_kind_of Array
|
|
106
|
+
expect(@diff.diffs.last["new_path"]).to eq "files/js/application.js"
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require "spec_helper"
|
|
2
|
+
|
|
3
|
+
describe Gitlab::Client do
|
|
4
|
+
describe ".get_file" do
|
|
5
|
+
before do
|
|
6
|
+
stub_get("/projects/3/repository/files?file_path=README.md&ref=master", "get_repository_file")
|
|
7
|
+
@file = Gitlab.get_file(3, 'README.md', 'master')
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it "should create the correct resource" do
|
|
11
|
+
expect(a_get("/projects/3/repository/files?file_path=README.md&ref=master")).to have_been_made
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it "should return the base64 encoded file" do
|
|
15
|
+
expect(@file.file_path).to eq "README.md"
|
|
16
|
+
expect(@file.ref).to eq "master"
|
|
17
|
+
expect(@file.content).to eq "VGhpcyBpcyBhICpSRUFETUUqIQ==\n"
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
describe ".create_file" do
|
|
22
|
+
let!(:request_stub) { stub_post("/projects/3/repository/files", "repository_file") }
|
|
23
|
+
let!(:file) { Gitlab.create_file(3, "path", "branch", "content", "commit message") }
|
|
24
|
+
|
|
25
|
+
it "should create the correct resource" do
|
|
26
|
+
expect(request_stub).to have_been_made
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it "should return information about the new file" do
|
|
30
|
+
expect(file.file_path).to eq "path"
|
|
31
|
+
expect(file.branch_name).to eq "branch"
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
describe ".edit_file" do
|
|
36
|
+
let!(:request_stub) { stub_put("/projects/3/repository/files", "repository_file") }
|
|
37
|
+
let!(:file) { Gitlab.edit_file(3, "path", "branch", "content", "commit message") }
|
|
38
|
+
|
|
39
|
+
it "should create the correct resource" do
|
|
40
|
+
expect(request_stub).to have_been_made
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
it "should return information about the new file" do
|
|
44
|
+
expect(file.file_path).to eq "path"
|
|
45
|
+
expect(file.branch_name).to eq "branch"
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
describe ".remove_file" do
|
|
50
|
+
let!(:request_stub) { stub_delete("/projects/3/repository/files", "repository_file") }
|
|
51
|
+
let!(:file) { Gitlab.remove_file(3, "path", "branch", "commit message") }
|
|
52
|
+
|
|
53
|
+
it "should create the correct resource" do
|
|
54
|
+
expect(request_stub).to have_been_made
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it "should return information about the new file" do
|
|
58
|
+
expect(file.file_path).to eq "path"
|
|
59
|
+
expect(file.branch_name).to eq "branch"
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,185 @@
|
|
|
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
|
|
@@ -0,0 +1,55 @@
|
|
|
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
|
|
@@ -0,0 +1,100 @@
|
|
|
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
|