github_api 0.4.6 → 0.4.7
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.
- data/features/cassettes/errors/repos/create.yml +33 -23
- data/features/cassettes/gists/comments/all.yml +116 -106
- data/features/cassettes/gists/comments/first.yml +41 -31
- data/features/cassettes/gists/gist.yml +61 -50
- data/features/cassettes/gists/gists/public_all.yml +31 -58
- data/features/cassettes/gists/gists/user_all.yml +44 -34
- data/features/cassettes/pagination/repos.yml +161 -287
- data/features/cassettes/pagination/repos/commits.yml +174 -299
- data/features/cassettes/pagination/repos/commits/next.yml +166 -161
- data/features/cassettes/pagination/repos/commits/sha.yml +127 -121
- data/features/cassettes/pagination/repos/commits/sha/next.yml +130 -250
- data/features/cassettes/pagination/repos/diff.yml +126 -154
- data/features/cassettes/pagination/repos/diff/next.yml +123 -246
- data/features/cassettes/pagination/repos/next.yml +162 -157
- data/features/cassettes/pagination/repos/per_page/each_page.yml +370 -352
- data/features/cassettes/pagination/repos/per_page/first.yml +127 -121
- data/features/cassettes/repos/branches.yml +38 -65
- data/features/cassettes/repos/tags.yml +127 -175
- data/features/support/vcr.rb +2 -2
- data/lib/github_api/authorization.rb +3 -3
- data/lib/github_api/error.rb +3 -0
- data/lib/github_api/error/client_error.rb +20 -0
- data/lib/github_api/error/invalid_options.rb +18 -0
- data/lib/github_api/error/required_params.rb +18 -0
- data/lib/github_api/error/service_error.rb +1 -1
- data/lib/github_api/error/validations.rb +18 -0
- data/lib/github_api/gists.rb +1 -5
- data/lib/github_api/gists/comments.rb +2 -8
- data/lib/github_api/git_data/blobs.rb +1 -2
- data/lib/github_api/git_data/commits.rb +1 -2
- data/lib/github_api/git_data/references.rb +2 -4
- data/lib/github_api/git_data/trees.rb +1 -1
- data/lib/github_api/issues.rb +1 -2
- data/lib/github_api/issues/comments.rb +2 -2
- data/lib/github_api/issues/labels.rb +2 -4
- data/lib/github_api/issues/milestones.rb +2 -4
- data/lib/github_api/orgs/teams.rb +3 -4
- data/lib/github_api/repos.rb +9 -3
- data/lib/github_api/repos/commits.rb +2 -2
- data/lib/github_api/repos/downloads.rb +1 -2
- data/lib/github_api/repos/hooks.rb +2 -8
- data/lib/github_api/repos/keys.rb +2 -3
- data/lib/github_api/validation.rb +5 -1
- data/lib/github_api/version.rb +1 -1
- data/spec/github/api_factory_spec.rb +2 -1
- data/spec/github/api_spec.rb +4 -2
- data/spec/github/authorization_spec.rb +19 -28
- data/spec/github/authorizations_spec.rb +2 -1
- data/spec/github/client_spec.rb +4 -1
- data/spec/github/deprecation_spec.rb +2 -1
- data/spec/github/error/client_error_spec.rb +28 -0
- data/spec/github/error/invalid_options_spec.rb +21 -0
- data/spec/github/error/required_params_spec.rb +21 -0
- data/spec/github/events_spec.rb +4 -4
- data/spec/github/filter_spec.rb +2 -2
- data/spec/github/gists/comments_spec.rb +8 -4
- data/spec/github/gists_spec.rb +19 -14
- data/spec/github/git_data/blobs_spec.rb +10 -4
- data/spec/github/git_data/commits_spec.rb +13 -6
- data/spec/github/git_data/references_spec.rb +13 -8
- data/spec/github/git_data/tags_spec.rb +8 -3
- data/spec/github/git_data/trees_spec.rb +9 -3
- data/spec/github/issues/comments_spec.rb +10 -3
- data/spec/github/issues/events_spec.rb +8 -3
- data/spec/github/issues/labels_spec.rb +13 -7
- data/spec/github/issues/milestones_spec.rb +10 -3
- data/spec/github/issues_spec.rb +3 -3
- data/spec/github/mime_type_spec.rb +64 -64
- data/spec/github/orgs/members_spec.rb +2 -11
- data/spec/github/orgs/teams_spec.rb +9 -9
- data/spec/github/orgs_spec.rb +22 -8
- data/spec/github/page_iterator_spec.rb +2 -1
- data/spec/github/page_links_spec.rb +2 -1
- data/spec/github/paged_request_spec.rb +2 -1
- data/spec/github/pull_requests/comments_spec.rb +9 -3
- data/spec/github/pull_requests_spec.rb +6 -2
- data/spec/github/repos/collaborators_spec.rb +12 -7
- data/spec/github/repos/commits_spec.rb +20 -14
- data/spec/github/repos/downloads_spec.rb +19 -8
- data/spec/github/repos/forks_spec.rb +6 -3
- data/spec/github/repos/hooks_spec.rb +14 -8
- data/spec/github/repos/keys_spec.rb +8 -6
- data/spec/github/repos/pub_sub_hubbub_spec.rb +4 -11
- data/spec/github/repos/watching_spec.rb +15 -38
- data/spec/github/repos_spec.rb +35 -39
- data/spec/github/request_spec.rb +4 -0
- data/spec/github/response/helpers_spec.rb +0 -2
- data/spec/github/result_spec.rb +2 -3
- data/spec/github/users/followers_spec.rb +6 -8
- data/spec/github/users_spec.rb +123 -123
- data/spec/github/validation_spec.rb +8 -7
- data/spec/github_spec.rb +6 -7
- data/spec/spec_helper.rb +2 -2
- metadata +36 -21
- data/features/cassettes/gists/star.yml +0 -34
- data/features/cassettes/pagination/repos/per_page/1.yml +0 -134
- data/features/cassettes/repos/teams.yml +0 -38
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
|
-
describe Github::Orgs::Teams
|
|
4
|
-
|
|
3
|
+
describe Github::Orgs::Teams do
|
|
4
|
+
let(:github) { Github.new }
|
|
5
|
+
let(:user) { 'peter-murach' }
|
|
6
|
+
let(:org) { 'github' }
|
|
7
|
+
let(:repo) { 'github' }
|
|
5
8
|
let(:team) { 'github' }
|
|
6
9
|
let(:member) { 'github' }
|
|
7
10
|
|
|
11
|
+
after { github.user, github.repo, github.oauth_token = nil, nil, nil }
|
|
12
|
+
|
|
8
13
|
describe "teams" do
|
|
9
14
|
context "resource found" do
|
|
10
15
|
before do
|
|
@@ -106,7 +111,6 @@ describe Github::Orgs::Teams, :type => :base do
|
|
|
106
111
|
before do
|
|
107
112
|
stub_post("/orgs/#{org}/teams").with(inputs).
|
|
108
113
|
to_return(:body => fixture('orgs/team.json'), :status => 201, :headers => {:content_type => "application/json; charset=utf-8"})
|
|
109
|
-
|
|
110
114
|
end
|
|
111
115
|
|
|
112
116
|
it "should fail to create resource if 'org_name' param is missing" do
|
|
@@ -116,7 +120,7 @@ describe Github::Orgs::Teams, :type => :base do
|
|
|
116
120
|
it "should failt to create resource if 'name' input is missing" do
|
|
117
121
|
expect {
|
|
118
122
|
github.orgs.create_team org, inputs.except(:name)
|
|
119
|
-
}.to raise_error(
|
|
123
|
+
}.to raise_error(Github::Error::RequiredParams)
|
|
120
124
|
end
|
|
121
125
|
|
|
122
126
|
it "should create resource successfully" do
|
|
@@ -139,7 +143,6 @@ describe Github::Orgs::Teams, :type => :base do
|
|
|
139
143
|
before do
|
|
140
144
|
stub_post("/orgs/#{org}/teams").with(inputs).
|
|
141
145
|
to_return(:body => fixture('orgs/team.json'), :status => 404, :headers => {:content_type => "application/json; charset=utf-8"})
|
|
142
|
-
|
|
143
146
|
end
|
|
144
147
|
|
|
145
148
|
it "should faile to retrieve resource" do
|
|
@@ -167,7 +170,7 @@ describe Github::Orgs::Teams, :type => :base do
|
|
|
167
170
|
it "should failt to create resource if 'name' input is missing" do
|
|
168
171
|
expect {
|
|
169
172
|
github.orgs.edit_team team, inputs.except(:name)
|
|
170
|
-
}.to raise_error(
|
|
173
|
+
}.to raise_error(Github::Error::RequiredParams)
|
|
171
174
|
end
|
|
172
175
|
|
|
173
176
|
it "should create resource successfully" do
|
|
@@ -190,7 +193,6 @@ describe Github::Orgs::Teams, :type => :base do
|
|
|
190
193
|
before do
|
|
191
194
|
stub_patch("/teams/#{team}").with(inputs).
|
|
192
195
|
to_return(:body => fixture('orgs/team.json'), :status => 404, :headers => {:content_type => "application/json; charset=utf-8"})
|
|
193
|
-
|
|
194
196
|
end
|
|
195
197
|
|
|
196
198
|
it "should faile to retrieve resource" do
|
|
@@ -290,8 +292,6 @@ describe Github::Orgs::Teams, :type => :base do
|
|
|
290
292
|
|
|
291
293
|
context "this repo is being watched by the user"
|
|
292
294
|
before do
|
|
293
|
-
github.oauth_token = nil
|
|
294
|
-
github.user = nil
|
|
295
295
|
stub_get("/teams/#{team}/members/#{member}").
|
|
296
296
|
to_return(:body => "", :status => 404, :headers => {:user_agent => github.user_agent})
|
|
297
297
|
end
|
data/spec/github/orgs_spec.rb
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
1
3
|
require 'spec_helper'
|
|
2
4
|
|
|
3
|
-
describe Github::Orgs
|
|
5
|
+
describe Github::Orgs do
|
|
6
|
+
let(:github) { Github.new }
|
|
7
|
+
let(:user) { 'peter-murach' }
|
|
8
|
+
let(:repo) { 'github' }
|
|
9
|
+
let(:org) { 'github' }
|
|
10
|
+
|
|
11
|
+
after { github.user, github.repo, github.oauth_token = nil, nil, nil }
|
|
4
12
|
|
|
5
13
|
describe "orgs" do
|
|
6
14
|
context "resource found for a user" do
|
|
@@ -38,19 +46,18 @@ describe Github::Orgs, :type => :base do
|
|
|
38
46
|
|
|
39
47
|
context "resource found for an au user" do
|
|
40
48
|
before do
|
|
41
|
-
github.user = nil
|
|
42
49
|
github.oauth_token = OAUTH_TOKEN
|
|
43
|
-
stub_get("/user/orgs
|
|
50
|
+
stub_get("/user/orgs").
|
|
51
|
+
with(:query => { :access_token => OAUTH_TOKEN }).
|
|
44
52
|
to_return(:body => fixture('orgs/orgs.json'), :status => 200, :headers => {:content_type => "application/json; charset=utf-8"})
|
|
45
53
|
end
|
|
46
54
|
|
|
47
|
-
after
|
|
48
|
-
github.user, github.oauth_token = nil, nil
|
|
49
|
-
end
|
|
55
|
+
after { github.oauth_token = nil }
|
|
50
56
|
|
|
51
57
|
it "should get the resources" do
|
|
52
58
|
github.orgs.orgs
|
|
53
|
-
a_get("/user/orgs
|
|
59
|
+
a_get("/user/orgs").with(:query => { :access_token => OAUTH_TOKEN }).
|
|
60
|
+
should have_been_made
|
|
54
61
|
end
|
|
55
62
|
end
|
|
56
63
|
|
|
@@ -111,7 +118,14 @@ describe Github::Orgs, :type => :base do
|
|
|
111
118
|
end # org
|
|
112
119
|
|
|
113
120
|
describe "edit_org" do
|
|
114
|
-
let(:inputs)
|
|
121
|
+
let(:inputs) do
|
|
122
|
+
{ :billing_email => 'support@github.com',
|
|
123
|
+
:blog => "https://github.com/blog",
|
|
124
|
+
:company => "GitHub",
|
|
125
|
+
:email => "support@github.com",
|
|
126
|
+
:location => "San Francisco",
|
|
127
|
+
:name => "github" }
|
|
128
|
+
end
|
|
115
129
|
|
|
116
130
|
context "resource edited successfully" do
|
|
117
131
|
before do
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
1
3
|
require 'spec_helper'
|
|
2
4
|
|
|
3
5
|
describe Github::PageIterator do
|
|
4
|
-
|
|
5
6
|
let(:link) {
|
|
6
7
|
"<https://api.github.com/users/wycats/repos?page=4&per_page=20>; rel=\"next\", <https://api.github.com/users/wycats/repos?page=6&per_page=20>; rel=\"last\", <https://api.github.com/users/wycats/repos?page=1&per_page=20>; rel=\"first\", <https://api.github.com/users/wycats/repos?page=2&per_page=20>; rel=\"prev\""
|
|
7
8
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
1
3
|
require 'spec_helper'
|
|
2
4
|
|
|
3
5
|
describe Github::PageLinks do
|
|
4
|
-
|
|
5
6
|
let(:link) {
|
|
6
7
|
"<https://api.github.com/users/wycats/repos?page=4&per_page=20>; rel=\"next\", <https://api.github.com/users/wycats/repos?page=6&per_page=20>; rel=\"last\", <https://api.github.com/users/wycats/repos?page=1&per_page=20>; rel=\"first\", <https://api.github.com/users/wycats/repos?page=2&per_page=20>; rel=\"prev\""
|
|
7
8
|
}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
# encoding: utf-8
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
require 'spec_helper'
|
|
4
4
|
|
|
5
|
+
describe Github::PullRequests::Comments do
|
|
6
|
+
let(:github) { Github.new }
|
|
7
|
+
let(:user) { 'peter-murach' }
|
|
8
|
+
let(:repo) { 'github' }
|
|
5
9
|
let(:pull_request_id) { 1 }
|
|
6
10
|
let(:comment_id) { 1 }
|
|
7
11
|
|
|
12
|
+
after { reset_authentication_for github }
|
|
13
|
+
|
|
8
14
|
describe "#comments" do
|
|
9
15
|
context 'check aliases' do
|
|
10
16
|
it { github.pull_requests.should respond_to :comments }
|
|
@@ -260,6 +266,6 @@ describe Github::PullRequests::Comments, :type => :base do
|
|
|
260
266
|
github.pull_requests.delete_comment user, repo, comment_id
|
|
261
267
|
}.to raise_error(Github::Error::NotFound)
|
|
262
268
|
end
|
|
263
|
-
end #
|
|
269
|
+
end # delete_comment
|
|
264
270
|
|
|
265
271
|
end # Github::PullRequests::Comments
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
|
-
describe Github::PullRequests
|
|
4
|
-
|
|
3
|
+
describe Github::PullRequests do
|
|
4
|
+
let(:github) { Github.new }
|
|
5
|
+
let(:user) { 'peter-murach' }
|
|
6
|
+
let(:repo) { 'github' }
|
|
5
7
|
let(:pull_request_id) { 1 }
|
|
6
8
|
|
|
9
|
+
after { reset_authentication_for github }
|
|
10
|
+
|
|
7
11
|
describe "#pull_requests" do
|
|
8
12
|
context 'check aliases' do
|
|
9
13
|
it { github.pull_requests.should respond_to :pulls }
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
|
-
describe Github::Repos::Collaborators
|
|
3
|
+
describe Github::Repos::Collaborators do
|
|
4
|
+
let(:github) { Github.new }
|
|
5
|
+
let(:user) { 'peter-murach' }
|
|
6
|
+
let(:repo) { 'github' }
|
|
7
|
+
let(:collaborator) { 'octocat' }
|
|
8
|
+
|
|
9
|
+
after { github.user, github.repo, github.oauth_token = nil, nil, nil }
|
|
4
10
|
|
|
5
11
|
describe "collaborators" do
|
|
6
12
|
context "resource found" do
|
|
@@ -10,7 +16,6 @@ describe Github::Repos::Collaborators, :type => :base do
|
|
|
10
16
|
end
|
|
11
17
|
|
|
12
18
|
it "should fail to get resource without username" do
|
|
13
|
-
github.user, github.repo = nil, nil
|
|
14
19
|
expect { github.repos.collaborators }.to raise_error(ArgumentError)
|
|
15
20
|
end
|
|
16
21
|
|
|
@@ -65,7 +70,7 @@ describe Github::Repos::Collaborators, :type => :base do
|
|
|
65
70
|
|
|
66
71
|
it "should fail to get resource without collaborator name" do
|
|
67
72
|
expect {
|
|
68
|
-
github.repos.collaborator?
|
|
73
|
+
github.repos.collaborator? user, repo, nil
|
|
69
74
|
}.to raise_error(ArgumentError)
|
|
70
75
|
end
|
|
71
76
|
|
|
@@ -75,7 +80,8 @@ describe Github::Repos::Collaborators, :type => :base do
|
|
|
75
80
|
end
|
|
76
81
|
|
|
77
82
|
it "should find collaborator" do
|
|
78
|
-
github.repos.should_receive(:collaborator?).
|
|
83
|
+
github.repos.should_receive(:collaborator?).
|
|
84
|
+
with(user, repo, collaborator) { true }
|
|
79
85
|
github.repos.collaborator? user, repo, collaborator
|
|
80
86
|
end
|
|
81
87
|
end
|
|
@@ -87,14 +93,14 @@ describe Github::Repos::Collaborators, :type => :base do
|
|
|
87
93
|
end
|
|
88
94
|
|
|
89
95
|
it "should fail to retrieve resource" do
|
|
90
|
-
github.repos.should_receive(:collaborator?).
|
|
96
|
+
github.repos.should_receive(:collaborator?).
|
|
97
|
+
with(user, repo, collaborator) { false }
|
|
91
98
|
github.repos.collaborator? user, repo, collaborator
|
|
92
99
|
end
|
|
93
100
|
end
|
|
94
101
|
end # collaborator?
|
|
95
102
|
|
|
96
103
|
describe "add_collaborator" do
|
|
97
|
-
|
|
98
104
|
context "resouce added" do
|
|
99
105
|
before do
|
|
100
106
|
stub_put("/repos/#{user}/#{repo}/collaborators/#{collaborator}").
|
|
@@ -128,7 +134,6 @@ describe Github::Repos::Collaborators, :type => :base do
|
|
|
128
134
|
end # add_collaborator
|
|
129
135
|
|
|
130
136
|
describe "remove_collaborator" do
|
|
131
|
-
|
|
132
137
|
context "resouce added" do
|
|
133
138
|
before do
|
|
134
139
|
stub_delete("/repos/#{user}/#{repo}/collaborators/#{collaborator}").
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
|
-
describe Github::Repos::Commits
|
|
3
|
+
describe Github::Repos::Commits do
|
|
4
|
+
let(:github) { Github.new }
|
|
5
|
+
let(:user) { 'peter-murach' }
|
|
6
|
+
let(:repo) { 'github' }
|
|
7
|
+
after { github.user, github.repo = nil, nil }
|
|
4
8
|
|
|
5
9
|
describe "commits" do
|
|
6
10
|
context "resource found" do
|
|
@@ -10,7 +14,6 @@ describe Github::Repos::Commits, :type => :base do
|
|
|
10
14
|
end
|
|
11
15
|
|
|
12
16
|
it "should fail to get resource without username" do
|
|
13
|
-
github.user, github.repo = nil, nil
|
|
14
17
|
expect { github.repos.commits }.to raise_error(ArgumentError)
|
|
15
18
|
end
|
|
16
19
|
|
|
@@ -84,7 +87,6 @@ describe Github::Repos::Commits, :type => :base do
|
|
|
84
87
|
commit = github.repos.commit user, repo, sha
|
|
85
88
|
commit.should be_a Hashie::Mash
|
|
86
89
|
end
|
|
87
|
-
|
|
88
90
|
end
|
|
89
91
|
|
|
90
92
|
context "resource not found" do
|
|
@@ -109,7 +111,6 @@ describe Github::Repos::Commits, :type => :base do
|
|
|
109
111
|
end
|
|
110
112
|
|
|
111
113
|
it "should fail to get resource without username" do
|
|
112
|
-
github.user, github.repo = nil, nil
|
|
113
114
|
expect { github.repos.repo_comments }.to raise_error(ArgumentError)
|
|
114
115
|
end
|
|
115
116
|
|
|
@@ -171,7 +172,8 @@ describe Github::Repos::Commits, :type => :base do
|
|
|
171
172
|
|
|
172
173
|
it "should get the resource" do
|
|
173
174
|
github.repos.commit_comments user, repo, sha
|
|
174
|
-
a_get("/repos/#{user}/#{repo}/commits/#{sha}/comments").
|
|
175
|
+
a_get("/repos/#{user}/#{repo}/commits/#{sha}/comments").
|
|
176
|
+
should have_been_made
|
|
175
177
|
end
|
|
176
178
|
|
|
177
179
|
it "should return array of resources" do
|
|
@@ -239,7 +241,6 @@ describe Github::Repos::Commits, :type => :base do
|
|
|
239
241
|
commit_comment = github.repos.commit_comment user, repo, comment_id
|
|
240
242
|
commit_comment.should be_a Hashie::Mash
|
|
241
243
|
end
|
|
242
|
-
|
|
243
244
|
end
|
|
244
245
|
|
|
245
246
|
context "resource not found" do
|
|
@@ -258,43 +259,48 @@ describe Github::Repos::Commits, :type => :base do
|
|
|
258
259
|
|
|
259
260
|
describe "create_comment" do
|
|
260
261
|
let(:sha) { '23432dfosfsufd' }
|
|
261
|
-
let(:inputs)
|
|
262
|
+
let(:inputs) do
|
|
263
|
+
{ 'body' => 'web',
|
|
264
|
+
:commit_id => 1,
|
|
265
|
+
:line => 1,
|
|
266
|
+
:path => 'file1.txt',
|
|
267
|
+
:position => 4 }
|
|
268
|
+
end
|
|
262
269
|
|
|
263
270
|
context "resouce created" do
|
|
264
271
|
before do
|
|
265
272
|
stub_post("/repos/#{user}/#{repo}/commits/#{sha}/comments").with(inputs).
|
|
266
273
|
to_return(:body => fixture('repos/commit_comment.json'), :status => 201, :headers => {:content_type => "application/json; charset=utf-8"})
|
|
267
|
-
|
|
268
274
|
end
|
|
269
275
|
|
|
270
276
|
it "should fail to create resource if 'body' input is missing" do
|
|
271
277
|
expect {
|
|
272
278
|
github.repos.create_comment user, repo, sha, inputs.except('body')
|
|
273
|
-
}.to raise_error(
|
|
279
|
+
}.to raise_error(Github::Error::RequiredParams)
|
|
274
280
|
end
|
|
275
281
|
|
|
276
282
|
it "should fail to create resource if 'commit_id' input is missing" do
|
|
277
283
|
expect {
|
|
278
284
|
github.repos.create_comment user, repo, sha, inputs.except(:commit_id)
|
|
279
|
-
}.to raise_error(
|
|
285
|
+
}.to raise_error(Github::Error::RequiredParams)
|
|
280
286
|
end
|
|
281
287
|
|
|
282
288
|
it "should fail to create resource if 'line' input is missing" do
|
|
283
289
|
expect {
|
|
284
290
|
github.repos.create_comment user, repo, sha, inputs.except(:line)
|
|
285
|
-
}.to raise_error(
|
|
291
|
+
}.to raise_error(Github::Error::RequiredParams)
|
|
286
292
|
end
|
|
287
293
|
|
|
288
294
|
it "should fail to create resource if 'path' input is missing" do
|
|
289
295
|
expect {
|
|
290
296
|
github.repos.create_comment user, repo, sha, inputs.except(:path)
|
|
291
|
-
}.to raise_error(
|
|
297
|
+
}.to raise_error(Github::Error::RequiredParams)
|
|
292
298
|
end
|
|
293
299
|
|
|
294
300
|
it "should fail to create resource if 'position' input is missing" do
|
|
295
301
|
expect {
|
|
296
302
|
github.repos.create_comment user, repo, sha, inputs.except(:position)
|
|
297
|
-
}.to raise_error(
|
|
303
|
+
}.to raise_error(Github::Error::RequiredParams)
|
|
298
304
|
end
|
|
299
305
|
|
|
300
306
|
it "should create resource successfully" do
|
|
@@ -383,7 +389,7 @@ describe Github::Repos::Commits, :type => :base do
|
|
|
383
389
|
it "should fail to create resource if 'body' input is missing" do
|
|
384
390
|
expect {
|
|
385
391
|
github.repos.update_comment user, repo, comment_id, inputs.except('body')
|
|
386
|
-
}.to raise_error(
|
|
392
|
+
}.to raise_error(Github::Error::RequiredParams)
|
|
387
393
|
end
|
|
388
394
|
|
|
389
395
|
it "should create resource successfully" do
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
1
3
|
require 'spec_helper'
|
|
2
4
|
|
|
3
|
-
describe Github::Repos::Downloads
|
|
5
|
+
describe Github::Repos::Downloads do
|
|
6
|
+
let(:github) { Github.new }
|
|
7
|
+
let(:user) { 'peter-murach' }
|
|
8
|
+
let(:repo) { 'github' }
|
|
9
|
+
|
|
10
|
+
after { github.user, github.repo, github.oauth_token = nil, nil, nil }
|
|
4
11
|
|
|
5
12
|
it { described_class::VALID_DOWNLOAD_PARAM_NAMES.should_not be_nil }
|
|
6
13
|
it { described_class::REQUIRED_PARAMS.should_not be_nil }
|
|
@@ -18,7 +25,6 @@ describe Github::Repos::Downloads, :type => :base do
|
|
|
18
25
|
end
|
|
19
26
|
|
|
20
27
|
it "should fail to get resource without username" do
|
|
21
|
-
github.user, github.repo = nil, nil
|
|
22
28
|
expect { github.repos.downloads }.to raise_error(ArgumentError)
|
|
23
29
|
end
|
|
24
30
|
|
|
@@ -76,7 +82,9 @@ describe Github::Repos::Downloads, :type => :base do
|
|
|
76
82
|
end
|
|
77
83
|
|
|
78
84
|
it "should fail to get resource without download id" do
|
|
79
|
-
expect {
|
|
85
|
+
expect {
|
|
86
|
+
github.repos.download(user, repo, nil)
|
|
87
|
+
}.to raise_error(ArgumentError)
|
|
80
88
|
end
|
|
81
89
|
|
|
82
90
|
it "should get the resource" do
|
|
@@ -164,13 +172,13 @@ describe Github::Repos::Downloads, :type => :base do
|
|
|
164
172
|
it "should fail to create resource if 'name' input is missing" do
|
|
165
173
|
expect {
|
|
166
174
|
github.repos.create_download user, repo, inputs.except(:name)
|
|
167
|
-
}.to raise_error(
|
|
175
|
+
}.to raise_error(Github::Error::RequiredParams)
|
|
168
176
|
end
|
|
169
177
|
|
|
170
178
|
it "should failt to create resource if 'size' input is missing" do
|
|
171
179
|
expect {
|
|
172
180
|
github.repos.create_download user, repo, inputs.except(:size)
|
|
173
|
-
}.to raise_error(
|
|
181
|
+
}.to raise_error(Github::Error::RequiredParams)
|
|
174
182
|
end
|
|
175
183
|
|
|
176
184
|
it "should create resource successfully" do
|
|
@@ -193,7 +201,6 @@ describe Github::Repos::Downloads, :type => :base do
|
|
|
193
201
|
before do
|
|
194
202
|
stub_post("/repos/#{user}/#{repo}/downloads").with(inputs).
|
|
195
203
|
to_return(:body => fixture('repos/download_s3.json'), :status => 404, :headers => {:content_type => "application/json; charset=utf-8"})
|
|
196
|
-
|
|
197
204
|
end
|
|
198
205
|
|
|
199
206
|
it "should faile to retrieve resource" do
|
|
@@ -205,7 +212,12 @@ describe Github::Repos::Downloads, :type => :base do
|
|
|
205
212
|
end # create_download
|
|
206
213
|
|
|
207
214
|
describe 'upload' do
|
|
208
|
-
let(:inputs)
|
|
215
|
+
let(:inputs) do
|
|
216
|
+
{ :name => 'new_file.jpg',
|
|
217
|
+
:size => 114034,
|
|
218
|
+
:description => "Latest release",
|
|
219
|
+
:content_type => 'text/plain' }
|
|
220
|
+
end
|
|
209
221
|
let(:resource) { Hashie::Mash.new ::JSON.parse(fixture('repos/download_s3.json').read) }
|
|
210
222
|
let(:file) { 'filename' }
|
|
211
223
|
|
|
@@ -236,7 +248,6 @@ describe Github::Repos::Downloads, :type => :base do
|
|
|
236
248
|
github.repos.upload resource, file
|
|
237
249
|
}.to raise_error(Github::Error::NotFound)
|
|
238
250
|
end
|
|
239
|
-
|
|
240
251
|
end
|
|
241
252
|
end # upload
|
|
242
253
|
|