sauce 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +6 -0
- data/VERSION +1 -1
- data/examples/helper.rb +16 -0
- data/{spec → examples}/other_spec.rb +1 -1
- data/{spec → examples}/saucelabs_spec.rb +1 -1
- data/examples/test_saucelabs.rb +13 -0
- data/examples/test_saucelabs2.rb +9 -0
- data/lib/sauce/integrations.rb +63 -0
- metadata +14 -8
data/Rakefile
CHANGED
@@ -31,6 +31,12 @@ Rake::TestTask.new(:test) do |test|
|
|
31
31
|
test.verbose = true
|
32
32
|
end
|
33
33
|
|
34
|
+
Rake::TestTask.new(:examples) do |test|
|
35
|
+
test.libs << 'lib' << 'examples'
|
36
|
+
test.pattern = 'examples/test_*.rb'
|
37
|
+
test.verbose = true
|
38
|
+
end
|
39
|
+
|
34
40
|
begin
|
35
41
|
require 'rcov/rcovtask'
|
36
42
|
Rcov::RcovTask.new do |test|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.9.0
|
data/examples/helper.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
4
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
5
|
+
require 'sauce'
|
6
|
+
|
7
|
+
Sauce.config do |config|
|
8
|
+
config.browsers = [
|
9
|
+
["Linux", "firefox", "3.6."],
|
10
|
+
#["Windows 2003", "safariproxy", "5."]
|
11
|
+
]
|
12
|
+
config.browser_url = "http://saucelabs.com"
|
13
|
+
|
14
|
+
#config.application_host = "localhost"
|
15
|
+
#config.application_port = "4444"
|
16
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "helper")
|
2
|
+
|
3
|
+
class TestSaucelabs < Sauce::TestCase
|
4
|
+
def test_basic_functionality
|
5
|
+
selenium.open "/"
|
6
|
+
assert page.is_text_present("Sauce Labs")
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_pricing_page
|
10
|
+
selenium.open "/pricing"
|
11
|
+
assert page.is_text_present("$")
|
12
|
+
end
|
13
|
+
end
|
data/lib/sauce/integrations.rb
CHANGED
@@ -47,3 +47,66 @@ begin
|
|
47
47
|
rescue LoadError
|
48
48
|
# User doesn't have RSpec installed
|
49
49
|
end
|
50
|
+
|
51
|
+
begin
|
52
|
+
require 'test/unit'
|
53
|
+
module Sauce
|
54
|
+
class TestCase < Test::Unit::TestCase
|
55
|
+
attr_reader :selenium
|
56
|
+
|
57
|
+
alias_method :page, :selenium
|
58
|
+
alias_method :s, :selenium
|
59
|
+
|
60
|
+
def run(*args, &blk)
|
61
|
+
unless name =~ /^default_test/
|
62
|
+
config = Sauce::Config.new
|
63
|
+
config.browsers.each do |os, browser, version|
|
64
|
+
@selenium = Sauce::Selenium.new({:os => os, :browser => browser, :browser_version => version,
|
65
|
+
:job_name => "#{name}"})
|
66
|
+
@selenium.start
|
67
|
+
super(*args, &blk)
|
68
|
+
@selenium.stop
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
# Placeholder so test/unit ignores test cases without any tests.
|
74
|
+
def default_test
|
75
|
+
end
|
76
|
+
|
77
|
+
def self.ensure_tunnel_running
|
78
|
+
unless defined?(@tunnel)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
require 'test/unit/ui/console/testrunner'
|
84
|
+
class Test::Unit::UI::Console::TestRunner
|
85
|
+
def attach_to_mediator_with_sauce_tunnel
|
86
|
+
@mediator.add_listener(Test::Unit::UI::TestRunnerMediator::STARTED, &method(:start_tunnel))
|
87
|
+
@mediator.add_listener(Test::Unit::UI::TestRunnerMediator::FINISHED, &method(:stop_tunnel))
|
88
|
+
attach_to_mediator_without_sauce_tunnel
|
89
|
+
end
|
90
|
+
|
91
|
+
alias_method :attach_to_mediator_without_sauce_tunnel, :attach_to_mediator
|
92
|
+
alias_method :attach_to_mediator, :attach_to_mediator_with_sauce_tunnel
|
93
|
+
|
94
|
+
private
|
95
|
+
|
96
|
+
def start_tunnel(msg)
|
97
|
+
config = Sauce::Config.new
|
98
|
+
if config.application_host
|
99
|
+
@sauce_tunnel = Sauce::Connect.new(:host => config.application_host, :port => config.application_port || 80)
|
100
|
+
@sauce_tunnel.wait_until_ready
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
def stop_tunnel(msg)
|
105
|
+
if defined? @sauce_tunnel
|
106
|
+
@sauce_tunnel.disconnect
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
rescue LoadError
|
111
|
+
# User doesn't have Test::Unit installed
|
112
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sauce
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 59
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 9
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.9.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Sean Grove
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-10-
|
19
|
+
date: 2010-10-27 00:00:00 -07:00
|
20
20
|
default_executable: sauce
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -140,6 +140,11 @@ files:
|
|
140
140
|
- Rakefile
|
141
141
|
- VERSION
|
142
142
|
- bin/sauce
|
143
|
+
- examples/helper.rb
|
144
|
+
- examples/other_spec.rb
|
145
|
+
- examples/saucelabs_spec.rb
|
146
|
+
- examples/test_saucelabs.rb
|
147
|
+
- examples/test_saucelabs2.rb
|
143
148
|
- lib/sauce.rb
|
144
149
|
- lib/sauce/client.rb
|
145
150
|
- lib/sauce/config.rb
|
@@ -150,8 +155,6 @@ files:
|
|
150
155
|
- lib/sauce/job.rb
|
151
156
|
- lib/sauce/selenium.rb
|
152
157
|
- lib/sauce/tunnel.rb
|
153
|
-
- spec/other_spec.rb
|
154
|
-
- spec/saucelabs_spec.rb
|
155
158
|
- support/sauce_connect
|
156
159
|
- support/simplejson/LICENSE.txt
|
157
160
|
- support/simplejson/__init__.py
|
@@ -201,11 +204,14 @@ signing_key:
|
|
201
204
|
specification_version: 3
|
202
205
|
summary: Ruby access to Sauce Labs' features
|
203
206
|
test_files:
|
204
|
-
- spec/other_spec.rb
|
205
|
-
- spec/saucelabs_spec.rb
|
206
207
|
- test/helper.rb
|
207
208
|
- test/test_config.rb
|
208
209
|
- test/test_connect.rb
|
209
210
|
- test/test_jobs.rb
|
210
211
|
- test/test_selenium.rb
|
211
212
|
- test/test_tunnels.rb
|
213
|
+
- examples/helper.rb
|
214
|
+
- examples/other_spec.rb
|
215
|
+
- examples/saucelabs_spec.rb
|
216
|
+
- examples/test_saucelabs.rb
|
217
|
+
- examples/test_saucelabs2.rb
|