github_api 0.8.5 → 0.8.6
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/README.md +1 -1
- data/features/cassettes/issues/labels/add.yml +52 -0
- data/features/cassettes/issues/labels/remove_all.yml +46 -0
- data/features/cassettes/issues/labels/remove_one.yml +46 -0
- data/features/cassettes/issues/labels/replace.yml +52 -0
- data/features/cassettes/repos/forks/list.yml +314 -0
- data/features/cassettes/repos/forks/list_sort.yml +318 -0
- data/features/issues/labels.feature +38 -0
- data/features/repos/forks.feature +28 -0
- data/features/step_definitions/common_steps.rb +8 -0
- data/lib/github_api/issues/comments.rb +2 -6
- data/lib/github_api/issues/labels.rb +8 -7
- data/lib/github_api/orgs.rb +7 -7
- data/lib/github_api/repos/collaborators.rb +1 -1
- data/lib/github_api/repos/pub_sub_hubbub.rb +7 -2
- data/lib/github_api/version.rb +1 -1
- data/spec/github/issues/edit_spec.rb +1 -1
- data/spec/github/issues/labels/remove_spec.rb +4 -4
- data/spec/github/orgs/edit_spec.rb +54 -0
- data/spec/github/orgs/get_spec.rb +44 -0
- data/spec/github/orgs/list_spec.rb +63 -0
- data/spec/github/orgs/orgs_spec.rb +13 -0
- metadata +43 -33
- data/spec/github/orgs_spec.rb +0 -178
data/spec/github/orgs_spec.rb
DELETED
@@ -1,178 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
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 { reset_authentication_for github }
|
12
|
-
|
13
|
-
its(:members) { should be_a Github::Orgs::Members }
|
14
|
-
its(:teams) { should be_a Github::Orgs::Teams }
|
15
|
-
|
16
|
-
describe "#list" do
|
17
|
-
context "resource found for a user" do
|
18
|
-
before do
|
19
|
-
stub_get("/users/#{user}/orgs").
|
20
|
-
to_return(:body => fixture('orgs/orgs.json'), :status => 200,
|
21
|
-
:headers => {:content_type => "application/json; charset=utf-8"})
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should get the resources" do
|
25
|
-
github.orgs.list :user => user
|
26
|
-
a_get("/users/#{user}/orgs").should have_been_made
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should return array of resources" do
|
30
|
-
orgs = github.orgs.list :user => user
|
31
|
-
orgs.should be_an Array
|
32
|
-
orgs.should have(1).items
|
33
|
-
end
|
34
|
-
|
35
|
-
it "should be a mash type" do
|
36
|
-
orgs = github.orgs.list :user => user
|
37
|
-
orgs.first.should be_a Hashie::Mash
|
38
|
-
end
|
39
|
-
|
40
|
-
it "should get org information" do
|
41
|
-
orgs = github.orgs.list :user => user
|
42
|
-
orgs.first.login.should == 'github'
|
43
|
-
end
|
44
|
-
|
45
|
-
it "should yield to a block" do
|
46
|
-
github.orgs.should_receive(:list).with(:user => user).and_yield('web')
|
47
|
-
github.orgs.list(:user => user) { |param| 'web' }
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
context "resource found for an au user" do
|
52
|
-
before do
|
53
|
-
github.oauth_token = OAUTH_TOKEN
|
54
|
-
stub_get("/user/orgs").
|
55
|
-
with(:query => { :access_token => OAUTH_TOKEN }).
|
56
|
-
to_return(:body => fixture('orgs/orgs.json'), :status => 200,
|
57
|
-
:headers => {:content_type => "application/json; charset=utf-8"})
|
58
|
-
end
|
59
|
-
|
60
|
-
# after { github.oauth_token = nil }
|
61
|
-
|
62
|
-
it "should get the resources" do
|
63
|
-
github.orgs.list
|
64
|
-
a_get("/user/orgs").with(:query => { :access_token => OAUTH_TOKEN }).
|
65
|
-
should have_been_made
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
context "resource not found for a user" do
|
70
|
-
before do
|
71
|
-
stub_get("/users/#{user}/orgs").
|
72
|
-
to_return(:body => "", :status => [404, "Not Found"])
|
73
|
-
end
|
74
|
-
|
75
|
-
it "should return 404 with a message 'Not Found'" do
|
76
|
-
expect {
|
77
|
-
github.orgs.list :user => user
|
78
|
-
}.to raise_error(Github::Error::NotFound)
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end # list
|
82
|
-
|
83
|
-
describe "#get" do
|
84
|
-
context "resource found" do
|
85
|
-
before do
|
86
|
-
stub_get("/orgs/#{org}").
|
87
|
-
to_return(:body => fixture('orgs/org.json'), :status => 200, :headers => {:content_type => "application/json; charset=utf-8"})
|
88
|
-
end
|
89
|
-
|
90
|
-
it "should fail to get resource without org name" do
|
91
|
-
expect { github.orgs.get }.to raise_error(ArgumentError)
|
92
|
-
end
|
93
|
-
|
94
|
-
it "should get the resource" do
|
95
|
-
github.orgs.get org
|
96
|
-
a_get("/orgs/#{org}").should have_been_made
|
97
|
-
end
|
98
|
-
|
99
|
-
it "should get org information" do
|
100
|
-
organisation = github.orgs.get org
|
101
|
-
organisation.id.should == 1
|
102
|
-
organisation.login.should == 'github'
|
103
|
-
end
|
104
|
-
|
105
|
-
it "should return mash" do
|
106
|
-
organisation = github.orgs.get org
|
107
|
-
organisation.should be_a Hashie::Mash
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
context "resource not found" do
|
112
|
-
before do
|
113
|
-
stub_get("/orgs/#{org}").
|
114
|
-
to_return(:body => fixture('orgs/org.json'), :status => 404,
|
115
|
-
:headers => {:content_type => "application/json; charset=utf-8"})
|
116
|
-
end
|
117
|
-
|
118
|
-
it "should fail to retrive resource" do
|
119
|
-
expect {
|
120
|
-
github.orgs.get org
|
121
|
-
}.to raise_error(Github::Error::NotFound)
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end # get
|
125
|
-
|
126
|
-
describe "#edit" do
|
127
|
-
let(:inputs) do
|
128
|
-
{ :billing_email => 'support@github.com',
|
129
|
-
:blog => "https://github.com/blog",
|
130
|
-
:company => "GitHub",
|
131
|
-
:email => "support@github.com",
|
132
|
-
:location => "San Francisco",
|
133
|
-
:name => "github" }
|
134
|
-
end
|
135
|
-
|
136
|
-
context "resource edited successfully" do
|
137
|
-
before do
|
138
|
-
stub_patch("/orgs/#{org}").with(inputs).
|
139
|
-
to_return(:body => fixture("orgs/org.json"), :status => 200,
|
140
|
-
:headers => { :content_type => "application/json; charset=utf-8"})
|
141
|
-
end
|
142
|
-
|
143
|
-
it "should fail to edit without 'user/repo' parameters" do
|
144
|
-
expect { github.orgs.edit }.to raise_error(ArgumentError)
|
145
|
-
end
|
146
|
-
|
147
|
-
it "should edit the resource" do
|
148
|
-
github.orgs.edit org
|
149
|
-
a_patch("/orgs/#{org}").with(inputs).should have_been_made
|
150
|
-
end
|
151
|
-
|
152
|
-
it "should return resource" do
|
153
|
-
organisation = github.orgs.edit org
|
154
|
-
organisation.should be_a Hashie::Mash
|
155
|
-
end
|
156
|
-
|
157
|
-
it "should be able to retrieve information" do
|
158
|
-
organisation = github.orgs.edit org
|
159
|
-
organisation.name.should == 'github'
|
160
|
-
end
|
161
|
-
end
|
162
|
-
|
163
|
-
context "failed to edit resource" do
|
164
|
-
before do
|
165
|
-
stub_patch("/orgs/#{org}").with(inputs).
|
166
|
-
to_return(:body => fixture("orgs/org.json"), :status => 404,
|
167
|
-
:headers => { :content_type => "application/json; charset=utf-8"})
|
168
|
-
end
|
169
|
-
|
170
|
-
it "should fail to find resource" do
|
171
|
-
expect {
|
172
|
-
github.orgs.edit org
|
173
|
-
}.to raise_error(Github::Error::NotFound)
|
174
|
-
end
|
175
|
-
end
|
176
|
-
end # edit
|
177
|
-
|
178
|
-
end # Github::Orgs
|