rhc 1.9.6 → 1.10.7
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.
- checksums.yaml +7 -0
- data/features/lib/rhc_helper.rb +0 -4
- data/features/lib/rhc_helper/app.rb +10 -10
- data/features/lib/rhc_helper/commandify.rb +6 -24
- data/features/support/before_hooks.rb +1 -1
- data/features/support/env.rb +9 -2
- data/features/support/platform_support.rb +11 -1
- data/lib/rhc/auth/basic.rb +4 -1
- data/lib/rhc/cartridge_helpers.rb +4 -8
- data/lib/rhc/commands.rb +6 -3
- data/lib/rhc/commands/alias.rb +1 -0
- data/lib/rhc/commands/app.rb +104 -67
- data/lib/rhc/commands/authorization.rb +2 -1
- data/lib/rhc/commands/base.rb +8 -1
- data/lib/rhc/commands/cartridge.rb +39 -16
- data/lib/rhc/commands/git_clone.rb +2 -1
- data/lib/rhc/commands/port_forward.rb +4 -6
- data/lib/rhc/commands/ssh.rb +54 -0
- data/lib/rhc/exceptions.rb +12 -7
- data/lib/rhc/git_helpers.rb +4 -5
- data/lib/rhc/help_formatter.rb +11 -6
- data/lib/rhc/helpers.rb +24 -3
- data/lib/rhc/highline_extensions.rb +31 -6
- data/lib/rhc/output_helpers.rb +0 -29
- data/lib/rhc/rest.rb +16 -1
- data/lib/rhc/rest/application.rb +7 -3
- data/lib/rhc/rest/base.rb +7 -2
- data/lib/rhc/rest/client.rb +7 -14
- data/lib/rhc/rest/gear_group.rb +10 -1
- data/lib/rhc/rest/mock.rb +34 -8
- data/lib/rhc/ssh_helpers.rb +144 -1
- data/lib/rhc/usage_templates/command_help.erb +16 -2
- data/spec/coverage_helper.rb +10 -7
- data/spec/rhc/commands/alias_spec.rb +28 -0
- data/spec/rhc/commands/app_spec.rb +64 -45
- data/spec/rhc/commands/authorization_spec.rb +16 -0
- data/spec/rhc/commands/cartridge_spec.rb +59 -3
- data/spec/rhc/commands/port_forward_spec.rb +6 -6
- data/spec/rhc/commands/ssh_spec.rb +125 -0
- data/spec/rhc/commands/tail_spec.rb +4 -3
- data/spec/rhc/helpers_spec.rb +70 -42
- data/spec/rhc/highline_extensions_spec.rb +23 -1
- data/spec/rhc/rest_client_spec.rb +6 -9
- data/spec/rhc/rest_spec.rb +41 -2
- data/spec/spec_helper.rb +38 -0
- metadata +336 -373
@@ -49,9 +49,10 @@ describe RHC::Commands::Tail do
|
|
49
49
|
end
|
50
50
|
|
51
51
|
context 'succeeds when a gear is specified' do
|
52
|
-
before (:each) {Net::SSH.should_receive(:start).with('fakesshurl.com', '
|
53
|
-
let(:arguments) { ['tail', 'mock-app-0', '--gear', '
|
52
|
+
before (:each) {Net::SSH.should_receive(:start).with('fakesshurl.com', 'fakegearid0') }
|
53
|
+
let(:arguments) { ['tail', 'mock-app-0', '--gear', 'fakegearid0' ] }
|
54
54
|
|
55
|
+
it { run_output.should_not =~ /Connecting to fakesshurl.com/ }
|
55
56
|
it { expect { run }.to exit_with_code(0) }
|
56
57
|
end
|
57
58
|
|
@@ -73,7 +74,7 @@ describe RHC::Commands::Tail do
|
|
73
74
|
end
|
74
75
|
|
75
76
|
it { expect { run }.to exit_with_code(1) }
|
76
|
-
it { run_output.should =~ /The server does not support
|
77
|
+
it { run_output.should =~ /The server does not support operations on individual gears./ }
|
77
78
|
end
|
78
79
|
|
79
80
|
end
|
data/spec/rhc/helpers_spec.rb
CHANGED
@@ -5,11 +5,12 @@ require 'rhc/cartridge_helpers'
|
|
5
5
|
require 'rhc/git_helpers'
|
6
6
|
require 'rhc/core_ext'
|
7
7
|
require 'rhc/config'
|
8
|
+
require 'rhc/rest/mock'
|
8
9
|
require 'date'
|
9
10
|
require 'resolv'
|
10
11
|
require 'ostruct'
|
11
12
|
|
12
|
-
class
|
13
|
+
class AllRhcHelpers
|
13
14
|
include RHC::Helpers
|
14
15
|
include RHC::SSHHelpers
|
15
16
|
include RHC::CartridgeHelpers
|
@@ -22,14 +23,12 @@ class MockHelpers
|
|
22
23
|
end
|
23
24
|
end
|
24
25
|
|
25
|
-
describe
|
26
|
+
describe AllRhcHelpers do
|
26
27
|
before do
|
27
28
|
mock_terminal
|
28
29
|
user_config
|
29
30
|
end
|
30
31
|
|
31
|
-
subject{ MockHelpers.new }
|
32
|
-
|
33
32
|
its(:openshift_server) { should == 'openshift.redhat.com' }
|
34
33
|
its(:openshift_url) { should == 'https://openshift.redhat.com' }
|
35
34
|
|
@@ -96,6 +95,17 @@ describe RHC::Helpers do
|
|
96
95
|
d.year.should == 2012
|
97
96
|
end
|
98
97
|
|
98
|
+
describe "#human_size" do
|
99
|
+
it{ subject.human_size(nil).should == 'unknown' }
|
100
|
+
it{ subject.human_size(1).should == '1 B' }
|
101
|
+
it{ subject.human_size(500).should == '500 B' }
|
102
|
+
it{ subject.human_size(1000).should == '1 KB' }
|
103
|
+
it{ subject.human_size(500000).should == '500 KB' }
|
104
|
+
it{ subject.human_size(1000*1000).should == '1 MB' }
|
105
|
+
it{ subject.human_size(1000*1000*1000).should == '1 GB' }
|
106
|
+
it{ subject.human_size(1000*1000*1000*1000).should == '1 TB' }
|
107
|
+
end
|
108
|
+
|
99
109
|
describe "#distance_of_time_in_words" do
|
100
110
|
it{ subject.distance_of_time_in_words(0, 1).should == 'less than 1 minute' }
|
101
111
|
it{ subject.distance_of_time_in_words(0, 60).should == '1 minute' }
|
@@ -263,7 +273,7 @@ describe RHC::Helpers do
|
|
263
273
|
true
|
264
274
|
end
|
265
275
|
|
266
|
-
it { capture{ subject.git_clone_repo("url", "repo").should
|
276
|
+
it { capture{ subject.git_clone_repo("url", "repo").should == File.expand_path('repo') } }
|
267
277
|
it { capture_all{ subject.git_clone_repo("url", "repo") }.should match("fake git clone") }
|
268
278
|
|
269
279
|
context "does not succeed" do
|
@@ -310,6 +320,31 @@ describe RHC::Helpers do
|
|
310
320
|
Net::SSH::KeyFactory.should_receive(:load_public_key).with('1').and_raise(StandardError.new("An error"))
|
311
321
|
subject.fingerprint_for_local_key('1').should be_nil
|
312
322
|
end
|
323
|
+
|
324
|
+
it "should handle a block in multi_ssh calls" do
|
325
|
+
expect_multi_ssh('foo', 'fakegearid0@fakesshurl.com' => 'bar')
|
326
|
+
subject.run_on_gears('foo', [RHC::Rest::Mock::MockRestGearGroup.new], :as => :gear){ |gear, data, group| data.should == 'bar'; 'test' }.should == ['test']
|
327
|
+
end
|
328
|
+
|
329
|
+
it "should handle a block in multi_ssh calls" do
|
330
|
+
expect_multi_ssh('foo', 'fakegearid0@fakesshurl.com' => 'bar')
|
331
|
+
capture{ subject.table_from_gears('foo', [RHC::Rest::Mock::MockRestGearGroup.new], :header => ['cart','col']) }.should match /cart.*col\n-+.*fakegearid0.*bar/m
|
332
|
+
end
|
333
|
+
|
334
|
+
it "should handle a run_on_gears error for unrecognized type" do
|
335
|
+
expect_multi_ssh('foo', {})
|
336
|
+
expect{ subject.run_on_gears('foo', RHC::Rest::Mock::MockRestGearGroup.new.gears) }.to raise_error(RuntimeError)
|
337
|
+
end
|
338
|
+
|
339
|
+
it "should handle an error for unrecognized type" do
|
340
|
+
expect_multi_ssh('foo', {'fakegearid0@fakesshurl.com' => 'bar'}, true)
|
341
|
+
subject.run_on_gears('foo', [RHC::Rest::Mock::MockRestGearGroup.new])
|
342
|
+
end
|
343
|
+
|
344
|
+
it "should rescue load errors from ssh-multi" do
|
345
|
+
RHC::SSHHelpers::MultipleGearTask.any_instance.should_receive(:require).and_raise(LoadError)
|
346
|
+
expect{ RHC::SSHHelpers::MultipleGearTask.new(nil,nil,nil).send(:requires_ssh_multi!) }.to raise_error RHC::OperationNotSupportedException, /must install Net::SSH::Multi/
|
347
|
+
end
|
313
348
|
end
|
314
349
|
|
315
350
|
describe "#wrap" do
|
@@ -381,6 +416,36 @@ describe RHC::Helpers do
|
|
381
416
|
end
|
382
417
|
end
|
383
418
|
end
|
419
|
+
|
420
|
+
context "cartridge helpers" do
|
421
|
+
before{ mock_terminal }
|
422
|
+
|
423
|
+
describe '#check_cartridges' do
|
424
|
+
let(:cartridges){ [] }
|
425
|
+
let(:find_cartridges){ [] }
|
426
|
+
context "with a generic object" do
|
427
|
+
it { expect{ subject.send(:check_cartridges, 'foo', :from => cartridges) }.to raise_error(RHC::CartridgeNotFoundException, 'There are no cartridges that match \'foo\'.') }
|
428
|
+
end
|
429
|
+
end
|
430
|
+
|
431
|
+
describe '#match_cart' do
|
432
|
+
context 'with a nil cart' do
|
433
|
+
let(:cart){ OpenStruct.new(:name => nil, :description => nil, :tags => nil) }
|
434
|
+
it{ subject.send(:match_cart, cart, 'foo').should be_false }
|
435
|
+
end
|
436
|
+
context 'with simple strings' do
|
437
|
+
let(:cart){ OpenStruct.new(:name => 'FOO-more_max any', :description => 'bar', :tags => [:baz]) }
|
438
|
+
it{ subject.send(:match_cart, cart, 'foo').should be_true }
|
439
|
+
it{ subject.send(:match_cart, cart, 'fo').should be_true }
|
440
|
+
it{ subject.send(:match_cart, cart, 'oo').should be_true }
|
441
|
+
it{ subject.send(:match_cart, cart, 'bar').should be_true }
|
442
|
+
it{ subject.send(:match_cart, cart, 'baz').should be_true }
|
443
|
+
it{ subject.send(:match_cart, cart, 'more max').should be_true }
|
444
|
+
it{ subject.send(:match_cart, cart, 'foo more max any').should be_true }
|
445
|
+
it{ subject.send(:match_cart, cart, 'foo_more max-any').should be_true }
|
446
|
+
end
|
447
|
+
end
|
448
|
+
end
|
384
449
|
end
|
385
450
|
|
386
451
|
describe RHC::Helpers::StringTee do
|
@@ -425,40 +490,3 @@ describe OpenURI do
|
|
425
490
|
specify('https to http') { OpenURI.redirectable?(URI.parse('https://foo.com'), URI.parse('http://foo.com')).should be_false }
|
426
491
|
end
|
427
492
|
end
|
428
|
-
|
429
|
-
describe RHC::CartridgeHelpers do
|
430
|
-
before(:each) do
|
431
|
-
mock_terminal
|
432
|
-
end
|
433
|
-
|
434
|
-
subject{ MockHelpers.new }
|
435
|
-
|
436
|
-
describe '#check_cartridges' do
|
437
|
-
let(:cartridges){ [] }
|
438
|
-
let(:find_cartridges){ [] }
|
439
|
-
context "with a generic object" do
|
440
|
-
it { expect{ subject.send(:check_cartridges, 'foo', :from => cartridges) }.to raise_error(RHC::CartridgeNotFoundException, 'There are no cartridges that match \'foo\'.') }
|
441
|
-
end
|
442
|
-
end
|
443
|
-
describe '#web_carts_only' do
|
444
|
-
it { expect{ subject.send(:web_carts_only).call([]) }.to raise_error(RHC::MultipleCartridgesException, /You must select only a single web/) }
|
445
|
-
end
|
446
|
-
|
447
|
-
describe '#match_cart' do
|
448
|
-
context 'with a nil cart' do
|
449
|
-
let(:cart){ OpenStruct.new(:name => nil, :description => nil, :tags => nil) }
|
450
|
-
it{ subject.send(:match_cart, cart, 'foo').should be_false }
|
451
|
-
end
|
452
|
-
context 'with simple strings' do
|
453
|
-
let(:cart){ OpenStruct.new(:name => 'FOO-more_max any', :description => 'bar', :tags => [:baz]) }
|
454
|
-
it{ subject.send(:match_cart, cart, 'foo').should be_true }
|
455
|
-
it{ subject.send(:match_cart, cart, 'fo').should be_true }
|
456
|
-
it{ subject.send(:match_cart, cart, 'oo').should be_true }
|
457
|
-
it{ subject.send(:match_cart, cart, 'bar').should be_true }
|
458
|
-
it{ subject.send(:match_cart, cart, 'baz').should be_true }
|
459
|
-
it{ subject.send(:match_cart, cart, 'more max').should be_true }
|
460
|
-
it{ subject.send(:match_cart, cart, 'foo more max any').should be_true }
|
461
|
-
it{ subject.send(:match_cart, cart, 'foo_more max-any').should be_true }
|
462
|
-
end
|
463
|
-
end
|
464
|
-
end
|
@@ -143,10 +143,21 @@ describe HighLineExtension do
|
|
143
143
|
subject.table([]).to_a.should == []
|
144
144
|
end
|
145
145
|
|
146
|
-
it "should handle
|
146
|
+
it "should handle a nested empty table" do
|
147
147
|
subject.table([[]]).to_a.should == []
|
148
148
|
end
|
149
149
|
|
150
|
+
it "should normalize variables" do
|
151
|
+
subject.table([
|
152
|
+
["a", 5],
|
153
|
+
[nil, ['a', 'b']],
|
154
|
+
]).to_a.should == [
|
155
|
+
"a 5",
|
156
|
+
" a",
|
157
|
+
" b",
|
158
|
+
]
|
159
|
+
end
|
160
|
+
|
150
161
|
it "should wrap a table based on a max width" do
|
151
162
|
subject.table([["abcd efgh", "1234 6789 a"]], :width => 9, :heading => 'Test').to_a.should == [
|
152
163
|
'Test',
|
@@ -157,6 +168,17 @@ describe HighLineExtension do
|
|
157
168
|
]
|
158
169
|
end
|
159
170
|
|
171
|
+
# FIXME: Ragged edges still left by the algorithm
|
172
|
+
# 104 total width, 1: 32/52, 2: 8/61, 113 total width
|
173
|
+
it "should handle when columns are evenly split" do
|
174
|
+
subject.table([
|
175
|
+
["#{'a'*32} #{'b'*19}", "#{'c'*8} "*6+"d"*7]
|
176
|
+
], :width => 104).to_a.should == [
|
177
|
+
"a"*32+" "+'b'*19+" "+Array.new(5, 'c'*8).join(' '),
|
178
|
+
' '*53+"#{'c'*8} "+'d'*7
|
179
|
+
]
|
180
|
+
end
|
181
|
+
|
160
182
|
it "should allocate columns fairly in a table" do
|
161
183
|
subject.table([["abcd", "12345 67890"]], :width => 10).to_a.should == [
|
162
184
|
"abcd 12345",
|
@@ -13,27 +13,24 @@ module RHC
|
|
13
13
|
|
14
14
|
it 'should set the proxy protocol if it is missing' do
|
15
15
|
ENV['http_proxy'] = 'foo.bar.com:8081'
|
16
|
-
RHC::Rest::Client.new
|
17
|
-
ENV['http_proxy'].should == 'http://foo.bar.com:8081'
|
16
|
+
expect{ RHC::Rest::Client.new.send(:httpclient_for, {}) }.to raise_error(ArgumentError)
|
18
17
|
end
|
19
18
|
|
20
19
|
it 'should not alter the proxy protocol if it is present' do
|
21
20
|
ENV['http_proxy'] = 'http://foo.bar.com:8081'
|
22
|
-
RHC::Rest::Client.new
|
23
|
-
ENV['http_proxy'].should == 'http://foo.bar.com:8081'
|
21
|
+
RHC::Rest::Client.new.send(:httpclient_for, {}).proxy.to_s.should == URI.parse(ENV['http_proxy']).to_s
|
24
22
|
end
|
25
23
|
|
26
24
|
it 'should not affect the proxy protocol if nil' do
|
27
25
|
ENV['http_proxy'] = nil
|
28
|
-
RHC::Rest::Client.new
|
26
|
+
RHC::Rest::Client.new.send(:httpclient_for, {}).proxy.should be_nil
|
29
27
|
ENV['http_proxy'].should be_nil
|
30
28
|
end
|
31
29
|
|
32
30
|
let(:endpoint){ mock_href }
|
33
|
-
let(:username){ nil }
|
34
|
-
let(:password){ nil }
|
31
|
+
let(:username){ nil }
|
32
|
+
let(:password){ nil }
|
35
33
|
let(:use_debug){ false }
|
36
|
-
#let(:spec_versions){ nil }
|
37
34
|
let(:client) do
|
38
35
|
respond_to?(:spec_versions) ?
|
39
36
|
RHC::Rest::Client.new(endpoint, username, password, use_debug, spec_versions) :
|
@@ -284,7 +281,7 @@ module RHC
|
|
284
281
|
context "when several messages are present" do
|
285
282
|
before do
|
286
283
|
stub_api_request(:get, 'broker/rest/cartridge', true).
|
287
|
-
with(:query => {:include =>
|
284
|
+
with(:query => {:include => 'status_messages'}).
|
288
285
|
to_return(:body => {
|
289
286
|
:type => 'cartridge',
|
290
287
|
:data => {
|
data/spec/rhc/rest_spec.rb
CHANGED
@@ -278,6 +278,24 @@ module RHC
|
|
278
278
|
subject.send(:parse_response, json_response).should have_same_attributes_as(user_obj)
|
279
279
|
end
|
280
280
|
end
|
281
|
+
|
282
|
+
context "with result messages" do
|
283
|
+
let(:object) {{
|
284
|
+
:login => 'test_user',
|
285
|
+
:links => { :foo => 'bar' }
|
286
|
+
}}
|
287
|
+
let (:messages) {[
|
288
|
+
{:field => nil, :severity => 'info', :text => 'Nil field'},
|
289
|
+
{:field => 'result', :severity => 'info', :text => 'Result field'}, # < 1.5 API
|
290
|
+
{:field => 'base', :severity => 'result', :text => 'Result severity'}, # >= 1.5 API
|
291
|
+
{:field => 'base', :severity => 'info', :text => 'Non-result message' }
|
292
|
+
]}
|
293
|
+
|
294
|
+
it "copies result messages to the object" do
|
295
|
+
json_response = { :type => 'user', :data => object, :messages => messages }.to_json
|
296
|
+
subject.send(:parse_response, json_response).messages.should == ['Nil field', 'Result field', 'Result severity']
|
297
|
+
end
|
298
|
+
end
|
281
299
|
end
|
282
300
|
|
283
301
|
describe "#new_request" do
|
@@ -372,8 +390,8 @@ module RHC
|
|
372
390
|
|
373
391
|
context "with a GET request" do
|
374
392
|
it "serializes payload as query parameters" do
|
375
|
-
stub_request(:get, mock_href).with(:query => {:test => 1, :bar => 2}).to_return(:status => 204)
|
376
|
-
subject.request(request.merge(:payload => {:test => '1', :bar => 2})).should be_nil
|
393
|
+
stub_request(:get, mock_href).with(:query => {:test => '1', :bar => '2'}).to_return(:status => 204)
|
394
|
+
subject.request(request.merge(:payload => {:test => '1', :bar => '2'})).should be_nil
|
377
395
|
end
|
378
396
|
end
|
379
397
|
context "with a POST request" do
|
@@ -392,6 +410,27 @@ module RHC
|
|
392
410
|
it{ response.should raise_error(RHC::Rest::TimeoutException, /Connection to server timed out. It is possible/) }
|
393
411
|
end
|
394
412
|
|
413
|
+
context "with a receive timeout" do
|
414
|
+
before{ stub_request(:get, mock_href).to_raise(HTTPClient::ReceiveTimeoutError) }
|
415
|
+
it{ response.should raise_error{ |e| e.on_receive?.should be_true } }
|
416
|
+
end
|
417
|
+
|
418
|
+
context "with a send timeout" do
|
419
|
+
before{ stub_request(:get, mock_href).to_raise(HTTPClient::SendTimeoutError) }
|
420
|
+
it{ response.should raise_error{ |e| e.on_send?.should be_true } }
|
421
|
+
end
|
422
|
+
|
423
|
+
context "with a connect timeout" do
|
424
|
+
before{ stub_request(:get, mock_href).to_raise(HTTPClient::ConnectTimeoutError) }
|
425
|
+
it{ response.should raise_error{ |e| e.on_connect?.should be_true } }
|
426
|
+
end
|
427
|
+
|
428
|
+
context "with a reset server connection" do
|
429
|
+
before{ stub_request(:get, mock_href).to_raise(Errno::ECONNRESET.new('Lost Server Connection')) }
|
430
|
+
it{ response.should raise_error(RHC::Rest::ConnectionException, /The server has closed the connection unexpectedly \(Connection reset by peer - Lost Server Connection\)/) }
|
431
|
+
end
|
432
|
+
|
433
|
+
|
395
434
|
context "with a broken server connection" do
|
396
435
|
before{ stub_request(:get, mock_href).to_raise(EOFError.new('Lost Server Connection')) }
|
397
436
|
it{ response.should raise_error(RHC::Rest::ConnectionException, 'Connection to server got interrupted: Lost Server Connection') }
|
data/spec/spec_helper.rb
CHANGED
@@ -254,6 +254,7 @@ module ClassSpecHelpers
|
|
254
254
|
def mock_terminal
|
255
255
|
@input = StringIO.new
|
256
256
|
@output = StringIO.new
|
257
|
+
$stdout = @output
|
257
258
|
$stderr = (@error = StringIO.new)
|
258
259
|
$terminal = MockHighLineTerminal.new @input, @output
|
259
260
|
end
|
@@ -339,6 +340,43 @@ module ClassSpecHelpers
|
|
339
340
|
opts[:server].should == server if server
|
340
341
|
end
|
341
342
|
end
|
343
|
+
|
344
|
+
def expect_multi_ssh(command, hosts, check_error=false)
|
345
|
+
require 'net/ssh/multi'
|
346
|
+
|
347
|
+
session = mock('Multi::SSH::Session')
|
348
|
+
described_class.any_instance.stub(:requires_ssh_multi!)
|
349
|
+
channels = hosts.inject({}) do |h, (k,v)|
|
350
|
+
c = stub(:properties => {}, :connection => stub(:properties => {}))
|
351
|
+
h[k] = c
|
352
|
+
h
|
353
|
+
end
|
354
|
+
session.should_receive(:use).exactly(hosts.count).times.with do |host, opts|
|
355
|
+
opts[:properties].should_not be_nil
|
356
|
+
opts[:properties][:gear].should_not be_nil
|
357
|
+
hosts.should have_key(host)
|
358
|
+
channels[host].connection.properties.merge!(opts[:properties])
|
359
|
+
true
|
360
|
+
end
|
361
|
+
session.stub(:_command).and_return(command)
|
362
|
+
session.stub(:_hosts).and_return(hosts)
|
363
|
+
session.stub(:_channels).and_return(channels)
|
364
|
+
session.instance_eval do
|
365
|
+
def exec(arg1, *args, &block)
|
366
|
+
arg1.should == _command
|
367
|
+
_hosts.to_a.sort{ |a,b| a[0] <=> b[0] }.each do |(k,v)|
|
368
|
+
block.call(_channels[k], :stdout, v)
|
369
|
+
end
|
370
|
+
end
|
371
|
+
end
|
372
|
+
session.should_receive(:loop) unless hosts.empty?
|
373
|
+
Net::SSH::Multi.should_receive(:start).and_yield(session).with do |opts|
|
374
|
+
opts.should have_key(:on_error)
|
375
|
+
capture_all{ opts[:on_error].call('test') }.should == "Unable to connect to gear test\n" if check_error
|
376
|
+
true
|
377
|
+
end
|
378
|
+
session
|
379
|
+
end
|
342
380
|
end
|
343
381
|
|
344
382
|
module ExitCodeMatchers
|
metadata
CHANGED
@@ -1,498 +1,461 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhc
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 9
|
9
|
-
- 6
|
10
|
-
version: 1.9.6
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.10.7
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Red Hat
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2013-07-02 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
21
14
|
name: net-ssh
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 25
|
29
|
-
segments:
|
30
|
-
- 2
|
31
|
-
- 0
|
32
|
-
- 11
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
33
19
|
version: 2.0.11
|
34
20
|
type: :runtime
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: archive-tar-minitar
|
38
21
|
prerelease: false
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.11
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: archive-tar-minitar
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
48
34
|
type: :runtime
|
49
|
-
version_requirements: *id002
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: commander
|
52
35
|
prerelease: false
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: commander
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '4.0'
|
63
48
|
type: :runtime
|
64
|
-
version_requirements: *id003
|
65
|
-
- !ruby/object:Gem::Dependency
|
66
|
-
name: highline
|
67
49
|
prerelease: false
|
68
|
-
|
69
|
-
|
70
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '4.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: highline
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
71
59
|
- - ~>
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
hash: 25
|
74
|
-
segments:
|
75
|
-
- 1
|
76
|
-
- 6
|
77
|
-
- 11
|
60
|
+
- !ruby/object:Gem::Version
|
78
61
|
version: 1.6.11
|
79
62
|
type: :runtime
|
80
|
-
version_requirements: *id004
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: httpclient
|
83
63
|
prerelease: false
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.6.11
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: httpclient
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.2'
|
94
76
|
type: :runtime
|
95
|
-
version_requirements: *id005
|
96
|
-
- !ruby/object:Gem::Dependency
|
97
|
-
name: open4
|
98
77
|
prerelease: false
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.2'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: open4
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
108
90
|
type: :runtime
|
109
|
-
version_requirements: *id006
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: rake
|
112
91
|
prerelease: false
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rake
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
123
103
|
version: 0.8.7
|
124
|
-
- - <=
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
hash: 11
|
127
|
-
segments:
|
128
|
-
- 0
|
129
|
-
- 9
|
130
|
-
- 2
|
131
|
-
- 2
|
132
|
-
version: 0.9.2.2
|
133
104
|
type: :development
|
134
|
-
version_requirements: *id007
|
135
|
-
- !ruby/object:Gem::Dependency
|
136
|
-
name: webmock
|
137
105
|
prerelease: false
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.8.7
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: webmock
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - <
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '1.12'
|
148
118
|
type: :development
|
149
|
-
version_requirements: *id008
|
150
|
-
- !ruby/object:Gem::Dependency
|
151
|
-
name: rspec
|
152
119
|
prerelease: false
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - <
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '1.12'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rspec
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '>='
|
130
|
+
- !ruby/object:Gem::Version
|
163
131
|
version: 2.8.0
|
164
132
|
type: :development
|
165
|
-
version_requirements: *id009
|
166
|
-
- !ruby/object:Gem::Dependency
|
167
|
-
name: fakefs
|
168
133
|
prerelease: false
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 2.8.0
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: fakefs
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - '>='
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0.4'
|
179
146
|
type: :development
|
180
|
-
version_requirements: *id010
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: thor
|
183
147
|
prerelease: false
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0.4'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: thor
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - '>='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
193
160
|
type: :development
|
194
|
-
version_requirements: *id011
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
|
-
name: cucumber
|
197
161
|
prerelease: false
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: cucumber
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
207
174
|
type: :development
|
208
|
-
version_requirements: *id012
|
209
|
-
- !ruby/object:Gem::Dependency
|
210
|
-
name: activesupport
|
211
175
|
prerelease: false
|
212
|
-
|
213
|
-
|
214
|
-
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - '>='
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: activesupport
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
215
185
|
- - ~>
|
216
|
-
- !ruby/object:Gem::Version
|
217
|
-
|
218
|
-
segments:
|
219
|
-
- 3
|
220
|
-
- 0
|
221
|
-
version: "3.0"
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '3.0'
|
222
188
|
type: :development
|
223
|
-
|
224
|
-
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ~>
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '3.0'
|
195
|
+
description: The client tools for the OpenShift platform that allow for application
|
196
|
+
management.
|
225
197
|
email: dev@lists.openshift.redhat.com
|
226
|
-
executables:
|
198
|
+
executables:
|
227
199
|
- rhc
|
228
200
|
extensions: []
|
229
|
-
|
230
201
|
extra_rdoc_files: []
|
231
|
-
|
232
|
-
|
233
|
-
- lib/rhc/command_runner.rb
|
234
|
-
- lib/rhc/version.rb
|
235
|
-
- lib/rhc/cartridge_helpers.rb
|
236
|
-
- lib/rhc/auth/basic.rb
|
237
|
-
- lib/rhc/auth/token_store.rb
|
238
|
-
- lib/rhc/auth/token.rb
|
239
|
-
- lib/rhc/output_helpers.rb
|
240
|
-
- lib/rhc/wizard.rb
|
241
|
-
- lib/rhc/help_formatter.rb
|
242
|
-
- lib/rhc/commands.rb
|
243
|
-
- lib/rhc/context_helper.rb
|
244
|
-
- lib/rhc/rest.rb
|
245
|
-
- lib/rhc/ssh_helpers.rb
|
246
|
-
- lib/rhc/helpers.rb
|
247
|
-
- lib/rhc/coverage_helper.rb
|
248
|
-
- lib/rhc/json.rb
|
249
|
-
- lib/rhc/git_helpers.rb
|
250
|
-
- lib/rhc/auth.rb
|
251
|
-
- lib/rhc/exceptions.rb
|
252
|
-
- lib/rhc/autocomplete.rb
|
253
|
-
- lib/rhc/config.rb
|
254
|
-
- lib/rhc/commands/setup.rb
|
255
|
-
- lib/rhc/commands/account.rb
|
256
|
-
- lib/rhc/commands/port_forward.rb
|
202
|
+
files:
|
203
|
+
- lib/rhc.rb
|
257
204
|
- lib/rhc/commands/tail.rb
|
258
|
-
- lib/rhc/commands/
|
259
|
-
- lib/rhc/commands/git_clone.rb
|
205
|
+
- lib/rhc/commands/apps.rb
|
260
206
|
- lib/rhc/commands/domain.rb
|
207
|
+
- lib/rhc/commands/port_forward.rb
|
208
|
+
- lib/rhc/commands/setup.rb
|
261
209
|
- lib/rhc/commands/cartridge.rb
|
262
210
|
- lib/rhc/commands/authorization.rb
|
211
|
+
- lib/rhc/commands/threaddump.rb
|
212
|
+
- lib/rhc/commands/alias.rb
|
263
213
|
- lib/rhc/commands/sshkey.rb
|
264
|
-
- lib/rhc/commands/snapshot.rb
|
265
|
-
- lib/rhc/commands/server.rb
|
266
214
|
- lib/rhc/commands/app.rb
|
267
215
|
- lib/rhc/commands/logout.rb
|
268
|
-
- lib/rhc/commands/
|
269
|
-
- lib/rhc/commands/
|
216
|
+
- lib/rhc/commands/server.rb
|
217
|
+
- lib/rhc/commands/snapshot.rb
|
218
|
+
- lib/rhc/commands/git_clone.rb
|
270
219
|
- lib/rhc/commands/base.rb
|
271
|
-
- lib/rhc/
|
272
|
-
- lib/rhc/
|
273
|
-
- lib/rhc/
|
274
|
-
- lib/rhc/core_ext.rb
|
275
|
-
- lib/rhc/vendor/parseconfig.rb
|
276
|
-
- lib/rhc/vendor/zliby.rb
|
277
|
-
- lib/rhc/vendor/okjson.rb
|
278
|
-
- lib/rhc/vendor/sshkey.rb
|
279
|
-
- lib/rhc/rest/user.rb
|
280
|
-
- lib/rhc/rest/attributes.rb
|
281
|
-
- lib/rhc/rest/api.rb
|
282
|
-
- lib/rhc/rest/alias.rb
|
220
|
+
- lib/rhc/commands/ssh.rb
|
221
|
+
- lib/rhc/commands/account.rb
|
222
|
+
- lib/rhc/rest.rb
|
283
223
|
- lib/rhc/rest/domain.rb
|
284
|
-
- lib/rhc/rest/
|
224
|
+
- lib/rhc/rest/application.rb
|
285
225
|
- lib/rhc/rest/cartridge.rb
|
286
226
|
- lib/rhc/rest/authorization.rb
|
287
|
-
- lib/rhc/rest/
|
227
|
+
- lib/rhc/rest/api.rb
|
228
|
+
- lib/rhc/rest/alias.rb
|
229
|
+
- lib/rhc/rest/key.rb
|
288
230
|
- lib/rhc/rest/mock.rb
|
289
|
-
- lib/rhc/rest/
|
290
|
-
- lib/rhc/rest/
|
231
|
+
- lib/rhc/rest/gear_group.rb
|
232
|
+
- lib/rhc/rest/attributes.rb
|
233
|
+
- lib/rhc/rest/user.rb
|
291
234
|
- lib/rhc/rest/base.rb
|
292
|
-
- lib/rhc.rb
|
235
|
+
- lib/rhc/rest/client.rb
|
236
|
+
- lib/rhc/json.rb
|
237
|
+
- lib/rhc/context_helper.rb
|
238
|
+
- lib/rhc/output_helpers.rb
|
239
|
+
- lib/rhc/auth.rb
|
240
|
+
- lib/rhc/coverage_helper.rb
|
241
|
+
- lib/rhc/autocomplete.rb
|
242
|
+
- lib/rhc/help_formatter.rb
|
243
|
+
- lib/rhc/wizard.rb
|
244
|
+
- lib/rhc/exceptions.rb
|
245
|
+
- lib/rhc/vendor/okjson.rb
|
246
|
+
- lib/rhc/vendor/sshkey.rb
|
247
|
+
- lib/rhc/vendor/parseconfig.rb
|
248
|
+
- lib/rhc/vendor/zliby.rb
|
249
|
+
- lib/rhc/tar_gz.rb
|
250
|
+
- lib/rhc/git_helpers.rb
|
251
|
+
- lib/rhc/commands.rb
|
252
|
+
- lib/rhc/auth/token_store.rb
|
253
|
+
- lib/rhc/auth/basic.rb
|
254
|
+
- lib/rhc/auth/token.rb
|
255
|
+
- lib/rhc/helpers.rb
|
256
|
+
- lib/rhc/highline_extensions.rb
|
257
|
+
- lib/rhc/config.rb
|
258
|
+
- lib/rhc/cartridge_helpers.rb
|
259
|
+
- lib/rhc/ssh_helpers.rb
|
260
|
+
- lib/rhc/core_ext.rb
|
261
|
+
- lib/rhc/cli.rb
|
262
|
+
- lib/rhc/command_runner.rb
|
263
|
+
- lib/rhc/version.rb
|
293
264
|
- lib/rhc/autocomplete_templates/bash.erb
|
294
|
-
- lib/rhc/usage_templates/
|
265
|
+
- lib/rhc/usage_templates/help.erb
|
295
266
|
- lib/rhc/usage_templates/missing_help.erb
|
296
|
-
- lib/rhc/usage_templates/command_help.erb
|
297
267
|
- lib/rhc/usage_templates/options_help.erb
|
298
|
-
- lib/rhc/usage_templates/
|
268
|
+
- lib/rhc/usage_templates/command_help.erb
|
269
|
+
- lib/rhc/usage_templates/command_syntax_help.erb
|
299
270
|
- conf/express.conf
|
300
271
|
- autocomplete/rhc_bash
|
301
272
|
- LICENSE
|
302
273
|
- COPYRIGHT
|
303
274
|
- README.md
|
304
275
|
- Rakefile
|
305
|
-
- spec/
|
276
|
+
- spec/spec_helper.rb
|
306
277
|
- spec/wizard_spec_helper.rb
|
307
|
-
- spec/
|
308
|
-
- spec/
|
309
|
-
- spec/rhc/
|
310
|
-
- spec/rhc/
|
311
|
-
- spec/rhc/
|
312
|
-
- spec/rhc/
|
313
|
-
- spec/rhc/assets/empty.txt
|
314
|
-
- spec/rhc/assets/cert_key_rsa
|
315
|
-
- spec/rhc/assets/targz_sample.tar.gz
|
316
|
-
- spec/rhc/assets/targz_corrupted.tar.gz
|
317
|
-
- spec/rhc/assets/cert.crt
|
318
|
-
- spec/rhc/assets/foo.txt
|
319
|
-
- spec/rhc/context_spec.rb
|
320
|
-
- spec/rhc/highline_extensions_spec.rb
|
321
|
-
- spec/rhc/command_spec.rb
|
322
|
-
- spec/rhc/cli_spec.rb
|
323
|
-
- spec/rhc/commands/setup_spec.rb
|
324
|
-
- spec/rhc/commands/tail_spec.rb
|
278
|
+
- spec/rest_spec_helper.rb
|
279
|
+
- spec/coverage_helper.rb
|
280
|
+
- spec/rhc/commands/ssh_spec.rb
|
281
|
+
- spec/rhc/commands/cartridge_spec.rb
|
282
|
+
- spec/rhc/commands/git_clone_spec.rb
|
283
|
+
- spec/rhc/commands/sshkey_spec.rb
|
325
284
|
- spec/rhc/commands/port_forward_spec.rb
|
326
285
|
- spec/rhc/commands/app_spec.rb
|
327
|
-
- spec/rhc/commands/
|
328
|
-
- spec/rhc/commands/sshkey_spec.rb
|
286
|
+
- spec/rhc/commands/setup_spec.rb
|
329
287
|
- spec/rhc/commands/threaddump_spec.rb
|
330
|
-
- spec/rhc/commands/server_spec.rb
|
331
|
-
- spec/rhc/commands/logout_spec.rb
|
332
288
|
- spec/rhc/commands/alias_spec.rb
|
333
|
-
- spec/rhc/commands/authorization_spec.rb
|
334
289
|
- spec/rhc/commands/account_spec.rb
|
335
|
-
- spec/rhc/commands/
|
336
|
-
- spec/rhc/commands/snapshot_spec.rb
|
337
|
-
- spec/rhc/commands/git_clone_spec.rb
|
290
|
+
- spec/rhc/commands/tail_spec.rb
|
338
291
|
- spec/rhc/commands/apps_spec.rb
|
292
|
+
- spec/rhc/commands/snapshot_spec.rb
|
293
|
+
- spec/rhc/commands/authorization_spec.rb
|
294
|
+
- spec/rhc/commands/logout_spec.rb
|
295
|
+
- spec/rhc/commands/domain_spec.rb
|
296
|
+
- spec/rhc/commands/server_spec.rb
|
297
|
+
- spec/rhc/targz_spec.rb
|
298
|
+
- spec/rhc/highline_extensions_spec.rb
|
339
299
|
- spec/rhc/json_spec.rb
|
340
|
-
- spec/rhc/
|
300
|
+
- spec/rhc/context_spec.rb
|
341
301
|
- spec/rhc/rest_application_spec.rb
|
342
|
-
- spec/
|
343
|
-
- spec/
|
302
|
+
- spec/rhc/helpers_spec.rb
|
303
|
+
- spec/rhc/wizard_spec.rb
|
304
|
+
- spec/rhc/rest_spec.rb
|
305
|
+
- spec/rhc/command_spec.rb
|
306
|
+
- spec/rhc/auth_spec.rb
|
307
|
+
- spec/rhc/config_spec.rb
|
308
|
+
- spec/rhc/rest_client_spec.rb
|
309
|
+
- spec/rhc/cli_spec.rb
|
310
|
+
- spec/rhc/assets/cert_key_rsa
|
311
|
+
- spec/rhc/assets/foo.txt
|
312
|
+
- spec/rhc/assets/targz_sample.tar.gz
|
313
|
+
- spec/rhc/assets/empty.txt
|
314
|
+
- spec/rhc/assets/cert.crt
|
315
|
+
- spec/rhc/assets/targz_corrupted.tar.gz
|
344
316
|
- spec/keys/server.pem
|
345
|
-
- spec/keys/example.pem
|
346
317
|
- spec/keys/example_private.pem
|
347
|
-
-
|
348
|
-
- features/
|
349
|
-
- features/step_definitions/application_steps.rb
|
350
|
-
- features/step_definitions/client_steps.rb
|
351
|
-
- features/step_definitions/cartridge_steps.rb
|
352
|
-
- features/step_definitions/domain_steps.rb
|
353
|
-
- features/step_definitions/sshkey_steps.rb
|
318
|
+
- spec/keys/example.pem
|
319
|
+
- features/scaled_application.feature
|
354
320
|
- features/cartridge.feature
|
355
|
-
- features/README.md
|
356
321
|
- features/support/before_hooks.rb
|
357
|
-
- features/support/
|
322
|
+
- features/support/assumptions.rb
|
358
323
|
- features/support/key2.pub
|
324
|
+
- features/support/key1.pub
|
359
325
|
- features/support/key1
|
360
|
-
- features/support/key2
|
361
|
-
- features/support/assumptions.rb
|
362
|
-
- features/support/platform_support.rb
|
363
326
|
- features/support/key3.pub
|
364
327
|
- features/support/env.rb
|
365
|
-
- features/
|
366
|
-
- features/
|
367
|
-
- features/
|
368
|
-
- features/verify.feature
|
369
|
-
- features/geared_application.feature
|
370
|
-
- features/lib/rhc_helper/httpify.rb
|
371
|
-
- features/lib/rhc_helper/api.rb
|
328
|
+
- features/support/platform_support.rb
|
329
|
+
- features/support/key2
|
330
|
+
- features/lib/rhc_helper/loggable.rb
|
372
331
|
- features/lib/rhc_helper/domain.rb
|
373
332
|
- features/lib/rhc_helper/cartridge.rb
|
374
333
|
- features/lib/rhc_helper/commandify.rb
|
375
|
-
- features/lib/rhc_helper/
|
376
|
-
- features/lib/rhc_helper/runnable.rb
|
334
|
+
- features/lib/rhc_helper/api.rb
|
377
335
|
- features/lib/rhc_helper/sshkey.rb
|
378
|
-
- features/lib/rhc_helper/loggable.rb
|
379
336
|
- features/lib/rhc_helper/app.rb
|
337
|
+
- features/lib/rhc_helper/persistable.rb
|
338
|
+
- features/lib/rhc_helper/runnable.rb
|
339
|
+
- features/lib/rhc_helper/httpify.rb
|
380
340
|
- features/lib/rhc_helper.rb
|
341
|
+
- features/multiple_cartridge.feature
|
342
|
+
- features/README.md
|
343
|
+
- features/geared_application.feature
|
344
|
+
- features/client.feature
|
345
|
+
- features/verify.feature
|
381
346
|
- features/domain.feature
|
347
|
+
- features/sshkey.feature
|
348
|
+
- features/application.feature
|
349
|
+
- features/step_definitions/sshkey_steps.rb
|
350
|
+
- features/step_definitions/application_steps.rb
|
351
|
+
- features/step_definitions/client_steps.rb
|
352
|
+
- features/step_definitions/cartridge_steps.rb
|
353
|
+
- features/step_definitions/domain_steps.rb
|
382
354
|
- bin/rhc
|
383
355
|
homepage: https://github.com/openshift/rhc
|
384
356
|
licenses: []
|
385
|
-
|
357
|
+
metadata: {}
|
386
358
|
post_install_message: |-
|
387
359
|
===========================================================================
|
388
|
-
|
360
|
+
|
389
361
|
If this is your first time installing the RHC tools, please run 'rhc setup'
|
390
|
-
|
362
|
+
|
391
363
|
===========================================================================
|
392
364
|
rdoc_options: []
|
393
|
-
|
394
|
-
require_paths:
|
365
|
+
require_paths:
|
395
366
|
- lib
|
396
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
none: false
|
407
|
-
requirements:
|
408
|
-
- - ">="
|
409
|
-
- !ruby/object:Gem::Version
|
410
|
-
hash: 3
|
411
|
-
segments:
|
412
|
-
- 0
|
413
|
-
version: "0"
|
367
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
368
|
+
requirements:
|
369
|
+
- - '>='
|
370
|
+
- !ruby/object:Gem::Version
|
371
|
+
version: '0'
|
372
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
373
|
+
requirements:
|
374
|
+
- - '>='
|
375
|
+
- !ruby/object:Gem::Version
|
376
|
+
version: '0'
|
414
377
|
requirements: []
|
415
|
-
|
416
378
|
rubyforge_project:
|
417
|
-
rubygems_version:
|
379
|
+
rubygems_version: 2.0.3
|
418
380
|
signing_key:
|
419
|
-
specification_version:
|
381
|
+
specification_version: 4
|
420
382
|
summary: OpenShift Client Tools
|
421
|
-
test_files:
|
422
|
-
- spec/
|
383
|
+
test_files:
|
384
|
+
- spec/spec_helper.rb
|
423
385
|
- spec/wizard_spec_helper.rb
|
424
|
-
- spec/
|
425
|
-
- spec/
|
426
|
-
- spec/rhc/
|
427
|
-
- spec/rhc/
|
428
|
-
- spec/rhc/
|
429
|
-
- spec/rhc/
|
430
|
-
- spec/rhc/assets/empty.txt
|
431
|
-
- spec/rhc/assets/cert_key_rsa
|
432
|
-
- spec/rhc/assets/targz_sample.tar.gz
|
433
|
-
- spec/rhc/assets/targz_corrupted.tar.gz
|
434
|
-
- spec/rhc/assets/cert.crt
|
435
|
-
- spec/rhc/assets/foo.txt
|
436
|
-
- spec/rhc/context_spec.rb
|
437
|
-
- spec/rhc/highline_extensions_spec.rb
|
438
|
-
- spec/rhc/command_spec.rb
|
439
|
-
- spec/rhc/cli_spec.rb
|
440
|
-
- spec/rhc/commands/setup_spec.rb
|
441
|
-
- spec/rhc/commands/tail_spec.rb
|
386
|
+
- spec/rest_spec_helper.rb
|
387
|
+
- spec/coverage_helper.rb
|
388
|
+
- spec/rhc/commands/ssh_spec.rb
|
389
|
+
- spec/rhc/commands/cartridge_spec.rb
|
390
|
+
- spec/rhc/commands/git_clone_spec.rb
|
391
|
+
- spec/rhc/commands/sshkey_spec.rb
|
442
392
|
- spec/rhc/commands/port_forward_spec.rb
|
443
393
|
- spec/rhc/commands/app_spec.rb
|
444
|
-
- spec/rhc/commands/
|
445
|
-
- spec/rhc/commands/sshkey_spec.rb
|
394
|
+
- spec/rhc/commands/setup_spec.rb
|
446
395
|
- spec/rhc/commands/threaddump_spec.rb
|
447
|
-
- spec/rhc/commands/server_spec.rb
|
448
|
-
- spec/rhc/commands/logout_spec.rb
|
449
396
|
- spec/rhc/commands/alias_spec.rb
|
450
|
-
- spec/rhc/commands/authorization_spec.rb
|
451
397
|
- spec/rhc/commands/account_spec.rb
|
452
|
-
- spec/rhc/commands/
|
453
|
-
- spec/rhc/commands/snapshot_spec.rb
|
454
|
-
- spec/rhc/commands/git_clone_spec.rb
|
398
|
+
- spec/rhc/commands/tail_spec.rb
|
455
399
|
- spec/rhc/commands/apps_spec.rb
|
400
|
+
- spec/rhc/commands/snapshot_spec.rb
|
401
|
+
- spec/rhc/commands/authorization_spec.rb
|
402
|
+
- spec/rhc/commands/logout_spec.rb
|
403
|
+
- spec/rhc/commands/domain_spec.rb
|
404
|
+
- spec/rhc/commands/server_spec.rb
|
405
|
+
- spec/rhc/targz_spec.rb
|
406
|
+
- spec/rhc/highline_extensions_spec.rb
|
456
407
|
- spec/rhc/json_spec.rb
|
457
|
-
- spec/rhc/
|
408
|
+
- spec/rhc/context_spec.rb
|
458
409
|
- spec/rhc/rest_application_spec.rb
|
459
|
-
- spec/
|
460
|
-
- spec/
|
410
|
+
- spec/rhc/helpers_spec.rb
|
411
|
+
- spec/rhc/wizard_spec.rb
|
412
|
+
- spec/rhc/rest_spec.rb
|
413
|
+
- spec/rhc/command_spec.rb
|
414
|
+
- spec/rhc/auth_spec.rb
|
415
|
+
- spec/rhc/config_spec.rb
|
416
|
+
- spec/rhc/rest_client_spec.rb
|
417
|
+
- spec/rhc/cli_spec.rb
|
418
|
+
- spec/rhc/assets/cert_key_rsa
|
419
|
+
- spec/rhc/assets/foo.txt
|
420
|
+
- spec/rhc/assets/targz_sample.tar.gz
|
421
|
+
- spec/rhc/assets/empty.txt
|
422
|
+
- spec/rhc/assets/cert.crt
|
423
|
+
- spec/rhc/assets/targz_corrupted.tar.gz
|
461
424
|
- spec/keys/server.pem
|
462
|
-
- spec/keys/example.pem
|
463
425
|
- spec/keys/example_private.pem
|
464
|
-
-
|
465
|
-
- features/
|
466
|
-
- features/step_definitions/application_steps.rb
|
467
|
-
- features/step_definitions/client_steps.rb
|
468
|
-
- features/step_definitions/cartridge_steps.rb
|
469
|
-
- features/step_definitions/domain_steps.rb
|
470
|
-
- features/step_definitions/sshkey_steps.rb
|
426
|
+
- spec/keys/example.pem
|
427
|
+
- features/scaled_application.feature
|
471
428
|
- features/cartridge.feature
|
472
|
-
- features/README.md
|
473
429
|
- features/support/before_hooks.rb
|
474
|
-
- features/support/
|
430
|
+
- features/support/assumptions.rb
|
475
431
|
- features/support/key2.pub
|
432
|
+
- features/support/key1.pub
|
476
433
|
- features/support/key1
|
477
|
-
- features/support/key2
|
478
|
-
- features/support/assumptions.rb
|
479
|
-
- features/support/platform_support.rb
|
480
434
|
- features/support/key3.pub
|
481
435
|
- features/support/env.rb
|
482
|
-
- features/
|
483
|
-
- features/
|
484
|
-
- features/
|
485
|
-
- features/verify.feature
|
486
|
-
- features/geared_application.feature
|
487
|
-
- features/lib/rhc_helper/httpify.rb
|
488
|
-
- features/lib/rhc_helper/api.rb
|
436
|
+
- features/support/platform_support.rb
|
437
|
+
- features/support/key2
|
438
|
+
- features/lib/rhc_helper/loggable.rb
|
489
439
|
- features/lib/rhc_helper/domain.rb
|
490
440
|
- features/lib/rhc_helper/cartridge.rb
|
491
441
|
- features/lib/rhc_helper/commandify.rb
|
492
|
-
- features/lib/rhc_helper/
|
493
|
-
- features/lib/rhc_helper/runnable.rb
|
442
|
+
- features/lib/rhc_helper/api.rb
|
494
443
|
- features/lib/rhc_helper/sshkey.rb
|
495
|
-
- features/lib/rhc_helper/loggable.rb
|
496
444
|
- features/lib/rhc_helper/app.rb
|
445
|
+
- features/lib/rhc_helper/persistable.rb
|
446
|
+
- features/lib/rhc_helper/runnable.rb
|
447
|
+
- features/lib/rhc_helper/httpify.rb
|
497
448
|
- features/lib/rhc_helper.rb
|
449
|
+
- features/multiple_cartridge.feature
|
450
|
+
- features/README.md
|
451
|
+
- features/geared_application.feature
|
452
|
+
- features/client.feature
|
453
|
+
- features/verify.feature
|
498
454
|
- features/domain.feature
|
455
|
+
- features/sshkey.feature
|
456
|
+
- features/application.feature
|
457
|
+
- features/step_definitions/sshkey_steps.rb
|
458
|
+
- features/step_definitions/application_steps.rb
|
459
|
+
- features/step_definitions/client_steps.rb
|
460
|
+
- features/step_definitions/cartridge_steps.rb
|
461
|
+
- features/step_definitions/domain_steps.rb
|