github_api 0.1.0.pre → 0.1.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.
data/spec/github_spec.rb CHANGED
@@ -1,5 +1,93 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe Github do
4
- pending
4
+
5
+ it "should respond to 'new' message" do
6
+ Github.should respond_to :new
7
+ end
8
+
9
+ it "should receive 'new' and initialize Github::Client instance" do
10
+ Github.new.should be_a Github::Client
11
+ end
12
+
13
+ it "should respond to 'configure' message" do
14
+ Github.should respond_to :configure
15
+ end
16
+
17
+ describe "setting configuration options" do
18
+
19
+ it "should return default adapter" do
20
+ Github.adapter.should == Github::Configuration::DEFAULT_ADAPTER
21
+ end
22
+
23
+ it "should allow to set adapter" do
24
+ Github.adapter = :typhoeus
25
+ Github.adapter.should == :typhoeus
26
+ end
27
+
28
+ it "should return the default end point" do
29
+ Github.endpoint.should == Github::Configuration::DEFAULT_ENDPOINT
30
+ end
31
+
32
+ it "should allow to set endpoint" do
33
+ Github.endpoint = 'http://linkedin.com'
34
+ Github.endpoint.should == 'http://linkedin.com'
35
+ end
36
+
37
+ it "should return the default user agent" do
38
+ Github.user_agent.should == Github::Configuration::DEFAULT_USER_AGENT
39
+ end
40
+
41
+ it "should allow to set new user agent" do
42
+ Github.user_agent = 'New User Agent'
43
+ Github.user_agent.should == 'New User Agent'
44
+ end
45
+
46
+ it "should have not set oauth token" do
47
+ Github.oauth_token.should be_nil
48
+ end
49
+
50
+ it "should allow to set oauth token" do
51
+ Github.oauth_token = ''
52
+ end
53
+
54
+ it "should have not set default user" do
55
+ Github.user.should be_nil
56
+ end
57
+
58
+ it "should allow to set new user" do
59
+ Github.user = 'github'
60
+ Github.user.should == 'github'
61
+ end
62
+
63
+ it "should have not set default repository" do
64
+ Github.repo.should be_nil
65
+ end
66
+
67
+ it "should allow to set new repository" do
68
+ Github.repo = 'github'
69
+ Github.repo.should == 'github'
70
+ end
71
+
72
+ it "should have faraday options as hash" do
73
+ Github.faraday_options.should be_a Hash
74
+ end
75
+
76
+ it "should initialize faraday options to empty hash" do
77
+ Github.faraday_options.should be_empty
78
+ end
79
+
80
+ end
81
+
82
+ describe ".configure" do
83
+ Github::Configuration::VALID_OPTIONS_KEYS.each do |key|
84
+ it "should set the #{key}" do
85
+ Github.configure do |config|
86
+ config.send("#{key}=", key)
87
+ Github.send(key).should == key
88
+ end
89
+ end
90
+ end
91
+ end
92
+
5
93
  end
data/spec/spec_helper.rb CHANGED
@@ -4,6 +4,7 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
4
  $LOAD_PATH.unshift(File.dirname(__FILE__))
5
5
 
6
6
  require 'rspec'
7
+ require 'webmock/rspec'
7
8
  require 'github_api'
8
9
 
9
10
  # Requires supporting files with custom matchers and macros, etc,
@@ -11,5 +12,55 @@ require 'github_api'
11
12
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
12
13
 
13
14
  RSpec.configure do |config|
14
-
15
+ config.include WebMock::API
15
16
  end
17
+
18
+ def stub_get(path, endpoint = Github.endpoint)
19
+ stub_request(:get, endpoint + path)
20
+ end
21
+
22
+ def stub_post(path, endpoint = Github.endpoint)
23
+ stub_request(:post, endpoint + path)
24
+ end
25
+
26
+ def stub_patch(path, endpoint = Github.endpoint)
27
+ stub_request(:patch, endpoint + path)
28
+ end
29
+
30
+ def stub_put(path, endpoint = Github.endpoint)
31
+ stub_request(:put, endpoint + path)
32
+ end
33
+
34
+ def stub_delete(path, endpoint = Github.endpoint)
35
+ stub_request(:delete, endpoint + path)
36
+ end
37
+
38
+ def a_get(path, endpoint = Github.endpoint)
39
+ a_request(:get, endpoint + path)
40
+ end
41
+
42
+ def a_post(path, endpoint = Github.endpoint)
43
+ a_request(:post, endpoint + path)
44
+ end
45
+
46
+ def a_patch(path, endpoint = Github.endpoint)
47
+ a_request(:patch, endpoint + path)
48
+ end
49
+
50
+ def a_put(path, endpoint = Github.endpoint)
51
+ a_request(:put, endpoint + path)
52
+ end
53
+
54
+ def a_delete(path, endpoint = Github.endpoint)
55
+ a_request(:delete, endpoint + path)
56
+ end
57
+
58
+ def fixture_path
59
+ File.expand_path("../fixtures", __FILE__)
60
+ end
61
+
62
+ def fixture(file)
63
+ File.new(File.join(fixture_path, '/', file))
64
+ end
65
+
66
+ OAUTH_TOKEN = 'bafec72922f31fe86aacc8aca4261117f3bd62cf'
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github_api
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: true
4
+ prerelease: false
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
8
  - 0
9
- - pre
10
- version: 0.1.0.pre
9
+ version: 0.1.0
11
10
  platform: ruby
12
11
  authors:
13
12
  - Piotr Murach
@@ -15,7 +14,7 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2011-10-08 00:00:00 +01:00
17
+ date: 2011-10-16 00:00:00 +01:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
@@ -101,9 +100,23 @@ dependencies:
101
100
  type: :development
102
101
  version_requirements: *id006
103
102
  - !ruby/object:Gem::Dependency
104
- name: bundler
103
+ name: yajl-ruby
105
104
  prerelease: false
106
105
  requirement: &id007 !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ segments:
110
+ - 0
111
+ - 8
112
+ - 2
113
+ version: 0.8.2
114
+ type: :development
115
+ version_requirements: *id007
116
+ - !ruby/object:Gem::Dependency
117
+ name: bundler
118
+ prerelease: false
119
+ requirement: &id008 !ruby/object:Gem::Requirement
107
120
  requirements:
108
121
  - - ~>
109
122
  - !ruby/object:Gem::Version
@@ -113,11 +126,11 @@ dependencies:
113
126
  - 0
114
127
  version: 1.0.0
115
128
  type: :development
116
- version_requirements: *id007
129
+ version_requirements: *id008
117
130
  - !ruby/object:Gem::Dependency
118
131
  name: jeweler
119
132
  prerelease: false
120
- requirement: &id008 !ruby/object:Gem::Requirement
133
+ requirement: &id009 !ruby/object:Gem::Requirement
121
134
  requirements:
122
135
  - - ~>
123
136
  - !ruby/object:Gem::Version
@@ -127,11 +140,11 @@ dependencies:
127
140
  - 4
128
141
  version: 1.6.4
129
142
  type: :development
130
- version_requirements: *id008
143
+ version_requirements: *id009
131
144
  - !ruby/object:Gem::Dependency
132
145
  name: webmock
133
146
  prerelease: false
134
- requirement: &id009 !ruby/object:Gem::Requirement
147
+ requirement: &id010 !ruby/object:Gem::Requirement
135
148
  requirements:
136
149
  - - ~>
137
150
  - !ruby/object:Gem::Version
@@ -141,11 +154,11 @@ dependencies:
141
154
  - 6
142
155
  version: 1.7.6
143
156
  type: :development
144
- version_requirements: *id009
157
+ version_requirements: *id010
145
158
  - !ruby/object:Gem::Dependency
146
159
  name: simplecov
147
160
  prerelease: false
148
- requirement: &id010 !ruby/object:Gem::Requirement
161
+ requirement: &id011 !ruby/object:Gem::Requirement
149
162
  requirements:
150
163
  - - ~>
151
164
  - !ruby/object:Gem::Version
@@ -154,7 +167,7 @@ dependencies:
154
167
  - 4
155
168
  version: "0.4"
156
169
  type: :development
157
- version_requirements: *id010
170
+ version_requirements: *id011
158
171
  description: " Ruby wrapper that supports all of the GitHub API methods(nearly 200). It's build in a modular way, that is, you can either instantiate the whole api wrapper Github.new or use parts of it e.i. Github::Repos.new if working solely with repositories is your main concern. "
159
172
  email: ""
160
173
  executables: []
@@ -216,6 +229,10 @@ files:
216
229
  - lib/github_api.rb
217
230
  - spec/fixtures/collaborators_list.json
218
231
  - spec/fixtures/commits_list.json
232
+ - spec/fixtures/repos/key.json
233
+ - spec/fixtures/repos/keys.json
234
+ - spec/fixtures/repos/watched.json
235
+ - spec/fixtures/repos/watchers.json
219
236
  - spec/fixtures/repos_branches_list.json
220
237
  - spec/fixtures/repos_list.json
221
238
  - spec/github/api_spec.rb
@@ -266,13 +283,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
266
283
  version: "0"
267
284
  required_rubygems_version: !ruby/object:Gem::Requirement
268
285
  requirements:
269
- - - ">"
286
+ - - ">="
270
287
  - !ruby/object:Gem::Version
271
288
  segments:
272
- - 1
273
- - 3
274
- - 1
275
- version: 1.3.1
289
+ - 0
290
+ version: "0"
276
291
  requirements: []
277
292
 
278
293
  rubyforge_project: