octokit 1.4.0 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/octokit/client.rb +0 -4
- data/lib/octokit/client/commits.rb +61 -3
- data/lib/octokit/client/issues.rb +0 -1
- data/lib/octokit/client/objects.rb +65 -20
- data/lib/octokit/client/organizations.rb +1 -6
- data/lib/octokit/client/repositories.rb +0 -5
- data/lib/octokit/client/users.rb +1 -7
- data/lib/octokit/version.rb +1 -1
- data/spec/fixtures/{v2 → legacy}/issues.json +0 -0
- data/spec/fixtures/{v2 → legacy}/repositories.json +0 -0
- data/spec/fixtures/{v2 → legacy}/users.json +0 -0
- data/spec/fixtures/v3/blob_create.json +3 -0
- data/spec/fixtures/v3/commit_create.json +25 -0
- data/spec/fixtures/v3/tree_create.json +14 -0
- data/spec/octokit/client/commits_spec.rb +16 -0
- data/spec/octokit/client/issues_spec.rb +1 -1
- data/spec/octokit/client/objects_spec.rb +23 -41
- data/spec/octokit/client/organizations_spec.rb +5 -20
- data/spec/octokit/client/repositories_spec.rb +1 -12
- data/spec/octokit/client/users_spec.rb +1 -12
- metadata +38 -54
- data/lib/octokit/client/network.rb +0 -15
- data/lib/octokit/client/timelines.rb +0 -21
- data/spec/fixtures/timeline.json +0 -1408
- data/spec/fixtures/v2/blob_metadata.json +0 -2052
- data/spec/fixtures/v2/blobs.json +0 -260
- data/spec/fixtures/v2/network_data.json +0 -3551
- data/spec/fixtures/v2/network_meta.json +0 -2530
- data/spec/fixtures/v2/raw.txt +0 -7
- data/spec/fixtures/v2/tree_metadata.json +0 -2612
- data/spec/fixtures/v2/user.json +0 -19
- data/spec/octokit/client/network_spec.rb +0 -32
- data/spec/octokit/client/timelines_spec.rb +0 -42
data/lib/octokit/client.rb
CHANGED
@@ -9,7 +9,6 @@ require 'octokit/client/downloads'
|
|
9
9
|
require 'octokit/client/gists'
|
10
10
|
require 'octokit/client/issues'
|
11
11
|
require 'octokit/client/labels'
|
12
|
-
require 'octokit/client/network'
|
13
12
|
require 'octokit/client/milestones'
|
14
13
|
require 'octokit/client/objects'
|
15
14
|
require 'octokit/client/organizations'
|
@@ -17,7 +16,6 @@ require 'octokit/client/pub_sub_hubbub'
|
|
17
16
|
require 'octokit/client/pub_sub_hubbub/service_hooks'
|
18
17
|
require 'octokit/client/pulls'
|
19
18
|
require 'octokit/client/repositories'
|
20
|
-
require 'octokit/client/timelines'
|
21
19
|
require 'octokit/client/users'
|
22
20
|
require 'octokit/client/events'
|
23
21
|
require 'octokit/client/authorizations'
|
@@ -43,7 +41,6 @@ module Octokit
|
|
43
41
|
include Octokit::Client::Gists
|
44
42
|
include Octokit::Client::Issues
|
45
43
|
include Octokit::Client::Labels
|
46
|
-
include Octokit::Client::Network
|
47
44
|
include Octokit::Client::Milestones
|
48
45
|
include Octokit::Client::Objects
|
49
46
|
include Octokit::Client::Organizations
|
@@ -51,7 +48,6 @@ module Octokit
|
|
51
48
|
include Octokit::Client::PubSubHubbub
|
52
49
|
include Octokit::Client::PubSubHubbub::ServiceHooks
|
53
50
|
include Octokit::Client::Repositories
|
54
|
-
include Octokit::Client::Timelines
|
55
51
|
include Octokit::Client::Users
|
56
52
|
include Octokit::Client::Events
|
57
53
|
include Octokit::Client::Authorizations
|
@@ -2,24 +2,82 @@ module Octokit
|
|
2
2
|
class Client
|
3
3
|
module Commits
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
# List commits
|
6
|
+
#
|
7
|
+
# Optionally pass <tt>path => "path/to/file.rb"</tt> in <tt>options</tt> to
|
8
|
+
# only return commits containing the given file path.
|
9
|
+
#
|
10
|
+
# @param repo [String, Hash, Repository] A GitHub repository
|
11
|
+
# @param sha_or_branch [String] Commit SHA or branch name from which to start the list
|
12
|
+
# @return [Array] An array of hashes representing commits
|
13
|
+
# @see http://developer.github.com/v3/repos/commits/
|
14
|
+
def commits(repo, sha_or_branch="master", options={})
|
15
|
+
params = { :sha => sha_or_branch, :per_page => 35 }
|
16
|
+
get("/repos/#{Repository.new(repo)}/commits", options.merge(params), 3)
|
8
17
|
end
|
9
18
|
alias :list_commits :commits
|
10
19
|
|
20
|
+
# Get a single commit
|
21
|
+
#
|
22
|
+
# @param repo [String, Hash, Repository] A GitHub repository
|
23
|
+
# @param sha [String] The SHA of the commit to fetch
|
24
|
+
# @return [Hashie::Mash] A hash representing the commit
|
25
|
+
# @see http://developer.github.com/v3/repos/commits/
|
11
26
|
def commit(repo, sha, options={})
|
12
27
|
get("/repos/#{Repository.new(repo)}/commits/#{sha}", options, 3)
|
13
28
|
end
|
14
29
|
|
30
|
+
# Create a commit
|
31
|
+
#
|
32
|
+
# Optionally pass <tt>author</tt> and <tt>committer</tt> hashes in <tt>options</tt>
|
33
|
+
# if you'd like manual control over those parameters. If absent, details will be
|
34
|
+
# inferred from the authenticated user. See <a href="http://developer.github.com/v3/git/commits/">GitHub's documentation</a>
|
35
|
+
# for details about how to format committer identities.
|
36
|
+
#
|
37
|
+
# @param repo [String, Hash, Repository] A GitHub repository
|
38
|
+
# @param message [String] The commit message
|
39
|
+
# @param tree [String] The SHA of the tree object the new commit will point to
|
40
|
+
# @param parents [String, Array] One SHA (for a normal commit) or an array of SHAs (for a merge) of the new commit's parent commits. If ommitted or empty, a root commit will be created
|
41
|
+
# @return [Hashie::Mash] A hash representing the new commit
|
42
|
+
# @see http://developer.github.com/v3/git/commits/
|
43
|
+
# @example Create a commit
|
44
|
+
# commit = Octokit.create_commit("octocat/Hello-World", "My commit message", "827efc6d56897b048c772eb4087f854f46256132", "7d1b31e74ee336d15cbd21741bc88a537ed063a0")
|
45
|
+
# commit.sha # => "7638417db6d59f3c431d3e1f261cc637155684cd"
|
46
|
+
# commit.tree.sha # => "827efc6d56897b048c772eb4087f854f46256132"
|
47
|
+
# commit.message # => "My commit message"
|
48
|
+
# commit.committer # => { "name" => "Wynn Netherland", "email" => "wynn@github.com", ... }
|
49
|
+
def create_commit(repo, message, tree, parents=nil, options={})
|
50
|
+
params = { :message => message, :tree => tree }.tap do |params|
|
51
|
+
params[:parents] = [parents].flatten if parents
|
52
|
+
end
|
53
|
+
post("/repos/#{Repository.new(repo)}/git/commits", options.merge(params), 3)
|
54
|
+
end
|
55
|
+
|
56
|
+
# List all commit comments
|
57
|
+
#
|
58
|
+
# @param repo [String, Hash, Repository] A GitHub repository
|
59
|
+
# @return [Array] An array of hashes representing comments
|
60
|
+
# @see http://developer.github.com/v3/repos/comments/
|
15
61
|
def list_commit_comments(repo, options={})
|
16
62
|
get("/repos/#{Repository.new(repo)}/comments", options, 3)
|
17
63
|
end
|
18
64
|
|
65
|
+
# List comments for a single commit
|
66
|
+
#
|
67
|
+
# @param repo [String, Hash, Repository] A GitHub repository
|
68
|
+
# @param sha [String] The SHA of the commit whose comments will be fetched
|
69
|
+
# @return [Array] An array of hashes representing comments
|
70
|
+
# @see http://developer.github.com/v3/repos/comments/
|
19
71
|
def commit_comments(repo, sha, options={})
|
20
72
|
get("/repos/#{Repository.new(repo)}/commits/#{sha}/comments", options, 3)
|
21
73
|
end
|
22
74
|
|
75
|
+
# Get a single commit comment
|
76
|
+
#
|
77
|
+
# @param repo [String, Hash, Repository] A GitHub repository
|
78
|
+
# @param id [String] The ID of the comment to fetch
|
79
|
+
# @return [Hashie::Mash] A hash representing the comment
|
80
|
+
# @see http://developer.github.com/v3/repos/comments/
|
23
81
|
def commit_comment(repo, id, options={})
|
24
82
|
get("/repos/#{Repository.new(repo)}/comments/#{id}", options, 3)
|
25
83
|
end
|
@@ -11,7 +11,6 @@ module Octokit
|
|
11
11
|
# @see http://develop.github.com/p/issues.html
|
12
12
|
# @example Search for 'test' in the open issues for sferik/rails_admin
|
13
13
|
# Octokit.search_issues("sferik/rails_admin", 'test', 'open')
|
14
|
-
# @deprecated Please use `list_issues` instead
|
15
14
|
def search_issues(repo, search_term, state='open', options={})
|
16
15
|
get("/legacy/issues/search/#{Repository.new(repo)}/#{state}/#{search_term}", options, 3)['issues']
|
17
16
|
end
|
@@ -1,34 +1,79 @@
|
|
1
1
|
module Octokit
|
2
2
|
class Client
|
3
3
|
module Objects
|
4
|
+
# Get a single tree, fetching information about its root-level objects
|
5
|
+
#
|
6
|
+
# Pass <tt>:recursive => true</tt> in <tt>options</tt> to fetch information about all of the tree's objects, including those in subdirectories.
|
7
|
+
#
|
8
|
+
# @param repo [String, Hash, Repository] A GitHub repository
|
9
|
+
# @param tree_sha [String] The SHA of the tree to fetch
|
10
|
+
# @return [Hashie::Mash] A hash representing the fetched tree
|
11
|
+
# @see http://developer.github.com/v3/git/trees/
|
12
|
+
# @example Fetch a tree and inspect the path of one of its files
|
13
|
+
# tree = Octokit.tree("octocat/Hello-World", "9fb037999f264ba9a7fc6274d15fa3ae2ab98312")
|
14
|
+
# tree.tree.first.path # => "file.rb"
|
15
|
+
# @example Fetch a tree recursively
|
16
|
+
# tree = Octokit.tree("octocat/Hello-World", "fc6274d15fa3ae2ab983129fb037999f264ba9a7")
|
17
|
+
# tree.tree.first.path # => "subdir/file.txt"
|
4
18
|
def tree(repo, tree_sha, options={})
|
5
19
|
get("repos/#{Repository.new(repo)}/git/trees/#{tree_sha}", options)
|
6
20
|
end
|
7
21
|
|
8
|
-
|
9
|
-
|
22
|
+
# Create a tree
|
23
|
+
#
|
24
|
+
# Pass <tt>:base_tree => "827efc6..."</tt> in <tt>options</tt> to update an existing tree with new data.
|
25
|
+
#
|
26
|
+
# @param repo [String, Hash, Repository] A GitHub repository
|
27
|
+
# @param tree [Array] An array of hashes representing a tree structure
|
28
|
+
# @return [Hashie::Mash] A hash representing the new tree
|
29
|
+
# @see http://developer.github.com/v3/git/trees/
|
30
|
+
# @example Create a tree containing one file
|
31
|
+
# tree = Octokit.create_tree("octocat/Hello-World", [ { :path => "file.rb", :mode => "100644", :type => "blob", :sha => "44b4fc6d56897b048c772eb4087f854f46256132" } ])
|
32
|
+
# tree.sha # => "cd8274d15fa3ae2ab983129fb037999f264ba9a7"
|
33
|
+
# tree.tree.first.path # => "file.rb"
|
34
|
+
def create_tree(repo, tree, options={})
|
35
|
+
parameters = { :tree => tree }
|
36
|
+
post("/repos/#{Repository.new(repo)}/git/trees", options.merge(parameters), 3)
|
10
37
|
end
|
11
38
|
|
12
|
-
|
13
|
-
|
14
|
-
|
39
|
+
# Get a single blob, fetching its content and encoding
|
40
|
+
#
|
41
|
+
# @param repo [String, Hash, Repository] A GitHub repository
|
42
|
+
# @param blob_sha [String] The SHA of the blob to fetch
|
43
|
+
# @return [Hashie::Mash] A hash representing the fetched blob
|
44
|
+
# @see http://developer.github.com/v3/git/blobs/
|
45
|
+
# @example Fetch a blob and inspect its contents
|
46
|
+
# blob = Octokit.blob("octocat/Hello-World", "827efc6d56897b048c772eb4087f854f46256132")
|
47
|
+
# blob.encoding # => "utf-8"
|
48
|
+
# blob.content # => "Foo bar baz"
|
49
|
+
# @example Fetch a base64-encoded blob and inspect its contents
|
50
|
+
# require "base64"
|
51
|
+
# blob = Octokit.blob("octocat/Hello-World", "827efc6d56897b048c772eb4087f854f46256132")
|
52
|
+
# blob.encoding # => "base64"
|
53
|
+
# blob.content # => "Rm9vIGJhciBiYXo="
|
54
|
+
# Base64.decode64(blob.content) # => "Foo bar baz"
|
55
|
+
def blob(repo, blob_sha, options={})
|
56
|
+
get("repos/#{Repository.new(repo)}/git/blobs/#{blob_sha}", options)
|
15
57
|
end
|
16
58
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
def
|
30
|
-
|
31
|
-
|
59
|
+
# Create a blob
|
60
|
+
#
|
61
|
+
# @param repo [String, Hash, Repository] A GitHub repository
|
62
|
+
# @param content [String] Content of the blob
|
63
|
+
# @param encoding [String] The content's encoding. <tt>utf-8</tt> and <tt>base64</tt> are accepted. If your data cannot be losslessly sent as a UTF-8 string, you can base64 encode it
|
64
|
+
# @return [String] The new blob's SHA, e.g. <tt>827efc6d56897b048c772eb4087f854f46256132</tt>
|
65
|
+
# @see http://developer.github.com/v3/git/blobs/
|
66
|
+
# @example Create a blob containing <tt>foo bar baz</tt>
|
67
|
+
# Octokit.create_blob("octocat/Hello-World", "foo bar baz")
|
68
|
+
# @example Create a blob containing <tt>foo bar baz</tt>, encoded using base64
|
69
|
+
# require "base64"
|
70
|
+
# Octokit.create_blob("octocat/Hello-World", Base64.encode64("foo bar baz"), "base64")
|
71
|
+
def create_blob(repo, content, encoding="utf-8", options={})
|
72
|
+
parameters = {
|
73
|
+
:content => content,
|
74
|
+
:encoding => encoding
|
75
|
+
}
|
76
|
+
post("/repos/#{Repository.new(repo)}/git/blobs", options.merge(parameters), 3).sha
|
32
77
|
end
|
33
78
|
end
|
34
79
|
end
|
@@ -23,12 +23,7 @@ module Octokit
|
|
23
23
|
alias :orgs :organizations
|
24
24
|
|
25
25
|
def organization_repositories(org=nil, options={})
|
26
|
-
|
27
|
-
warn 'DEPRECATED: Please pass org name to list repos.'
|
28
|
-
get("/api/v2/json/organizations/repositories", options, 2)
|
29
|
-
else
|
30
|
-
get("orgs/#{org}/repos", options, 3)
|
31
|
-
end
|
26
|
+
get("orgs/#{org}/repos", options, 3)
|
32
27
|
end
|
33
28
|
alias :org_repositories :organization_repositories
|
34
29
|
alias :org_repos :organization_repositories
|
@@ -90,11 +90,6 @@ module Octokit
|
|
90
90
|
end
|
91
91
|
alias :remove_collab :remove_collaborator
|
92
92
|
|
93
|
-
def pushable(options={})
|
94
|
-
# There isn't a matching method in V3 of the api
|
95
|
-
get("/api/v2/json/repos/pushable", options, 2)['repositories']
|
96
|
-
end
|
97
|
-
|
98
93
|
def repository_teams(repo, options={})
|
99
94
|
get "/repos/#{Repository.new repo}/teams", options, 3
|
100
95
|
end
|
data/lib/octokit/client/users.rb
CHANGED
@@ -2,14 +2,8 @@ module Octokit
|
|
2
2
|
class Client
|
3
3
|
module Users
|
4
4
|
|
5
|
-
EMAIL_RE = /[\w.!#\$%+-]+@[\w-]+(?:\.[\w-]+)+/
|
6
5
|
def search_users(search, options={})
|
7
|
-
|
8
|
-
warn 'DEPRECATED: V3 of the API does not allow searching users by email'
|
9
|
-
get("/api/v2/json/user/email/#{search}", options, 2)['user']
|
10
|
-
else
|
11
|
-
get("/legacy/user/search/#{search}", options, 3)['users']
|
12
|
-
end
|
6
|
+
get("/legacy/user/search/#{search}", options, 3)['users']
|
13
7
|
end
|
14
8
|
|
15
9
|
# Get a single user
|
data/lib/octokit/version.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"sha": "7638417db6d59f3c431d3e1f261cc637155684cd",
|
3
|
+
"url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd",
|
4
|
+
"author": {
|
5
|
+
"date": "2012-06-06T16:13:30+12:00",
|
6
|
+
"name": "Wynn Netherland",
|
7
|
+
"email": "wynn@github.com"
|
8
|
+
},
|
9
|
+
"committer": {
|
10
|
+
"date": "2012-06-06T16:13:30+12:00",
|
11
|
+
"name": "Wynn Netherland",
|
12
|
+
"email": "wynn@github.com"
|
13
|
+
},
|
14
|
+
"message": "My commit message",
|
15
|
+
"tree": {
|
16
|
+
"url": "https://api.github.com/repos/octocat/Hello-World/git/trees/827efc6d56897b048c772eb4087f854f46256132",
|
17
|
+
"sha": "827efc6d56897b048c772eb4087f854f46256132"
|
18
|
+
},
|
19
|
+
"parents": [
|
20
|
+
{
|
21
|
+
"url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7d1b31e74ee336d15cbd21741bc88a537ed063a0",
|
22
|
+
"sha": "7d1b31e74ee336d15cbd21741bc88a537ed063a0"
|
23
|
+
}
|
24
|
+
]
|
25
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{
|
2
|
+
"sha": "cd8274d15fa3ae2ab983129fb037999f264ba9a7",
|
3
|
+
"url": "https://api.github.com/repo/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7",
|
4
|
+
"tree": [
|
5
|
+
{
|
6
|
+
"path": "file.rb",
|
7
|
+
"mode": "100644",
|
8
|
+
"type": "blob",
|
9
|
+
"size": 132,
|
10
|
+
"sha": "7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b",
|
11
|
+
"url": "https://api.github.com/octocat/Hello-World/git/blobs/7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b"
|
12
|
+
}
|
13
|
+
]
|
14
|
+
}
|
@@ -29,6 +29,22 @@ describe Octokit::Client::Commits do
|
|
29
29
|
|
30
30
|
end
|
31
31
|
|
32
|
+
describe ".create_commit" do
|
33
|
+
|
34
|
+
it "should create a commit" do
|
35
|
+
stub_post("/repos/octocat/Hello-World/git/commits").
|
36
|
+
with(:body => { :message => "My commit message", :tree => "827efc6d56897b048c772eb4087f854f46256132", :parents => ["7d1b31e74ee336d15cbd21741bc88a537ed063a0"] },
|
37
|
+
:headers => { "Content-Type" => "application/json" }).
|
38
|
+
to_return(:body => fixture("v3/commit_create.json"))
|
39
|
+
commit = @client.create_commit("octocat/Hello-World", "My commit message", "827efc6d56897b048c772eb4087f854f46256132", "7d1b31e74ee336d15cbd21741bc88a537ed063a0")
|
40
|
+
commit.sha.should == "7638417db6d59f3c431d3e1f261cc637155684cd"
|
41
|
+
commit.message.should == "My commit message"
|
42
|
+
commit.parents.size.should == 1
|
43
|
+
commit.parents.first.sha.should == "7d1b31e74ee336d15cbd21741bc88a537ed063a0"
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
32
48
|
describe ".list_commit_comments" do
|
33
49
|
|
34
50
|
it "should return a list of all commit comments" do
|
@@ -11,7 +11,7 @@ describe Octokit::Client::Issues do
|
|
11
11
|
|
12
12
|
it "should return matching issues" do
|
13
13
|
stub_get("https://api.github.com/legacy/issues/search/sferik/rails_admin/open/activerecord").
|
14
|
-
to_return(:body => fixture("
|
14
|
+
to_return(:body => fixture("legacy/issues.json"))
|
15
15
|
issues = @client.search_issues("sferik/rails_admin", "activerecord")
|
16
16
|
issues.first.number.should == 105
|
17
17
|
end
|
@@ -19,6 +19,21 @@ describe Octokit::Client::Objects do
|
|
19
19
|
|
20
20
|
end
|
21
21
|
|
22
|
+
describe ".create_tree" do
|
23
|
+
|
24
|
+
it "should create a tree" do
|
25
|
+
stub_post("/repos/octocat/Hello-World/git/trees").
|
26
|
+
with(:body => { :tree => [ { :path => "file.rb", "mode" => "100644", "type" => "blob", "sha" => "44b4fc6d56897b048c772eb4087f854f46256132" } ] },
|
27
|
+
:headers => { "Content-Type" => "application/json" }).
|
28
|
+
to_return(:body => fixture("v3/tree_create.json"))
|
29
|
+
response = @client.create_tree("octocat/Hello-World", [ { "path" => "file.rb", "mode" => "100644", "type" => "blob", "sha" => "44b4fc6d56897b048c772eb4087f854f46256132" } ])
|
30
|
+
response.sha.should == "cd8274d15fa3ae2ab983129fb037999f264ba9a7"
|
31
|
+
response.tree.size.should == 1
|
32
|
+
response.tree.first.sha.should == "7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b"
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
22
37
|
describe ".blob" do
|
23
38
|
|
24
39
|
it "should return a blob" do
|
@@ -30,48 +45,15 @@ describe Octokit::Client::Objects do
|
|
30
45
|
|
31
46
|
end
|
32
47
|
|
33
|
-
describe ".
|
34
|
-
|
35
|
-
it "should return blobs" do
|
36
|
-
stub_get("https://github.com/api/v2/json/blob/all/sferik/rails_admin/3cdfabd973bc3caac209cba903cfdb3bf6636bcd").
|
37
|
-
to_return(:body => fixture("v2/blobs.json"))
|
38
|
-
blobs = @client.blobs("sferik/rails_admin", "3cdfabd973bc3caac209cba903cfdb3bf6636bcd")
|
39
|
-
blobs[".gitignore"].should == "5efe0eb47a773fa6ea84a0bf190ee218b6a31ead"
|
40
|
-
end
|
41
|
-
|
42
|
-
end
|
43
|
-
|
44
|
-
describe ".blob_metadata" do
|
45
|
-
|
46
|
-
it "should return blob metadata" do
|
47
|
-
stub_get("https://github.com/api/v2/json/blob/full/sferik/rails_admin/3cdfabd973bc3caac209cba903cfdb3bf6636bcd").
|
48
|
-
to_return(:body => fixture("v2/blob_metadata.json"))
|
49
|
-
blob_metadata = @client.blob_metadata("sferik/rails_admin", "3cdfabd973bc3caac209cba903cfdb3bf6636bcd")
|
50
|
-
blob_metadata.first.name.should == ".gitignore"
|
51
|
-
end
|
52
|
-
|
53
|
-
end
|
54
|
-
|
55
|
-
describe ".tree_metadata" do
|
56
|
-
|
57
|
-
it "should return tree metadata" do
|
58
|
-
stub_get("https://github.com/api/v2/json/tree/full/sferik/rails_admin/3cdfabd973bc3caac209cba903cfdb3bf6636bcd").
|
59
|
-
to_return(:body => fixture("v2/tree_metadata.json"))
|
60
|
-
tree_metadata = @client.tree_metadata("sferik/rails_admin", "3cdfabd973bc3caac209cba903cfdb3bf6636bcd")
|
61
|
-
tree_metadata.first.name.should == ".gitignore"
|
62
|
-
end
|
63
|
-
|
64
|
-
end
|
65
|
-
|
66
|
-
describe ".raw" do
|
48
|
+
describe ".create_blob" do
|
67
49
|
|
68
|
-
it "should
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
50
|
+
it "should create a blob" do
|
51
|
+
stub_post("/repos/octocat/Hello-World/git/blobs").
|
52
|
+
with(:body => { :content => "content", :encoding => "utf-8" },
|
53
|
+
:headers => { "Content-Type" => "application/json" }).
|
54
|
+
to_return(:body => fixture("v3/blob_create.json"))
|
55
|
+
blob = @client.create_blob("octocat/Hello-World", "content")
|
56
|
+
blob.should == "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15"
|
75
57
|
end
|
76
58
|
|
77
59
|
end
|
@@ -58,26 +58,11 @@ describe Octokit::Client::Organizations do
|
|
58
58
|
|
59
59
|
describe ".organization_repositories" do
|
60
60
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
repositories = @client.organization_repositories("codeforamerica")
|
67
|
-
repositories.first.name.should == "cfahelloworld"
|
68
|
-
end
|
69
|
-
|
70
|
-
end
|
71
|
-
|
72
|
-
context "without an org passed" do
|
73
|
-
|
74
|
-
it "should return all organization repositories for a user" do
|
75
|
-
stub_get("https://github.com/api/v2/json/organizations/repositories").
|
76
|
-
to_return(:body => fixture("v2/repositories.json"))
|
77
|
-
repositories = @client.organization_repositories
|
78
|
-
repositories.repositories.first.name.should == "One40Proof"
|
79
|
-
end
|
80
|
-
|
61
|
+
it "should return all public repositories for an organization" do
|
62
|
+
stub_get("https://api.github.com/orgs/codeforamerica/repos").
|
63
|
+
to_return(:body => fixture("v3/organization-repositories.json"))
|
64
|
+
repositories = @client.organization_repositories("codeforamerica")
|
65
|
+
repositories.first.name.should == "cfahelloworld"
|
81
66
|
end
|
82
67
|
|
83
68
|
end
|