ghi 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,26 @@
1
+ require "ghi"
2
+ require "ghi/issue"
3
+
4
+ describe GHI::Issue do
5
+ before :each do
6
+ @now = Time.now
7
+ @issue = GHI::Issue.new "number" => 1,
8
+ "state" => "open",
9
+ "title" => "new issue",
10
+ "user" => "schacon",
11
+ "votes" => 0,
12
+ "created_at" => @now,
13
+ "updated_at" => @now,
14
+ "body" => "my sweet, sweet issue"
15
+ end
16
+
17
+ it "should read all keys" do
18
+ @issue.number.should == 1
19
+ @issue.state.should == "open"
20
+ @issue.title.should == "new issue"
21
+ @issue.user.should == "schacon"
22
+ @issue.votes.should == 0
23
+ @issue.created_at.should == @now
24
+ @issue.updated_at.should == @now
25
+ end
26
+ end
@@ -0,0 +1,91 @@
1
+ require "ghi"
2
+
3
+ LOGGED_OUT_YAML = <<-YAML
4
+ ---
5
+ user:
6
+ id: 23
7
+ login: defunkt
8
+ name: Kristopher Walken Wanstrath
9
+ company: LA
10
+ location: SF
11
+ email: me@email.com
12
+ blog: http://myblog.com
13
+ following_count: 13
14
+ followers_count: 63
15
+ public_gist_count: 0
16
+ public_repo_count: 2
17
+ YAML
18
+
19
+ LOGGED_IN_YAML = <<-YAML
20
+ ---
21
+ user:
22
+ id: 23
23
+ login: defunkt
24
+ name: Kristopher Walken Wanstrath
25
+ company: LA
26
+ location: SF
27
+ email: me@email.com
28
+ blog: http://myblog.com
29
+ following_count: 13
30
+ followers_count: 63
31
+ public_gist_count: 0
32
+ public_repo_count: 2
33
+ total_private_repo_count: 1
34
+ collaborators: 3
35
+ disk_usage: 50384
36
+ owned_private_repo_count: 1
37
+ private_gist_count: 0
38
+ plan:
39
+ name: mega
40
+ collaborators: 60
41
+ space: 20971520
42
+ private_repos: 125
43
+ YAML
44
+
45
+ describe GHI do
46
+ before :each do
47
+ GHI.instance_eval do
48
+ remove_instance_variable :@login if instance_variable_defined? :@login
49
+ remove_instance_variable :@token if instance_variable_defined? :@token
50
+ end
51
+ end
52
+
53
+ it "should return login" do
54
+ GHI.should_receive(:`).once.and_return "stephencelis\n"
55
+ GHI.login.should == "stephencelis"
56
+ end
57
+
58
+ it "should return token" do
59
+ GHI.should_receive(:`).once.and_return "da39a3ee5e6b4b0d3255bfef95601890\n"
60
+ GHI.token.should == "da39a3ee5e6b4b0d3255bfef95601890"
61
+ end
62
+
63
+ it "should approve login input" do
64
+ GHI.instance_eval { instance_variable_defined?(:@login).should == false }
65
+ GHI.should_receive(:`).with("git config --get github.user").
66
+ and_return "\n"
67
+ GHI.should_receive(:print).twice
68
+ GHI.should_receive(:gets).twice.and_return "defunct\n", "defunkt\n"
69
+ Net::HTTP.should_receive(:get).and_return "500: invalid: response",
70
+ LOGGED_OUT_YAML
71
+ GHI.should_receive(:warn).once
72
+ GHI.should_receive(:`).with("git config --global github.user defunkt").
73
+ and_return "\n"
74
+ GHI.login.should == "defunkt"
75
+ end
76
+
77
+ it "should approve token input" do
78
+ GHI.instance_eval { instance_variable_defined?(:@token).should == false }
79
+ GHI.stub!(:login).and_return "defunkt"
80
+ GHI.should_receive(:`).with("git config --get github.token").
81
+ and_return "\n"
82
+ GHI.should_receive(:print).twice
83
+ token = "da39a3ee5e6b4b0d3255bfef95601890"
84
+ GHI.should_receive(:gets).and_return "invalid\n", "#{token}\n"
85
+ Net::HTTP.should_receive(:get).and_return LOGGED_OUT_YAML, LOGGED_IN_YAML
86
+ GHI.should_receive(:warn).once
87
+ GHI.should_receive(:`).with("git config --global github.token #{token}").
88
+ and_return "\n"
89
+ GHI.token.should == token
90
+ end
91
+ end
metadata ADDED
@@ -0,0 +1,70 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ghi
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Stephen Celis
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-11-03 00:00:00 -06:00
13
+ default_executable: ghi
14
+ dependencies: []
15
+
16
+ description: GitHub Issues on the command line. Use your `$EDITOR`, not your browser.
17
+ email:
18
+ - stephen@stephencelis.com
19
+ executables:
20
+ - ghi
21
+ extensions: []
22
+
23
+ extra_rdoc_files:
24
+ - History.rdoc
25
+ - Manifest.txt
26
+ - README.rdoc
27
+ files:
28
+ - History.rdoc
29
+ - Manifest.txt
30
+ - README.rdoc
31
+ - bin/ghi
32
+ - lib/ghi/api.rb
33
+ - lib/ghi/cli.rb
34
+ - lib/ghi/issue.rb
35
+ - lib/ghi.rb
36
+ - spec/ghi/api_spec.rb
37
+ - spec/ghi/cli_spec.rb
38
+ - spec/ghi/issue_spec.rb
39
+ - spec/ghi_spec.rb
40
+ has_rdoc: true
41
+ homepage: http://github.com/stephencelis/ghi
42
+ licenses: []
43
+
44
+ post_install_message:
45
+ rdoc_options:
46
+ - --main
47
+ - README.rdoc
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: "0"
55
+ version:
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: "0"
61
+ version:
62
+ requirements: []
63
+
64
+ rubyforge_project: ghi
65
+ rubygems_version: 1.3.5
66
+ signing_key:
67
+ specification_version: 3
68
+ summary: GitHub Issues on the command line
69
+ test_files: []
70
+