gitlab 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +17 -0
- data/.travis.yml +2 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +24 -0
- data/README.md +64 -0
- data/Rakefile +9 -0
- data/gitlab.gemspec +25 -0
- data/lib/gitlab.rb +29 -0
- data/lib/gitlab/api.rb +17 -0
- data/lib/gitlab/client.rb +13 -0
- data/lib/gitlab/client/issues.rb +69 -0
- data/lib/gitlab/client/milestones.rb +59 -0
- data/lib/gitlab/client/projects.rb +155 -0
- data/lib/gitlab/client/repositories.rb +67 -0
- data/lib/gitlab/client/snippets.rb +64 -0
- data/lib/gitlab/client/users.rb +89 -0
- data/lib/gitlab/configuration.rb +38 -0
- data/lib/gitlab/error.rb +33 -0
- data/lib/gitlab/objectified_hash.rb +18 -0
- data/lib/gitlab/request.rb +73 -0
- data/lib/gitlab/version.rb +3 -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/milestone.json +1 -0
- data/spec/fixtures/milestones.json +1 -0
- data/spec/fixtures/project.json +1 -0
- data/spec/fixtures/project_branch.json +1 -0
- data/spec/fixtures/project_branches.json +1 -0
- data/spec/fixtures/project_commits.json +1 -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_tags.json +1 -0
- data/spec/fixtures/projects.json +1 -0
- data/spec/fixtures/session.json +1 -0
- data/spec/fixtures/snippet.json +1 -0
- data/spec/fixtures/team_member.json +1 -0
- data/spec/fixtures/team_members.json +1 -0
- data/spec/fixtures/user.json +1 -0
- data/spec/fixtures/users.json +1 -0
- data/spec/gitlab/client/issues_spec.rb +88 -0
- data/spec/gitlab/client/milestones_spec.rb +66 -0
- data/spec/gitlab/client/projects_spec.rb +177 -0
- data/spec/gitlab/client/repositories_spec.rb +73 -0
- data/spec/gitlab/client/snippets_spec.rb +69 -0
- data/spec/gitlab/client/users_spec.rb +129 -0
- data/spec/gitlab_spec.rb +49 -0
- data/spec/spec_helper.rb +63 -0
- metadata +194 -0
@@ -0,0 +1 @@
|
|
1
|
+
[{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z","access_level":40},{"id":2,"email":"jack@example.com","name":"Jack Smith","blocked":false,"created_at":"2012-09-17T09:42:03Z","access_level":20},{"id":3,"email":"wilma@mayerblanda.ca","name":"Beatrice Jewess","blocked":false,"created_at":"2012-09-17T09:42:03Z","access_level":40},{"id":5,"email":"aliza_stark@schmeler.info","name":"Michale Von","blocked":false,"created_at":"2012-09-17T09:42:03Z","access_level":40},{"id":6,"email":"faye.watsica@rohanwalter.com","name":"Ambrose Hansen","blocked":false,"created_at":"2012-09-17T09:42:03Z","access_level":40},{"id":7,"email":"maida@walshtorp.name","name":"Alana Hahn","blocked":false,"created_at":"2012-09-17T09:42:03Z","access_level":20}]
|
@@ -0,0 +1 @@
|
|
1
|
+
{"id":1,"email":"john@example.com","name":"John Smith","bio":null,"skype":"","linkedin":"","twitter":"john","dark_scheme":false,"theme_id":1,"blocked":false,"created_at":"2012-09-17T09:41:56Z"}
|
@@ -0,0 +1 @@
|
|
1
|
+
[{"id":1,"email":"john@example.com","name":"John Smith","bio":null,"skype":"","linkedin":"","twitter":"john","dark_scheme":false,"theme_id":1,"blocked":false,"created_at":"2012-09-17T09:41:56Z"},{"id":2,"email":"jack@example.com","name":"Jack Smith","bio":null,"skype":"","linkedin":"","twitter":"","dark_scheme":false,"theme_id":1,"blocked":false,"created_at":"2012-09-17T09:42:03Z"},{"id":3,"email":"wilma@mayerblanda.ca","name":"Beatrice Jewess","bio":null,"skype":"","linkedin":"","twitter":"","dark_scheme":false,"theme_id":1,"blocked":false,"created_at":"2012-09-17T09:42:03Z"},{"id":4,"email":"nicole@mertz.com","name":"Felipe Davis","bio":null,"skype":"","linkedin":"","twitter":"","dark_scheme":false,"theme_id":1,"blocked":false,"created_at":"2012-09-17T09:42:03Z"},{"id":5,"email":"aliza_stark@schmeler.info","name":"Michale Von","bio":null,"skype":"","linkedin":"","twitter":"","dark_scheme":false,"theme_id":1,"blocked":false,"created_at":"2012-09-17T09:42:03Z"},{"id":6,"email":"faye.watsica@rohanwalter.com","name":"Ambrose Hansen","bio":null,"skype":"","linkedin":"","twitter":"","dark_scheme":false,"theme_id":1,"blocked":false,"created_at":"2012-09-17T09:42:03Z"},{"id":7,"email":"maida@walshtorp.name","name":"Alana Hahn","bio":null,"skype":"","linkedin":"","twitter":"","dark_scheme":false,"theme_id":1,"blocked":false,"created_at":"2012-09-17T09:42:03Z"}]
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gitlab::Client do
|
4
|
+
describe ".issues" do
|
5
|
+
context "with project ID passed" do
|
6
|
+
before do
|
7
|
+
stub_get("/projects/3/issues", "project_issues")
|
8
|
+
@issues = Gitlab.issues(3)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should get the correct resource" do
|
12
|
+
a_get("/projects/3/issues").should have_been_made
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should return an array of project's issues" do
|
16
|
+
@issues.should be_an Array
|
17
|
+
@issues.first.project_id.should == 3
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "without project ID passed" do
|
22
|
+
before do
|
23
|
+
stub_get("/issues", "issues")
|
24
|
+
@issues = Gitlab.issues
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should get the correct resource" do
|
28
|
+
a_get("/issues").should have_been_made
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should return an array of user's issues" do
|
32
|
+
@issues.should be_an Array
|
33
|
+
@issues.first.closed.should be_false
|
34
|
+
@issues.first.author.name.should == "John Smith"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe ".issue" do
|
40
|
+
before do
|
41
|
+
stub_get("/projects/3/issues/33", "issue")
|
42
|
+
@issue = Gitlab.issue(3, 33)
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should get the correct resource" do
|
46
|
+
a_get("/projects/3/issues/33").should have_been_made
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should return information about an issue" do
|
50
|
+
@issue.project_id.should == 3
|
51
|
+
@issue.assignee.name.should == "Jack Smith"
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
describe ".create_issue" do
|
56
|
+
before do
|
57
|
+
stub_post("/projects/3/issues", "issue")
|
58
|
+
@issue = Gitlab.create_issue(3, 'title')
|
59
|
+
end
|
60
|
+
|
61
|
+
it "should get the correct resource" do
|
62
|
+
a_post("/projects/3/issues").
|
63
|
+
with(:body => {:title => 'title'}).should have_been_made
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should return information about a created issue" do
|
67
|
+
@issue.project_id.should == 3
|
68
|
+
@issue.assignee.name.should == "Jack Smith"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe ".edit_issue" do
|
73
|
+
before do
|
74
|
+
stub_put("/projects/3/issues/33", "issue")
|
75
|
+
@issue = Gitlab.edit_issue(3, 33, :title => 'title')
|
76
|
+
end
|
77
|
+
|
78
|
+
it "should get the correct resource" do
|
79
|
+
a_put("/projects/3/issues/33").
|
80
|
+
with(:body => {:title => 'title'}).should have_been_made
|
81
|
+
end
|
82
|
+
|
83
|
+
it "should return information about an edited issue" do
|
84
|
+
@issue.project_id.should == 3
|
85
|
+
@issue.assignee.name.should == "Jack Smith"
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gitlab::Client do
|
4
|
+
describe ".milestones" do
|
5
|
+
before do
|
6
|
+
stub_get("/projects/3/milestones", "milestones")
|
7
|
+
@milestones = Gitlab.milestones(3)
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should get the correct resource" do
|
11
|
+
a_get("/projects/3/milestones").should have_been_made
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should return an array of project's milestones" do
|
15
|
+
@milestones.should be_an Array
|
16
|
+
@milestones.first.project_id.should == 3
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe ".milestone" do
|
21
|
+
before do
|
22
|
+
stub_get("/projects/3/milestones/1", "milestone")
|
23
|
+
@milestone = Gitlab.milestone(3, 1)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should get the correct resource" do
|
27
|
+
a_get("/projects/3/milestones/1").should have_been_made
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should return information about a milestone" do
|
31
|
+
@milestone.project_id.should == 3
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe ".create_milestone" do
|
36
|
+
before do
|
37
|
+
stub_post("/projects/3/milestones", "milestone")
|
38
|
+
@milestone = Gitlab.create_milestone(3, 'title')
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should get the correct resource" do
|
42
|
+
a_post("/projects/3/milestones").
|
43
|
+
with(:body => {:title => 'title'}).should have_been_made
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should return information about a created milestone" do
|
47
|
+
@milestone.project_id.should == 3
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe ".edit_milestone" do
|
52
|
+
before do
|
53
|
+
stub_put("/projects/3/milestones/33", "milestone")
|
54
|
+
@milestone = Gitlab.edit_milestone(3, 33, :title => 'title')
|
55
|
+
end
|
56
|
+
|
57
|
+
it "should get the correct resource" do
|
58
|
+
a_put("/projects/3/milestones/33").
|
59
|
+
with(:body => {:title => 'title'}).should have_been_made
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should return information about an edited milestone" do
|
63
|
+
@milestone.project_id.should == 3
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,177 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gitlab::Client do
|
4
|
+
describe ".projects" do
|
5
|
+
before do
|
6
|
+
stub_get("/projects", "projects")
|
7
|
+
@projects = Gitlab.projects
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should get the correct resource" do
|
11
|
+
a_get("/projects").should have_been_made
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should return an array of projects" do
|
15
|
+
@projects.should be_an Array
|
16
|
+
@projects.first.name.should == "Brute"
|
17
|
+
@projects.first.owner.name.should == "John Smith"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe ".project" do
|
22
|
+
before do
|
23
|
+
stub_get("/projects/3", "project")
|
24
|
+
@project = Gitlab.project(3)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should get the correct resource" do
|
28
|
+
a_get("/projects/3").should have_been_made
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should return information about a project" do
|
32
|
+
@project.name.should == "Gitlab"
|
33
|
+
@project.owner.name.should == "John Smith"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe ".create_project" do
|
38
|
+
before do
|
39
|
+
stub_post("/projects", "project")
|
40
|
+
@project = Gitlab.create_project('Gitlab')
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should get the correct resource" do
|
44
|
+
a_post("/projects").should have_been_made
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should return information about a created project" do
|
48
|
+
@project.name.should == "Gitlab"
|
49
|
+
@project.owner.name.should == "John Smith"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
describe ".team_members" do
|
54
|
+
before do
|
55
|
+
stub_get("/projects/3/members", "team_members")
|
56
|
+
@team_members = Gitlab.team_members(3)
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should get the correct resource" do
|
60
|
+
a_get("/projects/3/members").should have_been_made
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should return an array of team members" do
|
64
|
+
@team_members.should be_an Array
|
65
|
+
@team_members.first.name.should == "John Smith"
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
describe ".team_member" do
|
70
|
+
before do
|
71
|
+
stub_get("/projects/3/members/1", "team_member")
|
72
|
+
@team_member = Gitlab.team_member(3, 1)
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should get the correct resource" do
|
76
|
+
a_get("/projects/3/members/1").should have_been_made
|
77
|
+
end
|
78
|
+
|
79
|
+
it "should return information about a team member" do
|
80
|
+
@team_member.name.should == "John Smith"
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
describe ".add_team_member" do
|
85
|
+
before do
|
86
|
+
stub_post("/projects/3/members/1", "team_member")
|
87
|
+
@team_member = Gitlab.add_team_member(3, 1, 40)
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should get the correct resource" do
|
91
|
+
a_post("/projects/3/members/1").
|
92
|
+
with(:body => {:access_level => '40'}).should have_been_made
|
93
|
+
end
|
94
|
+
|
95
|
+
it "should return information about an added team member" do
|
96
|
+
@team_member.name.should == "John Smith"
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
describe ".edit_team_member" do
|
101
|
+
before do
|
102
|
+
stub_put("/projects/3/members/1", "team_member")
|
103
|
+
@team_member = Gitlab.edit_team_member(3, 1, 40)
|
104
|
+
end
|
105
|
+
|
106
|
+
it "should get the correct resource" do
|
107
|
+
a_put("/projects/3/members/1").
|
108
|
+
with(:body => {:access_level => '40'}).should have_been_made
|
109
|
+
end
|
110
|
+
|
111
|
+
it "should return information about an edited team member" do
|
112
|
+
@team_member.name.should == "John Smith"
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
describe ".remove_team_member" do
|
117
|
+
before do
|
118
|
+
stub_delete("/projects/3/members/1", "team_member")
|
119
|
+
@team_member = Gitlab.remove_team_member(3, 1)
|
120
|
+
end
|
121
|
+
|
122
|
+
it "should get the correct resource" do
|
123
|
+
a_delete("/projects/3/members/1").should have_been_made
|
124
|
+
end
|
125
|
+
|
126
|
+
it "should return information about a removed team member" do
|
127
|
+
@team_member.name.should == "John Smith"
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
describe ".project_hooks" do
|
132
|
+
before do
|
133
|
+
stub_get("/projects/1/hooks", "project_hooks")
|
134
|
+
@hooks = Gitlab.project_hooks(1)
|
135
|
+
end
|
136
|
+
|
137
|
+
it "should get the correct resource" do
|
138
|
+
a_get("/projects/1/hooks").should have_been_made
|
139
|
+
end
|
140
|
+
|
141
|
+
it "should return an array of hooks" do
|
142
|
+
@hooks.should be_an Array
|
143
|
+
@hooks.first.url.should == "https://api.example.net/v1/webhooks/ci"
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
describe ".add_project_hook" do
|
148
|
+
before do
|
149
|
+
stub_post("/projects/1/hooks", "project_hook")
|
150
|
+
@hook = Gitlab.add_project_hook(1, "https://api.example.net/v1/webhooks/ci")
|
151
|
+
end
|
152
|
+
|
153
|
+
it "should get the correct resource" do
|
154
|
+
body = {:url => "https://api.example.net/v1/webhooks/ci"}
|
155
|
+
a_post("/projects/1/hooks").with(:body => body).should have_been_made
|
156
|
+
end
|
157
|
+
|
158
|
+
it "should return information about an added hook" do
|
159
|
+
@hook.url.should == "https://api.example.net/v1/webhooks/ci"
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
describe ".delete_project_hook" do
|
164
|
+
before do
|
165
|
+
stub_delete("/projects/1/hooks/1", "project_hook")
|
166
|
+
@hook = Gitlab.delete_project_hook(1, 1)
|
167
|
+
end
|
168
|
+
|
169
|
+
it "should get the correct resource" do
|
170
|
+
a_delete("/projects/1/hooks/1").should have_been_made
|
171
|
+
end
|
172
|
+
|
173
|
+
it "should return information about a deleted hook" do
|
174
|
+
@hook.url.should == "https://api.example.net/v1/webhooks/ci"
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gitlab::Client do
|
4
|
+
it { should respond_to :repo_tags }
|
5
|
+
it { should respond_to :repo_branches }
|
6
|
+
it { should respond_to :repo_branch }
|
7
|
+
it { should respond_to :repo_commits }
|
8
|
+
|
9
|
+
describe ".tags" do
|
10
|
+
before do
|
11
|
+
stub_get("/projects/3/repository/tags", "project_tags")
|
12
|
+
@tags = Gitlab.tags(3)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should get the correct resource" do
|
16
|
+
a_get("/projects/3/repository/tags").should have_been_made
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should return an array of repository tags" do
|
20
|
+
@tags.should be_an Array
|
21
|
+
@tags.first.name.should == "v2.8.2"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe ".branches" do
|
26
|
+
before do
|
27
|
+
stub_get("/projects/3/repository/branches", "project_branches")
|
28
|
+
@branches = Gitlab.branches(3)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should get the correct resource" do
|
32
|
+
a_get("/projects/3/repository/branches").should have_been_made
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should return an array of repository branches" do
|
36
|
+
@branches.should be_an Array
|
37
|
+
@branches.first.name.should == "api"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe ".branch" do
|
42
|
+
before do
|
43
|
+
stub_get("/projects/3/repository/branches/api", "project_branch")
|
44
|
+
@branch = Gitlab.branch(3, "api")
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should get the correct resource" do
|
48
|
+
a_get("/projects/3/repository/branches/api").should have_been_made
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should return information about a repository branch" do
|
52
|
+
@branch.name.should == "api"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe ".commits" do
|
57
|
+
before do
|
58
|
+
stub_get("/projects/3/repository/commits", "project_commits").
|
59
|
+
with(:query => {:ref_name => "api"})
|
60
|
+
@commits = Gitlab.commits(3, :ref_name => "api")
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should get the correct resource" do
|
64
|
+
a_get("/projects/3/repository/commits").
|
65
|
+
with(:query => {:ref_name => "api"}).should have_been_made
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should return an array of respository commits" do
|
69
|
+
@commits.should be_an Array
|
70
|
+
@commits.first.id.should == "f7dd067490fe57505f7226c3b54d3127d2f7fd46"
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gitlab::Client do
|
4
|
+
describe ".snippet" do
|
5
|
+
before do
|
6
|
+
stub_get("/projects/3/snippets/1", "snippet")
|
7
|
+
@snippet = Gitlab.snippet(3, 1)
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should get the correct resource" do
|
11
|
+
a_get("/projects/3/snippets/1").should have_been_made
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should return information about a snippet" do
|
15
|
+
@snippet.file_name.should == "mailer_test.rb"
|
16
|
+
@snippet.author.name.should == "John Smith"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe ".create_snippet" do
|
21
|
+
before do
|
22
|
+
stub_post("/projects/3/snippets", "snippet")
|
23
|
+
@snippet = Gitlab.create_snippet(3, {:title => 'API', :file_name => 'api.rb', :code => 'code'})
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should get the correct resource" do
|
27
|
+
body = {:title => 'API', :file_name => 'api.rb', :code => 'code'}
|
28
|
+
a_post("/projects/3/snippets").with(:body => body).should have_been_made
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should return information about a new snippet" do
|
32
|
+
@snippet.file_name.should == "mailer_test.rb"
|
33
|
+
@snippet.author.name.should == "John Smith"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe ".edit_snippet" do
|
38
|
+
before do
|
39
|
+
stub_put("/projects/3/snippets/1", "snippet")
|
40
|
+
@snippet = Gitlab.edit_snippet(3, 1, :file_name => 'mailer_test.rb')
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should get the correct resource" do
|
44
|
+
a_put("/projects/3/snippets/1").
|
45
|
+
with(:body => {:file_name => 'mailer_test.rb'}).should have_been_made
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should return information about an edited snippet" do
|
49
|
+
@snippet.file_name.should == "mailer_test.rb"
|
50
|
+
@snippet.author.name.should == "John Smith"
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe ".delete_snippet" do
|
55
|
+
before do
|
56
|
+
stub_delete("/projects/3/snippets/1", "snippet")
|
57
|
+
@snippet = Gitlab.delete_snippet(3, 1)
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should get the correct resource" do
|
61
|
+
a_delete("/projects/3/snippets/1").should have_been_made
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should return information about a deleted snippet" do
|
65
|
+
@snippet.file_name.should == "mailer_test.rb"
|
66
|
+
@snippet.author.name.should == "John Smith"
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|