sauce 2.3.2 → 2.3.3

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/bin/sauce CHANGED
@@ -46,7 +46,7 @@ class ConfigureCommand < CmdParse::Command
46
46
  end
47
47
  end
48
48
  configure = ConfigureCommand.new('configure', false)
49
- configure.short_desc = "Configure Sauce OnDemand credentials"
49
+ configure.short_desc = "Configure Sauce Labs credentials"
50
50
  configure.set_execution_block do |args|
51
51
  if args.length < 2
52
52
  puts configure.usage
@@ -65,7 +65,7 @@ cmd.add_command(configure)
65
65
 
66
66
  #create
67
67
  create = CmdParse::Command.new('create', false)
68
- create.short_desc = "Create a new Sauce OnDemand account"
68
+ create.short_desc = "Create a new Sauce Labs account"
69
69
  create.set_execution_block do |args|
70
70
  puts "Let's create a new account!"
71
71
  username = ask("Username: ")
@@ -60,14 +60,25 @@ module Sauce
60
60
  alias :base_within_frame :within_frame
61
61
  alias :base_within_window :within_window
62
62
  alias :base_find_window :find_window
63
- alias :base_body :body
64
- alias :base_source :source
65
63
  alias :base_execute_script :execute_script
66
64
  alias :base_evaluate_script :evaluate_script
67
65
 
68
- [:find, :visit, :current_url, :reset!, :within_frame,
69
- :within_window, :find_window, :body, :source,
70
- :execute_script, :evaluate_script].each do |method|
66
+ @methods_to_retry = [ :find, :visit, :current_url, :reset!,
67
+ :within_frame, :within_window, :find_window, :source,
68
+ :execute_script, :evaluate_script
69
+ ]
70
+
71
+ if Gem::Version.new(::Capybara::VERSION) < Gem::Version.new(2)
72
+ alias :base_body :body
73
+ alias :base_source :source
74
+
75
+ @methods_to_retry + [:body, :source]
76
+ else
77
+ alias :base_html :html
78
+ @methods_to_retry + [:html]
79
+ end
80
+
81
+ @methods_to_retry.each do |method|
71
82
  define_method(method) do |*args, &block|
72
83
  handle_retry(method, *args, &block)
73
84
  end
@@ -34,7 +34,7 @@ module Sauce
34
34
  ENVIRONMENT_VARIABLES = %w{SAUCE_HOST SAUCE_PORT SAUCE_BROWSER_URL SAUCE_USERNAME
35
35
  SAUCE_ACCESS_KEY SAUCE_OS SAUCE_BROWSER SAUCE_BROWSER_VERSION SAUCE_JOB_NAME
36
36
  SAUCE_FIREFOX_PROFILE_URL SAUCE_USER_EXTENSIONS_URL
37
- SAUCE_ONDEMAND_BROWSERS SAUCE_USERNAME SAUCE_API_KEY}
37
+ SAUCE_ONDEMAND_BROWSERS SAUCE_USER_NAME SAUCE_API_KEY}
38
38
 
39
39
  PLATFORMS = {
40
40
  "Windows 2003" => "WINDOWS",
@@ -0,0 +1,16 @@
1
+ require 'parallel_tests'
2
+
3
+ def start_tunnel_for_parallel_tests(c)
4
+ c[:start_tunnel] = ParallelTests.first_process?
5
+ if ParallelTests.first_process?
6
+ at_exit do
7
+ if ParallelTests.first_process?
8
+ ParallelTests.wait_for_other_processes_to_finish
9
+ end
10
+ end
11
+ else
12
+ while not File.exist? "sauce_connect.ready"
13
+ sleep 0.5
14
+ end
15
+ end
16
+ end
@@ -42,6 +42,48 @@ describe Sauce::Capybara do
42
42
  let(:app) { double('Mock App for Driver') }
43
43
  let(:driver) { Sauce::Capybara::Driver.new(app) }
44
44
 
45
+ describe "#body" do
46
+ context "With Capybara 1.x", :capybara_version => 1 do
47
+ it "should not exist in version 2" do
48
+ driver.should respond_to :base_body
49
+ end
50
+ end
51
+
52
+ context "With Capybara 2.x", :capybara_version => 2 do
53
+ it "should not exist" do
54
+ driver.should_not respond_to :base_body
55
+ end
56
+ end
57
+ end
58
+
59
+ describe "#source" do
60
+ context "With Capybara 1", :capybara_version => 1 do
61
+ it "should exist" do
62
+ driver.should respond_to :base_source
63
+ end
64
+ end
65
+
66
+ context "with Capybara 2.x", :capybara_version => 2 do
67
+ it "should not exist" do
68
+ driver.should_not respond_to :base_source
69
+ end
70
+ end
71
+ end
72
+
73
+ describe "#html" do
74
+ context "With Capybara 1.x", :capybara_version => 1 do
75
+ it "should not exist" do
76
+ driver.should_not respond_to :base_html
77
+ end
78
+ end
79
+
80
+ context "With Capybara 2.x", :capybara_version => 2 do
81
+ it "should exist" do
82
+ driver.should respond_to :base_html
83
+ end
84
+ end
85
+ end
86
+
45
87
  describe '#finish' do
46
88
  let(:browser) { double('Sauce::Selenium2 mock') }
47
89
 
@@ -104,12 +104,12 @@ describe Sauce::Config do
104
104
  end
105
105
 
106
106
  it 'should create a browser string from the environment set by the jenkins plugin' do
107
- ENV['SAUCE_USER_NAME'] = 'test_user'
108
- ENV['SAUCE_API_KEY'] = 'test_access'
107
+ ENV['SAUCE_USERNAME'] = 'test_user'
108
+ ENV['SAUCE_ACCESS_KEY'] = 'test_access'
109
109
  ENV['SAUCE_OS'] = 'Linux'
110
110
  ENV['SAUCE_BROWSER'] = 'firefox'
111
111
  ENV['SAUCE_BROWSER_VERSION'] = '3.'
112
- ENV['JOB_NAME'] = 'Named Ruby Job'
112
+ ENV['SAUCE_JOB_NAME'] = 'Named Ruby Job'
113
113
 
114
114
  config = Sauce::Config.new
115
115
  browser_data = JSON.parse(config.to_browser_string)
@@ -241,6 +241,12 @@ describe Sauce::Config do
241
241
  end
242
242
 
243
243
  describe Sauce do
244
+
245
+ # Ensure any doubles are removed to stop other tests choking
246
+ after :all do
247
+ Sauce.clear_config
248
+ end
249
+
244
250
  describe '#get_config' do
245
251
  context 'when #config has never been called' do
246
252
  # See: <https://github.com/sauce-labs/sauce_ruby/issues/59>
@@ -250,10 +256,6 @@ describe Sauce do
250
256
  Sauce.instance_variable_set(:@cfg, nil)
251
257
  end
252
258
 
253
- after :all do
254
-
255
- end
256
-
257
259
  it 'should return a newly created Sauce::Config' do
258
260
  dummy_config = double('Sauce::Config')
259
261
  Sauce::Config.should_receive(:new).and_return(dummy_config)
@@ -5,4 +5,12 @@ $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
5
5
  end
6
6
 
7
7
  require 'sauce'
8
+ require 'capybara'
8
9
 
10
+ RSpec.configure do |c|
11
+ if Gem::Version.new(Capybara::VERSION) < Gem::Version.new(2)
12
+ c.filter_run_excluding :capybara_version => 2
13
+ else
14
+ c.filter_run_excluding :capybara_version => 1
15
+ end
16
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sauce
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.3.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2013-02-27 00:00:00.000000000 Z
17
+ date: 2013-03-20 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: net-http-persistent
@@ -32,22 +32,6 @@ dependencies:
32
32
  - - ! '>='
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
- - !ruby/object:Gem::Dependency
36
- name: capybara
37
- requirement: !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ~>
41
- - !ruby/object:Gem::Version
42
- version: 1.1.0
43
- type: :runtime
44
- prerelease: false
45
- version_requirements: !ruby/object:Gem::Requirement
46
- none: false
47
- requirements:
48
- - - ~>
49
- - !ruby/object:Gem::Version
50
- version: 1.1.0
51
35
  - !ruby/object:Gem::Dependency
52
36
  name: rest-client
53
37
  requirement: !ruby/object:Gem::Requirement
@@ -176,8 +160,8 @@ dependencies:
176
160
  - - ! '>='
177
161
  - !ruby/object:Gem::Version
178
162
  version: 1.5.0
179
- description: A Ruby helper for running tests in Sauce OnDemand, Sauce Labs' browsers
180
- in the cloud service
163
+ description: A Ruby helper for running tests in Sauce Labs' browser testing cloud
164
+ service
181
165
  email: help@saucelabs.com
182
166
  executables:
183
167
  - sauce
@@ -191,6 +175,7 @@ files:
191
175
  - lib/sauce/heroku.rb
192
176
  - lib/sauce/integrations.rb
193
177
  - lib/sauce/job.rb
178
+ - lib/sauce/parallel.rb
194
179
  - lib/sauce/raketasks.rb
195
180
  - lib/sauce/selenium.rb
196
181
  - lib/sauce/utilities.rb
@@ -225,10 +210,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
210
  version: '0'
226
211
  requirements: []
227
212
  rubyforge_project:
228
- rubygems_version: 1.8.23
213
+ rubygems_version: 1.8.25
229
214
  signing_key:
230
215
  specification_version: 3
231
- summary: A Ruby helper for running tests in Sauce OnDemand
216
+ summary: A Ruby helper for running tests in Sauce Labs
232
217
  test_files:
233
218
  - spec/cucumber_helper.rb
234
219
  - spec/integration/connect_integration_spec.rb