Sha256: 24c916f73ce455fd34996170e0bbbd9d6b21af79de5639744c8231b19e870efd
Contents?: true
Size: 1.4 KB
Versions: 5
Compression:
Stored size: 1.4 KB
Contents
require 'spec_helper' describe Aptible::CLI::Helpers::Tunnel do include_context 'mock ssh' it 'opens a tunnel' do helper = described_class.new({}, ['ssh'], '/some.sock') helper.start(0) helper.stop mock_argv = read_mock_argv expect(mock_argv.size).to eq(4) expect(mock_argv.shift).to eq('-L') expect(mock_argv.shift).to match(%r{\d+:/some\.sock$}) expect(mock_argv.shift).to eq('-o') expect(mock_argv.shift).to eq('ExitOnForwardFailure=yes') end it 'accepts a desired local port' do helper = described_class.new({}, ['ssh'], '/some.sock') helper.start(5678) helper.stop mock_argv = read_mock_argv expect(mock_argv.size).to eq(4) expect(mock_argv.shift).to eq('-L') expect(mock_argv.shift).to eq('5678:/some.sock') end it 'captures and displays tunnel errors' do helper = described_class.new({ 'FAIL_TUNNEL' => '1' }, ['ssh'], '/some.sock') expect { helper.start(0) } .to raise_error(/Tunnel did not come up.*Something went wrong/m) end it 'should fail if #port is called before #start' do socat = described_class.new({}, [], '/some.sock') expect { socat.port }.to raise_error(/You must call #start/) end it 'should fail if #stop is called before #start' do socat = described_class.new({}, [], '/some.sock') expect { socat.stop }.to raise_error(/You must call #start/) end end
Version data entries
5 entries across 5 versions & 1 rubygems