github_cli 0.5.3 → 0.5.4

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.
Files changed (94) hide show
  1. data/.travis.yml +14 -3
  2. data/CHANGELOG.md +15 -0
  3. data/Gemfile +1 -1
  4. data/Gemfile.lock +41 -44
  5. data/README.md +77 -14
  6. data/Rakefile +4 -2
  7. data/features/assignee.feature +1 -0
  8. data/features/blob.feature +1 -0
  9. data/features/collaborator.feature +1 -0
  10. data/features/commit.feature +2 -1
  11. data/features/config.feature +27 -28
  12. data/features/event.feature +1 -0
  13. data/features/init.feature +20 -23
  14. data/features/key.feature +5 -5
  15. data/features/milestone.feature +3 -2
  16. data/features/reference.feature +3 -2
  17. data/features/starring.feature +1 -0
  18. data/features/support/hooks.rb +1 -1
  19. data/features/tag.feature +2 -1
  20. data/features/tree.feature +17 -0
  21. data/features/watching.feature +1 -0
  22. data/fixtures/simple_config +3 -5
  23. data/github_cli.gemspec +1 -1
  24. data/lib/github_cli/api.rb +11 -6
  25. data/lib/github_cli/apis/event.rb +8 -8
  26. data/lib/github_cli/apis/label.rb +0 -12
  27. data/lib/github_cli/apis/starring.rb +5 -5
  28. data/lib/github_cli/apis/watching.rb +5 -5
  29. data/lib/github_cli/cli.rb +21 -30
  30. data/lib/github_cli/command.rb +1 -1
  31. data/lib/github_cli/commands/authorizations.rb +28 -2
  32. data/lib/github_cli/commands/collaborators.rb +12 -12
  33. data/lib/github_cli/commands/commits.rb +18 -2
  34. data/lib/github_cli/commands/events.rb +6 -8
  35. data/lib/github_cli/commands/followers.rb +1 -1
  36. data/lib/github_cli/commands/labels.rb +22 -20
  37. data/lib/github_cli/commands/milestones.rb +43 -13
  38. data/lib/github_cli/commands/references.rb +21 -6
  39. data/lib/github_cli/commands/starring.rb +3 -2
  40. data/lib/github_cli/commands/tags.rb +16 -1
  41. data/lib/github_cli/commands/trees.rb +11 -5
  42. data/lib/github_cli/commands/watching.rb +3 -2
  43. data/lib/github_cli/config.rb +15 -6
  44. data/lib/github_cli/dsl.rb +2 -2
  45. data/lib/github_cli/formatter.rb +2 -3
  46. data/lib/github_cli/formatters/csv.rb +29 -14
  47. data/lib/github_cli/formatters/table.rb +2 -3
  48. data/lib/github_cli/man/gcli-config.1 +17 -13
  49. data/lib/github_cli/man/gcli-config.1.txt +23 -21
  50. data/lib/github_cli/vendor/thor/actions/create_link.rb +3 -0
  51. data/lib/github_cli/vendor/thor/actions/directory.rb +29 -10
  52. data/lib/github_cli/vendor/thor/actions/file_manipulation.rb +9 -3
  53. data/lib/github_cli/vendor/thor/actions.rb +18 -18
  54. data/lib/github_cli/vendor/thor/base.rb +97 -89
  55. data/lib/github_cli/vendor/thor/{task.rb → command.rb} +16 -12
  56. data/lib/github_cli/vendor/thor/core_ext/hash_with_indifferent_access.rb +5 -0
  57. data/lib/github_cli/vendor/thor/core_ext/io_binary_read.rb +12 -0
  58. data/lib/github_cli/vendor/thor/error.rb +4 -7
  59. data/lib/github_cli/vendor/thor/group.rb +34 -32
  60. data/lib/github_cli/vendor/thor/invocation.rb +28 -26
  61. data/lib/github_cli/vendor/thor/parser/options.rb +66 -26
  62. data/lib/github_cli/vendor/thor/rake_compat.rb +3 -2
  63. data/lib/github_cli/vendor/thor/runner.rb +21 -20
  64. data/lib/github_cli/vendor/thor/shell/basic.rb +20 -16
  65. data/lib/github_cli/vendor/thor/shell/color.rb +13 -9
  66. data/lib/github_cli/vendor/thor/shell/html.rb +13 -9
  67. data/lib/github_cli/vendor/thor/util.rb +214 -210
  68. data/lib/github_cli/vendor/thor/version.rb +1 -1
  69. data/lib/github_cli/vendor/thor.rb +232 -153
  70. data/lib/github_cli/version.rb +1 -1
  71. data/man/gcli-config.1.ronn +14 -11
  72. data/spec/github_cli/commands/assignees_spec.rb +20 -0
  73. data/spec/github_cli/commands/blobs_spec.rb +21 -0
  74. data/spec/github_cli/commands/collaborators_spec.rb +31 -0
  75. data/spec/github_cli/commands/commits_spec.rb +26 -0
  76. data/spec/github_cli/commands/emails_spec.rb +24 -0
  77. data/spec/github_cli/commands/events_spec.rb +56 -0
  78. data/spec/github_cli/commands/followers_spec.rb +44 -0
  79. data/spec/github_cli/commands/keys_spec.rb +36 -0
  80. data/spec/github_cli/commands/labels_spec.rb +61 -0
  81. data/spec/github_cli/commands/milestones_spec.rb +47 -0
  82. data/spec/github_cli/commands/references_spec.rb +42 -0
  83. data/spec/github_cli/commands/starring_spec.rb +40 -0
  84. data/spec/github_cli/commands/tags_spec.rb +26 -0
  85. data/spec/github_cli/commands/trees_spec.rb +32 -0
  86. data/spec/github_cli/commands/watching_spec.rb +40 -0
  87. data/spec/github_cli/config_spec.rb +109 -116
  88. data/spec/github_cli/util/convert_value_spec.rb +19 -0
  89. data/spec/github_cli/util/convert_values_spec.rb +14 -0
  90. data/spec/github_cli/util_spec.rb +0 -29
  91. metadata +51 -19
  92. data/lib/github_cli/vendor/thor/core_ext/dir_escape.rb +0 -0
  93. data/lib/github_cli/vendor/thor/core_ext/file_binary_read.rb +0 -9
  94. data/lib/github_cli/vendor/thor/empty.txt +0 -0
data/.travis.yml CHANGED
@@ -1,11 +1,22 @@
1
+ language: ruby
1
2
  before_install:
2
3
  - gem install bundler
3
- matrix:
4
- allow_failures:
5
- - rvm: ruby-head
6
4
  rvm:
7
5
  - 1.9.2
8
6
  - 1.9.3
7
+ - 2.0.0
8
+ - ruby-head
9
+ - jruby-18mode
10
+ - jruby-19mode
11
+ - rbx-18mode
12
+ - rbx-19mode
13
+ - jruby-head
14
+ matrix:
15
+ allow_failures:
16
+ - rvm: ruby-head
17
+ - rvm: jruby-head
18
+ - rvm: jruby-18mode
19
+ - rvm: jruby-19mode
9
20
  branches:
10
21
  only: master
11
22
  notifications:
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ 0.5.4 (March 23, 2013)
2
+
3
+ * Update vendor dependency
4
+ * Update github_api dependency
5
+ * Change Labels commands to merge milestones and issues listing into list command
6
+ * Change Tags create to take specific options and add tests
7
+ * Change References create to take specific options and add tests
8
+ * Chnage Tree create to take specific options and add tests
9
+ * Change Commit create to take specific options and add tests
10
+ * Change Milestone commands to take specific options
11
+ * Change table and csv formatters to work with new 'github_api'
12
+ * Change init command to be global by default and accept filename
13
+ * Add filename to config class to allow for easy parametrization
14
+ * Change config command to be global by default and add feature tests
15
+
1
16
  0.5.3 (September 29, 2012)
2
17
 
3
18
  * Fix bug with starring api starred command.[Issue #6]
data/Gemfile CHANGED
@@ -1,5 +1,5 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'communist', :path => '../communist'
3
+ # gem 'communist', :path => '../communist'
4
4
 
5
5
  gemspec
data/Gemfile.lock CHANGED
@@ -1,78 +1,75 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- github_cli (0.5.3)
5
- github_api (~> 0.7)
4
+ github_cli (0.5.4)
5
+ github_api (~> 0.9)
6
6
 
7
- PATH
8
- remote: ../communist
7
+ GEM
8
+ remote: https://rubygems.org/
9
9
  specs:
10
+ aruba (0.5.1)
11
+ childprocess (~> 0.3.6)
12
+ cucumber (>= 1.1.1)
13
+ rspec-expectations (>= 2.7.0)
14
+ builder (3.1.4)
15
+ childprocess (0.3.7)
16
+ ffi (~> 1.0, >= 1.0.6)
10
17
  communist (0.3.0)
11
18
  json
12
19
  rack
13
20
  sinatra
14
-
15
- GEM
16
- remote: https://rubygems.org/
17
- specs:
18
- aruba (0.4.11)
19
- childprocess (>= 0.2.3)
20
- cucumber (>= 1.1.1)
21
- ffi (>= 1.0.11)
22
- rspec (>= 2.7.0)
23
- builder (3.0.0)
24
- childprocess (0.3.2)
25
- ffi (~> 1.0.6)
26
21
  cucumber (1.2.1)
27
22
  builder (>= 2.1.2)
28
23
  diff-lcs (>= 1.1.3)
29
24
  gherkin (~> 2.11.0)
30
25
  json (>= 1.4.6)
31
- diff-lcs (1.1.3)
32
- faraday (0.8.4)
26
+ diff-lcs (1.2.1)
27
+ faraday (0.8.6)
33
28
  multipart-post (~> 1.1)
34
- ffi (1.0.11)
35
- gherkin (2.11.0)
36
- json (>= 1.4.6)
37
- github_api (0.7.0)
29
+ ffi (1.3.1)
30
+ gherkin (2.11.6)
31
+ json (>= 1.7.6)
32
+ github_api (0.9.3)
38
33
  faraday (~> 0.8.1)
39
- hashie (~> 1.2.0)
40
- multi_json (~> 1.3)
34
+ hashie (~> 2.0)
35
+ multi_json (~> 1.4)
41
36
  nokogiri (~> 1.5.2)
42
37
  oauth2
43
- hashie (1.2.0)
38
+ hashie (2.0.2)
44
39
  hpricot (0.8.6)
45
- httpauth (0.1)
46
- json (1.7.3)
47
- jwt (0.1.5)
48
- multi_json (>= 1.0)
49
- multi_json (1.3.6)
50
- multipart-post (1.1.5)
40
+ httpauth (0.2.0)
41
+ json (1.7.6)
42
+ jwt (0.1.7)
43
+ multi_json (>= 1.5)
44
+ multi_json (1.6.1)
45
+ multi_xml (0.5.3)
46
+ multipart-post (1.2.0)
51
47
  mustache (0.99.4)
52
- nokogiri (1.5.5)
53
- oauth2 (0.8.0)
48
+ nokogiri (1.5.6)
49
+ oauth2 (0.9.1)
54
50
  faraday (~> 0.8)
55
51
  httpauth (~> 0.1)
56
52
  jwt (~> 0.1.4)
57
53
  multi_json (~> 1.0)
54
+ multi_xml (~> 0.5)
58
55
  rack (~> 1.2)
59
- rack (1.4.1)
56
+ rack (1.5.2)
60
57
  rack-protection (1.2.0)
61
58
  rack
62
- rake (0.9.2.2)
59
+ rake (10.0.3)
63
60
  rdiscount (1.6.8)
64
61
  ronn (0.7.3)
65
62
  hpricot (>= 0.8.2)
66
63
  mustache (>= 0.7.0)
67
64
  rdiscount (>= 1.5.8)
68
- rspec (2.10.0)
69
- rspec-core (~> 2.10.0)
70
- rspec-expectations (~> 2.10.0)
71
- rspec-mocks (~> 2.10.0)
72
- rspec-core (2.10.1)
73
- rspec-expectations (2.10.0)
74
- diff-lcs (~> 1.1.3)
75
- rspec-mocks (2.10.1)
65
+ rspec (2.13.0)
66
+ rspec-core (~> 2.13.0)
67
+ rspec-expectations (~> 2.13.0)
68
+ rspec-mocks (~> 2.13.0)
69
+ rspec-core (2.13.0)
70
+ rspec-expectations (2.13.0)
71
+ diff-lcs (>= 1.1.3, < 2.0)
72
+ rspec-mocks (2.13.0)
76
73
  sinatra (1.3.2)
77
74
  rack (~> 1.3, >= 1.3.6)
78
75
  rack-protection (~> 1.2)
@@ -84,7 +81,7 @@ PLATFORMS
84
81
 
85
82
  DEPENDENCIES
86
83
  aruba
87
- communist!
84
+ communist
88
85
  github_cli!
89
86
  rake
90
87
  ronn
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # GithubCLI
2
- [![Build Status](https://secure.travis-ci.org/peter-murach/github_cli.png?branch=master)][travis] [![Dependency Status](https://gemnasium.com/peter-murach/github_cli.png?travis)][gemnasium] [![Code Climate](https://codeclimate.com/badge.png)][codeclimate]
2
+ [![Gem Version](https://badge.fury.io/rb/github_cli.png)](http://badge.fury.io/rb/github_cli) [![Build Status](https://secure.travis-ci.org/peter-murach/github_cli.png?branch=master)][travis] [![Dependency Status](https://gemnasium.com/peter-murach/github_cli.png?travis)][gemnasium] [![Code Climate](https://codeclimate.com/badge.png)][codeclimate]
3
3
 
4
4
  [travis]: http://travis-ci.org/peter-murach/github_cli
5
5
  [gemnasium]: https://gemnasium.com/peter-murach/github_cli
@@ -7,6 +7,8 @@
7
7
 
8
8
  CLI-based access to GitHub API v3 that works hand-in-hand with `github_api` gem.
9
9
 
10
+ Important!: This library is currently being updated to include all Github API requests and undergoes rapid development cycles. A feature roadmap will be added shortly.
11
+
10
12
  ![Interface](https://github.com/peter-murach/github_cli/raw/master/screenshots/interface.png)
11
13
 
12
14
  ## Installation
@@ -36,31 +38,85 @@ $ gcli
36
38
  The first step is to create a configuration file, either global in home directory or local inside the project:
37
39
 
38
40
  ```shell
39
- $ gcli init [--global|--local]
41
+ $ gcli init [--local] [filename]
40
42
  ```
41
43
 
42
- This will setup a `.githubrc` configuration file in your home/project directory
43
- with all the global settings. During the install process you will be prompted
44
- for your `authentication token`.
44
+ Without any options this command will setup a `.githubrc` configuration file in
45
+ your home/project directory with all the global settings. By passing `--local` option the config file will be created locally in the execution directory. Further, by default `.githubrc` name is used which can be changed by passing the `filename`.
46
+
47
+ Main configuration options are:
48
+
49
+ ```
50
+ user.token # Authentication token
51
+ user.login # User login
52
+ user.password # User password
53
+ user.name # Default user name
54
+ user.repo # Default repo name
55
+ user.org # Default organization name
56
+ core.editor # Editor to be opened
57
+ core.pager # Pager to be used, by default less
58
+ core.format # Output formating
59
+ core.auto_pagination # Switch on default results pagination, default false
60
+ ```
45
61
 
46
62
  Moreover, `gcli config` command allows you to set/get any configuration option such as output format, editor or oauth token.
47
63
 
48
- For instance, to check value for your `token` do
64
+ For instance, to check value for your `authentication token` do
49
65
 
50
66
  ```shell
51
- $ gcli config [--global|--local] auth.token
67
+ $ gcli config [--local] user.token
52
68
  ```
53
69
 
54
70
  and to set the value do
55
71
 
56
72
  ```shell
57
- $ gcli config [--global|--local] auth.token lh23l4kj234....
73
+ $ gcli config [--local] user.token lh23l4kj234....
58
74
  ```
59
75
 
60
76
  To list specific options
61
77
 
62
78
  ```shell
63
- $ gcli config [--global|--local] --list [regex]
79
+ $ gcli config [--local] --list [regex]
80
+ ```
81
+
82
+ To edit config in your favourite editor:
83
+
84
+ ```shell
85
+ $ gcli config -e
86
+ ```
87
+
88
+ Finally, to see a manpage about available configuration options do
89
+
90
+ ```shell
91
+ $ gcli help config
92
+ ```
93
+
94
+ ### Authorization
95
+
96
+ To create oauth tokens you need to setup your basic authentication like so
97
+
98
+ ```shell
99
+ $ gcli init
100
+ $ gcli config user.login '...'
101
+ $ gcli config user.password '...'
102
+ ```
103
+
104
+ Then to create your token do
105
+
106
+ ```shell
107
+ $ gcli auth create --scopes=repo --note=gihtub_cli --note-url=http://github.com/peter-murach/github_cli
108
+ ```
109
+
110
+ To see your current tokens do
111
+
112
+ ```shell
113
+ $ gcli auth ls
114
+ ```
115
+
116
+ Finally to add the token to your config do
117
+
118
+ ```shell
119
+ $ gcli config user.token '...'
64
120
  ```
65
121
 
66
122
  ### Arguments
@@ -70,16 +126,16 @@ The required arguments come first as per command description, then are followed
70
126
  For instance, one can create repository by supplying parameters in the following way:
71
127
 
72
128
  ```shell
73
- $ gcli repo create octokit --params=description:'Test repo for kitty.'
129
+ $ gcli repo create github_api --desc='Test repo for kitty.'
74
130
  ```
75
131
 
76
132
  To create repository inside organization:
77
133
 
78
134
  ```shell
79
- $ gcli repo create github/octokit --params=description:'Test repo for kitty.'
135
+ $ gcli repo create github/github_api --desc='Test repo for kitty.'
80
136
  ```
81
137
 
82
- To find out which options are required and which are optional - type:
138
+ To find out which options are required and which are optional use `help` command:
83
139
 
84
140
  ```shell
85
141
  $ gcli repo help create
@@ -155,7 +211,14 @@ $ gcli download
155
211
  $ gcli fork
156
212
  $ gcli hook
157
213
  $ gcli key
158
- $ gcli watching
214
+ ```
215
+
216
+ Interact with activities:
217
+
218
+ ```shell
219
+ $ gcli star
220
+ $ gcli watch
221
+ $ gcli event
159
222
  ```
160
223
 
161
224
  Interact with gists:
@@ -202,4 +265,4 @@ $ gcli search
202
265
 
203
266
  ## Copyright
204
267
 
205
- Copyright (c) 2012 Piotr Murach. See LICENSE for further details.
268
+ Copyright (c) 2012-2013 Piotr Murach. See LICENSE for further details.
data/Rakefile CHANGED
@@ -8,12 +8,14 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
8
8
  spec.pattern = FileList['spec/**/*_spec.rb']
9
9
  end
10
10
 
11
- Cucumber::Rake::Task.new(:features)
12
-
13
11
  task :default => [:spec, :features]
14
12
 
15
13
  task :release => ["man:clean", "man:build"]
16
14
 
15
+ task :features do
16
+ sh 'bundle exec cucumber -f progress -t @ci-run features'
17
+ end
18
+
17
19
  begin
18
20
  require 'ronn'
19
21
 
@@ -1,5 +1,6 @@
1
1
  Feature: gcli assignee
2
2
 
3
+ @ci-run
3
4
  Scenario: Available commands
4
5
 
5
6
  When I run `gcli assignee`
@@ -1,5 +1,6 @@
1
1
  Feature: gcli blob
2
2
 
3
+ @ci-run
3
4
  Scenario: Available commands
4
5
 
5
6
  When I run `gcli blob`
@@ -1,5 +1,6 @@
1
1
  Feature: gcli collab
2
2
 
3
+ @ci-run
3
4
  Scenario: Available commands
4
5
 
5
6
  When I run `gcli collab`
@@ -1,5 +1,6 @@
1
1
  Feature: gcli commit
2
2
 
3
+ @ci-run
3
4
  Scenario: Available commands
4
5
 
5
6
  When I run `gcli commit`
@@ -20,5 +21,5 @@ Feature: gcli commit
20
21
  """
21
22
  post('/repos/wycats/thor/git/commits') { status 200 }
22
23
  """
23
- When I run `gcli commit create wycats thor --params=message:'my commit' tree:827efc parents:['7d1b31e']`
24
+ When I run `gcli commit create wycats thor --message='my commit' --tree=827efc --parents=['7d1b31e']`
24
25
  Then the exit status should be 0
@@ -1,55 +1,54 @@
1
+ @ci-run
1
2
  Feature: Configuration file
2
3
 
3
- Scenario: Config requires scope
4
- When I run `gcli config`
5
- Then the output should contain:
6
- """
7
- Invalid scope given. Please use --local or --global.
8
- """
9
-
10
4
  Scenario: Missing global file
11
- When I run `gcli config --global`
5
+ When I run `gcli config`
12
6
  Then the output should contain:
13
7
  """
14
- global configuration file does not exist. Please use `gcli init --global`
8
+ Configuration file does not exist. Please use `gcli init` to create one.
15
9
  """
16
10
 
17
11
  Scenario: Missing local file
18
12
  When I run `gcli config --local`
19
13
  Then the output should contain:
20
14
  """
21
- local configuration file does not exist. Please use `gcli init --local`
15
+ Configuration file does not exist. Please use `gcli init` to create one.
22
16
  """
23
17
 
24
18
  Scenario: List global file options
25
- Given I run `gcli init --global` interactively
26
- And I type "token"
27
- When I run `gcli config --global`
19
+ Given I run `gcli init`
20
+ When I run `gcli config`
28
21
  Then the output should contain:
29
22
  """
30
23
  Configuration options:
31
24
  """
32
25
 
26
+ Scenario: Seek local before global configuration
27
+ Given a directory named "piotr"
28
+ And I cd to "piotr"
29
+ And I run `gcli init --local`
30
+ When I run `gcli config`
31
+ Then the output should contain:
32
+ """
33
+ Configuration options:
34
+ """
35
+
33
36
  Scenario: Read existing option
34
- Given I run `gcli init --global` interactively
35
- And I type "abc123"
36
- When I successfully run `gcli config --global auth.token`
37
+ Given I run `gcli init`
38
+ When I successfully run `gcli config user.token abc123`
37
39
  Then the stdout should contain "abc123"
38
40
 
39
41
  Scenario: Read missing option
40
- Given I run `gcli init --global` interactively
41
- And I type "abc123"
42
- When I run `gcli config --global missing.key`
42
+ Given I run `gcli init`
43
+ When I run `gcli config missing.key`
43
44
  Then the exit status should be 0
44
45
 
45
- Scenario: Write existing option
46
- Given I run `gcli init --global` interactively
47
- And I type "abc123"
48
- When I successfully run `gcli config --global auth.token eee555`
46
+ Scenario: Write custom option
47
+ Given I run `gcli init`
48
+ When I successfully run `gcli config core.host eee555`
49
49
  Then the stdout should contain "eee555"
50
50
 
51
- Scenario: Write missing option
52
- Given I run `gcli init --global` interactively
53
- And I type "abc123"
54
- When I successfully run `gcli config --global core.token eee555`
55
- Then the stdout should contain "eee555"
51
+ Scenario: Listing all configuration options
52
+ Given I run `gcli init`
53
+ When I run `gcli config -l`
54
+ Then the stdout should contain "user.token"
@@ -1,5 +1,6 @@
1
1
  Feature: gcli event
2
2
 
3
+ @ci-run
3
4
  Scenario: Available commands
4
5
 
5
6
  When I run `gcli event`
@@ -1,38 +1,29 @@
1
- @settings
1
+ @ci-run
2
2
  Feature: Init command
3
3
 
4
4
  As a developer who wants to set global settings for interaction with GitHub API
5
- When I use interface provided by GHC
5
+ When I use interface provided by GCLI
6
6
  I have ability to create configuration file
7
7
 
8
- Scenario: Init requires scope
8
+ Scenario: Installs global config file
9
9
  When I run `gcli init`
10
10
  Then the output should contain:
11
- """
12
- Invalid scope given. Please use --local or --global.
13
- """
14
-
15
- Scenario: Installs global config file
16
- When I run `gcli init --global` interactively
17
- And I type "token"
18
- Then the output should contain:
19
- """
20
- Writing new configuration file to /tmp/fakehome/.githubrc
21
- """
22
- And a file named "/tmp/fakehome/.githubrc" should exist
23
- And the file "/tmp/fakehome/.githubrc" should contain "auth.token: token"
11
+ """
12
+ Writing new configuration file to /tmp/fakehome/.githubrc
13
+ """
14
+ And a file named "/tmp/fakehome/.githubrc" should exist
15
+ And the file "/tmp/fakehome/.githubrc" should contain "user.token:"
24
16
 
25
17
  Scenario: Installs local config file
26
18
  Given a directory named "piotr"
27
19
  When I cd to "piotr"
28
- And I run `gcli init --local` interactively
29
- And I type "token"
20
+ And I run `gcli init --local`
30
21
  Then a file named ".githubrc" should exist
31
- And the file ".githubrc" should contain "auth.token: token"
22
+ And the file ".githubrc" should contain "user.token:"
32
23
 
33
24
  Scenario: Global config file arleady exists
34
25
  Given an empty file named "/tmp/fakehome/.githubrc"
35
- When I run `gcli init --global`
26
+ When I run `gcli init`
36
27
  Then the output should contain:
37
28
  """
38
29
  Not overwritting existing config file /tmp/fakehome/.githubrc, use --force to override.
@@ -40,9 +31,15 @@ Feature: Init command
40
31
 
41
32
  Scenario: Force global config file override
42
33
  Given an empty file named "/tmp/fakehome/.githubrc"
43
- When I run `gcli init --global --force` interactively
44
- And I type "token"
34
+ When I run `gcli init --force`
45
35
  Then the output should contain:
46
36
  """
47
- Please specify your GitHub Authentication Token (register on github.com to get it):
37
+ Writing new configuration file to /tmp/fakehome/.githubrc
48
38
  """
39
+
40
+ Scenario: Install config file with custom name
41
+ When I run `gcli init .custom-name`
42
+ Then the output should contain:
43
+ """
44
+ Writing new configuration file to /tmp/fakehome/.custom-name
45
+ """
data/features/key.feature CHANGED
@@ -1,7 +1,7 @@
1
1
  Feature: gcli key
2
2
 
3
+ @commands
3
4
  Scenario: Available commands
4
-
5
5
  When I run `gcli key`
6
6
  Then the exit status should be 0
7
7
  And the output should contain "gcli key create"
@@ -13,7 +13,7 @@ Feature: gcli key
13
13
  Scenario: List keys
14
14
  Given the GitHub API server:
15
15
  """
16
- get('/repos/wycats/thor/keys') { status 200 }
16
+ get('/repos/wycats/thor/keys') { json [{:key => "ssh"}] }
17
17
  """
18
18
  When I run `gcli key ls wycats thor`
19
19
  Then the exit status should be 0
@@ -21,7 +21,7 @@ Feature: gcli key
21
21
  Scenario: Get key
22
22
  Given the GitHub API server:
23
23
  """
24
- get('/repos/wycats/thor/keys/1') { status 200 }
24
+ get('/repos/wycats/thor/keys/1') { json :key => "ssh" }
25
25
  """
26
26
  When I run `gcli key get wycats thor 1`
27
27
  Then the exit status should be 0
@@ -29,7 +29,7 @@ Feature: gcli key
29
29
  Scenario: Create key
30
30
  Given the GitHub API server:
31
31
  """
32
- post('/repos/wycats/thor/keys') { status 200 }
32
+ post('/repos/wycats/thor/keys') { json :key => "ssh" }
33
33
  """
34
34
  When I run `gcli key create wycats thor --params=title:octo key:fh34d55`
35
35
  Then the exit status should be 0
@@ -37,7 +37,7 @@ Feature: gcli key
37
37
  Scenario: Edit key
38
38
  Given the GitHub API server:
39
39
  """
40
- patch('/repos/wycats/thor/keys/1') { status 200 }
40
+ patch('/repos/wycats/thor/keys/1') { json :key => "ssh" }
41
41
  """
42
42
  When I run `gcli key edit wycats thor 1 --params=title:octo key:fh34d55`
43
43
  Then the exit status should be 0
@@ -1,5 +1,6 @@
1
1
  Feature: gcli milestone
2
2
 
3
+ @ci-run
3
4
  Scenario: Available commands
4
5
 
5
6
  When I run `gcli milestone`
@@ -31,7 +32,7 @@ Feature: gcli milestone
31
32
  """
32
33
  post('/repos/wycats/thor/milestones') { status 200 }
33
34
  """
34
- When I run `gcli milestone create wycats thor --params=title:new`
35
+ When I run `gcli milestone create wycats thor --title=new`
35
36
  Then the exit status should be 0
36
37
 
37
38
  Scenario: Update milestone
@@ -39,7 +40,7 @@ Feature: gcli milestone
39
40
  """
40
41
  patch('/repos/wycats/thor/milestones/1') { status 200 }
41
42
  """
42
- When I run `gcli milestone update wycats thor 1 --params=title:new`
43
+ When I run `gcli milestone update wycats thor 1 --title=new`
43
44
  Then the exit status should be 0
44
45
 
45
46
  Scenario: Delete milestone
@@ -1,5 +1,6 @@
1
1
  Feature: gcli ref
2
2
 
3
+ @ci-run
3
4
  Scenario: Available commands
4
5
 
5
6
  When I run `gcli ref`
@@ -39,7 +40,7 @@ Feature: gcli ref
39
40
  """
40
41
  post('/repos/wycats/thor/git/refs') { status 200 }
41
42
  """
42
- When I run `gcli ref create wycats thor --params=ref:refs/heads/master sha:827efc6d5`
43
+ When I run `gcli ref create wycats thor --ref=refs/heads/master --sha=827efc6d5`
43
44
  Then the exit status should be 0
44
45
 
45
46
  Scenario: Update reference
@@ -47,7 +48,7 @@ Feature: gcli ref
47
48
  """
48
49
  patch('/repos/wycats/thor/git/refs/7d1b31e') { status 200 }
49
50
  """
50
- When I run `gcli ref update wycats thor 7d1b31e --params=force:true sha:827efc6d5`
51
+ When I run `gcli ref update wycats thor 7d1b31e --force --sha=827efc6d5`
51
52
  Then the exit status should be 0
52
53
 
53
54
  Scenario: Delete reference
@@ -1,5 +1,6 @@
1
1
  Feature: gcli star
2
2
 
3
+ @ci-run
3
4
  Scenario: Available commands
4
5
 
5
6
  When I run `gcli star`
@@ -1,7 +1,7 @@
1
1
  require 'fileutils'
2
2
 
3
3
  Before do
4
- @aruba_timeout_seconds = 5
4
+ @aruba_timeout_seconds = 10
5
5
  @aruba_io_wait_seconds = 0.2
6
6
 
7
7
  @real_home = ENV['HOME']
data/features/tag.feature CHANGED
@@ -1,5 +1,6 @@
1
1
  Feature: gcli tag
2
2
 
3
+ @ci-run
3
4
  Scenario: Available commands
4
5
 
5
6
  When I run `gcli tag`
@@ -20,5 +21,5 @@ Feature: gcli tag
20
21
  """
21
22
  post('/repos/wycats/thor/git/tags') { status 200 }
22
23
  """
23
- When I run `gcli tag create wycats thor`
24
+ When I run `gcli tag create wycats thor --object=234f23rf`
24
25
  Then the exit status should be 0