saucelabs-adapter 0.8.7 → 0.8.8
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.
- data/Rakefile +0 -1
- data/VERSION +1 -1
- data/lib/saucelabs_adapter/selenium_config.rb +10 -2
- data/lib/saucelabs_adapter/tunnels/sauce_tunnel.rb +3 -0
- data/spec/selenium_config_spec.rb +16 -2
- data/spec/spec_helper.rb +5 -0
- metadata +4 -3
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.8.
|
1
|
+
0.8.8
|
@@ -86,8 +86,8 @@ module SaucelabsAdapter
|
|
86
86
|
|
87
87
|
def create_driver(selenium_args = {})
|
88
88
|
args = selenium_client_driver_args.merge(selenium_args)
|
89
|
-
|
90
|
-
|
89
|
+
say "Connecting to Selenium RC server at #{args[:host]}:#{args[:port]} (testing app at #{args[:url]})"
|
90
|
+
say "args = #{display_safely(args)}"
|
91
91
|
driver = ::Selenium::Client::Driver.new(args)
|
92
92
|
debug "done"
|
93
93
|
driver
|
@@ -104,6 +104,14 @@ module SaucelabsAdapter
|
|
104
104
|
|
105
105
|
private
|
106
106
|
|
107
|
+
def display_safely(selenium_args)
|
108
|
+
safe = selenium_args.dup
|
109
|
+
safe[:browser] = JSON.parse( safe[:browser])
|
110
|
+
safe[:browser]['access-key'] = safe[:browser]['access-key'][0..4] + '...'
|
111
|
+
safe[:browser] = safe[:browser].to_json
|
112
|
+
safe.inspect
|
113
|
+
end
|
114
|
+
|
107
115
|
def build_configuration(configuration_name)
|
108
116
|
@configuration = @@selenium_configs[configuration_name]
|
109
117
|
raise "[saucelabs-adapter] stanza '#{configuration_name}' not found in #{@selenium_yml}" unless @configuration
|
@@ -2,6 +2,8 @@ require 'net/ssh'
|
|
2
2
|
require 'net/ssh/gateway'
|
3
3
|
require 'saucerest-ruby/saucerest'
|
4
4
|
require 'saucerest-ruby/gateway'
|
5
|
+
require 'saucelabs_adapter/run_utils'
|
6
|
+
|
5
7
|
|
6
8
|
module SaucelabsAdapter
|
7
9
|
class SauceTunnel < Tunnel
|
@@ -95,6 +97,7 @@ module SaucelabsAdapter
|
|
95
97
|
|
96
98
|
def setup_ssh_reverse_tunnel
|
97
99
|
debug "Starting ssh reverse tunnel"
|
100
|
+
RunUtils.run("sed -i.backup -e '/#{Regexp.escape(@tunnel_info['Host'])}/d' #{ENV['HOME']}/.ssh/known_hosts", :raise_on_fail => false)
|
98
101
|
@gateway = Net::SSH::Gateway.new(@tunnel_info['Host'], @se_config.saucelabs_username, {:password => @se_config.saucelabs_access_key})
|
99
102
|
@port = @gateway.open_remote(@se_config.tunnel_to_localhost_port.to_i, "127.0.0.1", @se_config.application_port.to_i, "0.0.0.0")
|
100
103
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require '
|
2
|
-
require 'active_support'
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper')
|
3
2
|
# Don't pull in the entire saucelabs-adapter otherwise it will complain about: undefined method `setup' for ActiveSupport::TestCase:Class
|
4
3
|
# Apparently this is added from outside
|
5
4
|
require 'saucelabs_adapter/utilities'
|
6
5
|
require 'saucelabs_adapter/selenium_config'
|
6
|
+
require 'json'
|
7
7
|
|
8
8
|
SELENIUM_YML_FIXTURE_FILE = File.join(File.dirname(__FILE__), 'fixtures', 'selenium.yml')
|
9
9
|
|
@@ -103,6 +103,20 @@ describe "SeleniumConfig" do
|
|
103
103
|
it "should contain a job_name of our hostname" do
|
104
104
|
@browser_data['job-name'].should == Socket.gethostname
|
105
105
|
end
|
106
|
+
|
107
|
+
describe "#display_safely" do
|
108
|
+
it "should mask all but the first 5 characters of :browser=>access-key" do
|
109
|
+
private_key = "abcdefgh-ijkl-mnop-qrst-uvwxyz0123456"
|
110
|
+
@browser_data['otherkey'] = 'foo'
|
111
|
+
@browser_data['access-key'] = private_key
|
112
|
+
hash_with_browser_json = {:browser => @browser_data.to_json}
|
113
|
+
display_string = @selenium_config.send(:display_safely, hash_with_browser_json)
|
114
|
+
|
115
|
+
display_string.should match(/access-key.*:.*abcde\.\.\./)
|
116
|
+
display_string.should_not match(/"#{private_key}/)
|
117
|
+
display_string.should match(/otherkey.*:.*foo/)
|
118
|
+
end
|
119
|
+
end
|
106
120
|
end
|
107
121
|
|
108
122
|
describe "#configure_polonium" do
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 8
|
8
|
-
-
|
9
|
-
version: 0.8.
|
8
|
+
- 8
|
9
|
+
version: 0.8.8
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Kelly Felkins, Chad Woolley, Sam Pierson, Nate Clark
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-06-15 00:00:00 -06:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -151,5 +151,6 @@ specification_version: 3
|
|
151
151
|
summary: Adapter for running Selenium tests using SauceLabs.com
|
152
152
|
test_files:
|
153
153
|
- spec/selenium_config_spec.rb
|
154
|
+
- spec/spec_helper.rb
|
154
155
|
- test/helper.rb
|
155
156
|
- test/test_saucelabs-adapter.rb
|