Class: SaucelabsAdapter::SauceConnectTunnel

Inherits:
Tunnel
  • Object
show all
Includes:
Utilities
Defined in:
lib/saucelabs_adapter/tunnels/sauce_connect_tunnel.rb

Instance Method Summary collapse

Methods included from Utilities

#debug, #diagnostics_prefix, #find_unused_port, #kill_mongrel_if_needed, #raise_with_message, #say, #setup_tunnel, #start_mongrel, #teardown_tunnel

Methods inherited from Tunnel

factory, #initialize

Constructor Details

This class inherits a constructor from SaucelabsAdapter::Tunnel

Instance Method Details

#shutdownObject



32
33
34
35
# File 'lib/saucelabs_adapter/tunnels/sauce_connect_tunnel.rb', line 32

def shutdown
  say "Shutdown for Sauce Connect Tunnel..."
  @sauce_tunnel.disconnect
end

#start_tunnelObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/saucelabs_adapter/tunnels/sauce_connect_tunnel.rb', line 8

def start_tunnel
  say "Setting up sauce connect tunnel from Saucelabs..."
  # sauce connect --user=<saucelabs_username> --api-key=<saucelabs_access_key> --host=localhost --port=8080 --domain='<local hostname>-<pid>.com'
  # --logfile=/tmp/sauce_connect.log --debug-ssh

  sauce_connect_args = {
    :user => @se_config.saucelabs_username,
    :'api-key' => @se_config.saucelabs_access_key,
    :host => 'localhost',
    :port => @se_config.application_port,
    :tunnel_port => @se_config.tunnel_to_localhost_port,
    :domain => @se_config.application_address,
    :logfile => '/tmp/sauce_connect.log',
    :'debug-ssh' => true
  }

  say "Setting up sauce connect tunnel from Saucelabs: #{sauce_connect_args.inspect}"
  @sauce_tunnel = Sauce::Connect.new(sauce_connect_args)
  say "Waiting for sauce connect tunnel to be ready..."
  @sauce_tunnel.wait_until_ready
  sleep 2
  say "Sauce connect tunnel ready."
end