circle-cli 0.1.1 → 0.1.2

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.
@@ -5,12 +5,12 @@ require 'circle/cli/project'
5
5
  module Circle::CLI
6
6
  RSpec.describe Build do
7
7
  let(:repo) {
8
- instance_double('Repo', {
9
- project: 'rb-array-sorting',
8
+ instance_double Repo, {
9
+ project: 'circleci',
10
10
  user_name: 'mtchavez',
11
11
  branch_name: 'master',
12
12
  circle_token: '123'
13
- })
13
+ }
14
14
  }
15
15
 
16
16
  let(:project) { Project.new(repo) }
@@ -63,10 +63,10 @@ module Circle::CLI
63
63
  end
64
64
 
65
65
  describe '#tests', vcr: { cassette_name: 'tests' } do
66
- let(:build) { Build.new(project, 'build_num' => 5) }
66
+ let(:build) { Build.new(project, 'build_num' => 140) }
67
67
 
68
68
  it 'returns a list of tests' do
69
- expect(build.tests.length).to eq(39)
69
+ expect(build.tests.length).to eq(78)
70
70
  end
71
71
 
72
72
  it 'caches the test results' do
@@ -77,15 +77,15 @@ module Circle::CLI
77
77
  end
78
78
 
79
79
  describe '#passing_tests', vcr: { cassette_name: 'tests' } do
80
- let(:build) { Build.new(project, 'build_num' => 5) }
80
+ let(:build) { Build.new(project, 'build_num' => 140) }
81
81
 
82
82
  it 'returns only passing specs' do
83
- expect(build.passing_tests.length).to eq(39)
83
+ expect(build.passing_tests.length).to eq(78)
84
84
  end
85
85
  end
86
86
 
87
87
  describe '#failing_tests', vcr: { cassette_name: 'tests' } do
88
- let(:build) { Build.new(project, 'build_num' => 5) }
88
+ let(:build) { Build.new(project, 'build_num' => 140) }
89
89
 
90
90
  it 'returns only failing specs' do
91
91
  expect(build.failing_tests.length).to eq(0)
@@ -93,7 +93,7 @@ module Circle::CLI
93
93
  end
94
94
 
95
95
  describe '#details', vcr: { cassette_name: 'get' } do
96
- let(:build) { Build.new(project, 'build_num' => 5) }
96
+ let(:build) { Build.new(project, 'build_num' => 140) }
97
97
 
98
98
  it 'caches the response' do
99
99
  expect(project).to receive(:request).once.and_call_original
@@ -1,15 +1,16 @@
1
1
  require 'spec_helper'
2
2
  require 'circle/cli/project'
3
+ require 'circle/cli/repo'
3
4
 
4
5
  module Circle::CLI
5
6
  RSpec.describe Project do
6
7
  let(:repo) {
7
- instance_double('Repo', {
8
- project: 'rb-array-sorting',
8
+ instance_double Repo, {
9
+ project: 'circleci',
9
10
  user_name: 'mtchavez',
10
11
  branch_name: 'master',
11
12
  circle_token: '123'
12
- })
13
+ }
13
14
  }
14
15
 
15
16
  let(:project) {
@@ -28,7 +29,7 @@ module Circle::CLI
28
29
 
29
30
  describe '#latest', vcr: { cassette_name: 'recent_builds_branch' } do
30
31
  subject { project.latest['status'] }
31
- specify { is_expected.to eq('no_tests') }
32
+ specify { is_expected.to eq('success') }
32
33
  end
33
34
  end
34
35
  end
@@ -6,19 +6,17 @@ module Circle::CLI
6
6
  let(:options) { {} }
7
7
  let(:repo) { Repo.new(options) }
8
8
  let(:uri) { 'git@github.com:organization/repo.git' }
9
-
10
- let(:origin) {
11
- double('remote', name: 'origin', url: uri)
12
- }
13
-
14
- let(:git) {
15
- instance_double('Rugged::Repository', {
16
- config: {'circleci.token' => '123' },
17
- remotes: [origin]
18
- })
19
- }
9
+ let(:origin) { instance_double Git::Remote, url: uri }
10
+ let(:git) { instance_double Git::Base, current_branch: 'bug/jawn' }
11
+ let(:repo_config) { { 'circleci.token' => '123' } }
20
12
 
21
13
  before do
14
+ allow(git).to receive(:config) do |name, value|
15
+ repo_config[name] = value if value
16
+ repo_config[name]
17
+ end
18
+
19
+ allow(git).to receive(:remote).and_return(origin)
22
20
  allow(repo).to receive(:repo).and_return(git)
23
21
  end
24
22
 
@@ -46,8 +44,6 @@ module Circle::CLI
46
44
  end
47
45
 
48
46
  context 'when :branch isnt provided' do
49
- let(:head) { double('head', name: 'refs/heads/bug/jawn') }
50
- before { allow(git).to receive(:head).and_return(head) }
51
47
  specify { is_expected.to eq('bug/jawn') }
52
48
  end
53
49
  end
@@ -0,0 +1,48 @@
1
+ require 'spec_helper'
2
+ require 'circle/cli/watcher'
3
+
4
+ module Circle::CLI
5
+ RSpec.describe Watcher do
6
+ describe '#display' do
7
+ it 'invokes the block given in initialize' do
8
+ displayer = -> {}
9
+ watcher = described_class.new(&displayer)
10
+ expect(displayer).to receive(:call).once
11
+ watcher.display
12
+ end
13
+ end
14
+
15
+ describe '#to_preload' do
16
+ let(:watcher) { described_class.new {} }
17
+
18
+ it 'assigns a preloader block' do
19
+ preloader = -> {}
20
+ watcher.to_preload(&preloader)
21
+ expect(watcher.preloader).to eq(preloader)
22
+ end
23
+ end
24
+
25
+ describe '#preload' do
26
+ let(:watcher) { described_class.new {} }
27
+
28
+ it 'invokes the preloader' do
29
+ preloader = -> {}
30
+ watcher.to_preload(&preloader)
31
+ expect(preloader).to receive(:call)
32
+ watcher.preload
33
+ end
34
+ end
35
+
36
+ describe '#poll' do
37
+ let(:watcher) { described_class.new {} }
38
+
39
+ it 'displays, sleeps, preloads, then clears the screen and exits on Interrupt' do
40
+ expect(watcher).to receive(:display).once.ordered
41
+ expect(watcher).to receive(:sleep).with(42).once.ordered
42
+ expect(watcher).to receive(:preload).once.ordered
43
+ expect(watcher).to receive(:clear).and_raise(Interrupt).once.ordered
44
+ expect { watcher.poll(42) }.to raise_error(SystemExit)
45
+ end
46
+ end
47
+ end
48
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: circle-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derek Keith
@@ -9,78 +9,108 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-05-29 00:00:00.000000000 Z
12
+ date: 2016-10-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: circleci
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 1.0.3
18
21
  - - ">="
19
22
  - !ruby/object:Gem::Version
20
- version: '0'
23
+ version: 1.0.3
21
24
  type: :runtime
22
25
  prerelease: false
23
26
  version_requirements: !ruby/object:Gem::Requirement
24
27
  requirements:
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: 1.0.3
25
31
  - - ">="
26
32
  - !ruby/object:Gem::Version
27
- version: '0'
33
+ version: 1.0.3
28
34
  - !ruby/object:Gem::Dependency
29
- name: rugged
35
+ name: git
30
36
  requirement: !ruby/object:Gem::Requirement
31
37
  requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 1.3.0
32
41
  - - ">="
33
42
  - !ruby/object:Gem::Version
34
- version: '0.23'
43
+ version: 1.3.0
35
44
  type: :runtime
36
45
  prerelease: false
37
46
  version_requirements: !ruby/object:Gem::Requirement
38
47
  requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: 1.3.0
39
51
  - - ">="
40
52
  - !ruby/object:Gem::Version
41
- version: '0.23'
53
+ version: 1.3.0
42
54
  - !ruby/object:Gem::Dependency
43
55
  name: gitable
44
56
  requirement: !ruby/object:Gem::Requirement
45
57
  requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: 0.3.1
46
61
  - - ">="
47
62
  - !ruby/object:Gem::Version
48
- version: '0'
63
+ version: 0.3.1
49
64
  type: :runtime
50
65
  prerelease: false
51
66
  version_requirements: !ruby/object:Gem::Requirement
52
67
  requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: 0.3.1
53
71
  - - ">="
54
72
  - !ruby/object:Gem::Version
55
- version: '0'
73
+ version: 0.3.1
56
74
  - !ruby/object:Gem::Dependency
57
75
  name: launchy
58
76
  requirement: !ruby/object:Gem::Requirement
59
77
  requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: 2.4.3
60
81
  - - ">="
61
82
  - !ruby/object:Gem::Version
62
- version: '0'
83
+ version: 2.4.3
63
84
  type: :runtime
64
85
  prerelease: false
65
86
  version_requirements: !ruby/object:Gem::Requirement
66
87
  requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: 2.4.3
67
91
  - - ">="
68
92
  - !ruby/object:Gem::Version
69
- version: '0'
93
+ version: 2.4.3
70
94
  - !ruby/object:Gem::Dependency
71
95
  name: thor
72
96
  requirement: !ruby/object:Gem::Requirement
73
97
  requirements:
98
+ - - "~>"
99
+ - !ruby/object:Gem::Version
100
+ version: 0.19.1
74
101
  - - ">="
75
102
  - !ruby/object:Gem::Version
76
- version: '0'
103
+ version: 0.19.1
77
104
  type: :runtime
78
105
  prerelease: false
79
106
  version_requirements: !ruby/object:Gem::Requirement
80
107
  requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.19.1
81
111
  - - ">="
82
112
  - !ruby/object:Gem::Version
83
- version: '0'
113
+ version: 0.19.1
84
114
  - !ruby/object:Gem::Dependency
85
115
  name: bundler
86
116
  requirement: !ruby/object:Gem::Requirement
@@ -88,6 +118,9 @@ dependencies:
88
118
  - - "~>"
89
119
  - !ruby/object:Gem::Version
90
120
  version: '1.5'
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '1.5'
91
124
  type: :development
92
125
  prerelease: false
93
126
  version_requirements: !ruby/object:Gem::Requirement
@@ -95,76 +128,109 @@ dependencies:
95
128
  - - "~>"
96
129
  - !ruby/object:Gem::Version
97
130
  version: '1.5'
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: '1.5'
98
134
  - !ruby/object:Gem::Dependency
99
135
  name: rake
100
136
  requirement: !ruby/object:Gem::Requirement
101
137
  requirements:
138
+ - - "~>"
139
+ - !ruby/object:Gem::Version
140
+ version: 11.2.2
102
141
  - - ">="
103
142
  - !ruby/object:Gem::Version
104
- version: '0'
143
+ version: 11.2.2
105
144
  type: :development
106
145
  prerelease: false
107
146
  version_requirements: !ruby/object:Gem::Requirement
108
147
  requirements:
148
+ - - "~>"
149
+ - !ruby/object:Gem::Version
150
+ version: 11.2.2
109
151
  - - ">="
110
152
  - !ruby/object:Gem::Version
111
- version: '0'
153
+ version: 11.2.2
112
154
  - !ruby/object:Gem::Dependency
113
155
  name: rspec
114
156
  requirement: !ruby/object:Gem::Requirement
115
157
  requirements:
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: 3.5.0
116
161
  - - ">="
117
162
  - !ruby/object:Gem::Version
118
- version: '0'
163
+ version: 3.5.0
119
164
  type: :development
120
165
  prerelease: false
121
166
  version_requirements: !ruby/object:Gem::Requirement
122
167
  requirements:
168
+ - - "~>"
169
+ - !ruby/object:Gem::Version
170
+ version: 3.5.0
123
171
  - - ">="
124
172
  - !ruby/object:Gem::Version
125
- version: '0'
173
+ version: 3.5.0
126
174
  - !ruby/object:Gem::Dependency
127
175
  name: vcr
128
176
  requirement: !ruby/object:Gem::Requirement
129
177
  requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 3.0.3
130
181
  - - ">="
131
182
  - !ruby/object:Gem::Version
132
- version: '0'
183
+ version: 3.0.3
133
184
  type: :development
134
185
  prerelease: false
135
186
  version_requirements: !ruby/object:Gem::Requirement
136
187
  requirements:
188
+ - - "~>"
189
+ - !ruby/object:Gem::Version
190
+ version: 3.0.3
137
191
  - - ">="
138
192
  - !ruby/object:Gem::Version
139
- version: '0'
193
+ version: 3.0.3
140
194
  - !ruby/object:Gem::Dependency
141
195
  name: webmock
142
196
  requirement: !ruby/object:Gem::Requirement
143
197
  requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: 2.1.0
144
201
  - - ">="
145
202
  - !ruby/object:Gem::Version
146
- version: '0'
203
+ version: 2.1.0
147
204
  type: :development
148
205
  prerelease: false
149
206
  version_requirements: !ruby/object:Gem::Requirement
150
207
  requirements:
208
+ - - "~>"
209
+ - !ruby/object:Gem::Version
210
+ version: 2.1.0
151
211
  - - ">="
152
212
  - !ruby/object:Gem::Version
153
- version: '0'
213
+ version: 2.1.0
154
214
  - !ruby/object:Gem::Dependency
155
215
  name: simplecov
156
216
  requirement: !ruby/object:Gem::Requirement
157
217
  requirements:
218
+ - - "~>"
219
+ - !ruby/object:Gem::Version
220
+ version: 0.12.0
158
221
  - - ">="
159
222
  - !ruby/object:Gem::Version
160
- version: '0'
223
+ version: 0.12.0
161
224
  type: :development
162
225
  prerelease: false
163
226
  version_requirements: !ruby/object:Gem::Requirement
164
227
  requirements:
228
+ - - "~>"
229
+ - !ruby/object:Gem::Version
230
+ version: 0.12.0
165
231
  - - ">="
166
232
  - !ruby/object:Gem::Version
167
- version: '0'
233
+ version: 0.12.0
168
234
  description: A bunch of commands useful to deal with Circle CI without leaving your
169
235
  terminal.
170
236
  email:
@@ -193,6 +259,7 @@ files:
193
259
  - lib/circle/cli/repo.rb
194
260
  - lib/circle/cli/step.rb
195
261
  - lib/circle/cli/version.rb
262
+ - lib/circle/cli/watcher.rb
196
263
  - spec/cassettes/get.yml
197
264
  - spec/cassettes/recent_builds.yml
198
265
  - spec/cassettes/recent_builds_branch.yml
@@ -201,8 +268,9 @@ files:
201
268
  - spec/circle/cli/project_spec.rb
202
269
  - spec/circle/cli/repo_spec.rb
203
270
  - spec/circle/cli/step_spec.rb
271
+ - spec/circle/cli/watcher_spec.rb
204
272
  - spec/spec_helper.rb
205
- homepage: ''
273
+ homepage: https://github.com/circle-cli/circle-cli
206
274
  licenses:
207
275
  - MIT
208
276
  metadata: {}
@@ -222,7 +290,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
290
  version: '0'
223
291
  requirements: []
224
292
  rubyforge_project:
225
- rubygems_version: 2.6.4
293
+ rubygems_version: 2.5.1
226
294
  signing_key:
227
295
  specification_version: 4
228
296
  summary: Command line tools for Circle CI
@@ -235,4 +303,5 @@ test_files:
235
303
  - spec/circle/cli/project_spec.rb
236
304
  - spec/circle/cli/repo_spec.rb
237
305
  - spec/circle/cli/step_spec.rb
306
+ - spec/circle/cli/watcher_spec.rb
238
307
  - spec/spec_helper.rb