sauce 0.12.4 → 0.12.5
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 +3 -2
- data/VERSION +1 -1
- data/bin/sauce +26 -20
- data/lib/generators/sauce_generator.rb +0 -4
- data/sauce.gemspec +118 -0
- metadata +30 -13
- data/.gitignore +0 -21
data/Rakefile
CHANGED
@@ -6,10 +6,10 @@ begin
|
|
6
6
|
Jeweler::Tasks.new do |gem|
|
7
7
|
gem.name = "sauce"
|
8
8
|
gem.summary = "Ruby access to Sauce Labs' features"
|
9
|
-
gem.description = "A
|
9
|
+
gem.description = "A Ruby interface to Sauce Labs' services. Start/stop tunnels, retrieve Selenium logs, access video replays, etc."
|
10
10
|
gem.email = "help@saucelabs.com"
|
11
11
|
gem.homepage = "http://github.com/saucelabs/sauce"
|
12
|
-
gem.authors = ["Sean Grove", "Eric Allen"]
|
12
|
+
gem.authors = ["Sean Grove", "Eric Allen", "Steven Hazel"]
|
13
13
|
gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
|
14
14
|
gem.add_runtime_dependency "rest-client", ">= 0"
|
15
15
|
gem.add_runtime_dependency "net-ssh", ">= 0"
|
@@ -17,6 +17,7 @@ begin
|
|
17
17
|
gem.add_runtime_dependency "selenium-client", ">= 1.2.18"
|
18
18
|
gem.add_runtime_dependency "json", ">= 1.4.6"
|
19
19
|
gem.add_runtime_dependency "cmdparse", ">= 2.0.2"
|
20
|
+
gem.add_runtime_dependency "highline", ">= 1.5.0"
|
20
21
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
21
22
|
end
|
22
23
|
Jeweler::GemcutterTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.12.
|
1
|
+
0.12.5
|
data/bin/sauce
CHANGED
@@ -4,6 +4,8 @@ require 'rubygems'
|
|
4
4
|
require 'cmdparse'
|
5
5
|
require 'yaml'
|
6
6
|
require 'fileutils'
|
7
|
+
require 'json'
|
8
|
+
require 'highline/import'
|
7
9
|
|
8
10
|
sauce_dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
|
9
11
|
$LOAD_PATH.unshift(sauce_dir) unless $LOAD_PATH.include?(sauce_dir)
|
@@ -25,7 +27,7 @@ else
|
|
25
27
|
configure = CmdParse::Command.new('configure', false)
|
26
28
|
configure.short_desc = "Configure Sauce OnDemand credentials"
|
27
29
|
configure.set_execution_block do |args|
|
28
|
-
if args.length < 2
|
30
|
+
if args.length < 2:
|
29
31
|
puts "Usage: sauce configure USERNAME ACCESS_KEY"
|
30
32
|
exit 1
|
31
33
|
end
|
@@ -45,30 +47,34 @@ else
|
|
45
47
|
create.short_desc = "Create a new Sauce OnDemand account"
|
46
48
|
create.set_execution_block do |args|
|
47
49
|
puts "Let's create a new account!"
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
print "password confirmation: "
|
53
|
-
password_confirmation = $stdin.gets.chomp
|
54
|
-
print "email: "
|
55
|
-
email = $stdin.gets.chomp
|
56
|
-
print "Full name: "
|
57
|
-
name = $stdin.gets.chomp
|
50
|
+
username = ask("Username: ")
|
51
|
+
password = ask("Password: ") { |q| q.echo = "*" }
|
52
|
+
email = ask("Email: ")
|
53
|
+
name = ask("Full name: ")
|
58
54
|
|
59
|
-
|
60
|
-
result = RestClient.post "http://saucelabs.com/rest/v1/users",
|
61
|
-
{
|
55
|
+
body = {
|
62
56
|
:username => username,
|
63
57
|
:password => password,
|
64
|
-
:password_confirmation => password_confirmation,
|
65
58
|
:email => email,
|
66
|
-
:
|
67
|
-
:
|
68
|
-
}.to_json
|
69
|
-
:content_type => :json, :accept => :json
|
59
|
+
:name => name,
|
60
|
+
:token => "c8eb3e2645005bcbbce7e2c208c6b7a71555d908"
|
61
|
+
}.to_json
|
70
62
|
|
71
|
-
|
63
|
+
begin
|
64
|
+
result = RestClient.post("http://saucelabs.com/rest/v1/users",
|
65
|
+
body, :content_type => :json, :accept => :json)
|
66
|
+
rescue => e
|
67
|
+
begin
|
68
|
+
puts "ERROR: #{JSON.load(e.response)['errors']}"
|
69
|
+
rescue
|
70
|
+
puts "ERROR: #{e.response}"
|
71
|
+
end
|
72
|
+
else
|
73
|
+
result = JSON.load(result)
|
74
|
+
|
75
|
+
puts "Account #{username} created successfully."
|
76
|
+
puts "Your access key is: #{result['access_key']}"
|
77
|
+
end
|
72
78
|
end
|
73
79
|
|
74
80
|
cmd.add_command(create)
|
@@ -8,10 +8,6 @@ class SauceGenerator < Rails::Generators::Base
|
|
8
8
|
copy_file "sauce.rake", "lib/tasks/sauce.rake"
|
9
9
|
end
|
10
10
|
|
11
|
-
def configure_credentials
|
12
|
-
system("sauce config #{username} #{api_key}")
|
13
|
-
end
|
14
|
-
|
15
11
|
def setup_spec
|
16
12
|
if File.directory? 'spec'
|
17
13
|
empty_directory "spec/selenium"
|
data/sauce.gemspec
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{sauce}
|
8
|
+
s.version = "0.12.5"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Sean Grove", "Eric Allen", "Steven Hazel"]
|
12
|
+
s.date = %q{2011-01-15}
|
13
|
+
s.default_executable = %q{sauce}
|
14
|
+
s.description = %q{A Ruby interface to Sauce Labs' services. Start/stop tunnels, retrieve Selenium logs, access video replays, etc.}
|
15
|
+
s.email = %q{help@saucelabs.com}
|
16
|
+
s.executables = ["sauce"]
|
17
|
+
s.extra_rdoc_files = [
|
18
|
+
"LICENSE",
|
19
|
+
"README.markdown"
|
20
|
+
]
|
21
|
+
s.files = [
|
22
|
+
".document",
|
23
|
+
"LICENSE",
|
24
|
+
"README.markdown",
|
25
|
+
"Rakefile",
|
26
|
+
"VERSION",
|
27
|
+
"bin/sauce",
|
28
|
+
"examples/helper.rb",
|
29
|
+
"examples/other_spec.rb",
|
30
|
+
"examples/saucelabs_spec.rb",
|
31
|
+
"examples/test_saucelabs.rb",
|
32
|
+
"examples/test_saucelabs2.rb",
|
33
|
+
"generators/sauce/sauce_generator.rb",
|
34
|
+
"generators/sauce/templates/sauce.rake",
|
35
|
+
"lib/generators/sauce_generator.rb",
|
36
|
+
"lib/generators/templates/sauce.rake",
|
37
|
+
"lib/sauce.rb",
|
38
|
+
"lib/sauce/client.rb",
|
39
|
+
"lib/sauce/config.rb",
|
40
|
+
"lib/sauce/connect.rb",
|
41
|
+
"lib/sauce/gateway_ext.rb",
|
42
|
+
"lib/sauce/heroku.rb",
|
43
|
+
"lib/sauce/integrations.rb",
|
44
|
+
"lib/sauce/job.rb",
|
45
|
+
"lib/sauce/raketasks.rb",
|
46
|
+
"lib/sauce/selenium.rb",
|
47
|
+
"lib/sauce/tunnel.rb",
|
48
|
+
"lib/sauce/utilities.rb",
|
49
|
+
"sauce.gemspec",
|
50
|
+
"support/sauce_connect",
|
51
|
+
"support/selenium-server.jar",
|
52
|
+
"support/simplejson/LICENSE.txt",
|
53
|
+
"support/simplejson/__init__.py",
|
54
|
+
"support/simplejson/decoder.py",
|
55
|
+
"support/simplejson/encoder.py",
|
56
|
+
"support/simplejson/ordered_dict.py",
|
57
|
+
"support/simplejson/scanner.py",
|
58
|
+
"support/simplejson/tool.py",
|
59
|
+
"test/helper.rb",
|
60
|
+
"test/test_config.rb",
|
61
|
+
"test/test_connect.rb",
|
62
|
+
"test/test_jobs.rb",
|
63
|
+
"test/test_selenium.rb",
|
64
|
+
"test/test_tunnels.rb"
|
65
|
+
]
|
66
|
+
s.homepage = %q{http://github.com/saucelabs/sauce}
|
67
|
+
s.require_paths = ["lib"]
|
68
|
+
s.rubygems_version = %q{1.3.7}
|
69
|
+
s.summary = %q{Ruby access to Sauce Labs' features}
|
70
|
+
s.test_files = [
|
71
|
+
"examples/helper.rb",
|
72
|
+
"examples/other_spec.rb",
|
73
|
+
"examples/saucelabs_spec.rb",
|
74
|
+
"examples/test_saucelabs.rb",
|
75
|
+
"examples/test_saucelabs2.rb",
|
76
|
+
"test/helper.rb",
|
77
|
+
"test/test_config.rb",
|
78
|
+
"test/test_connect.rb",
|
79
|
+
"test/test_jobs.rb",
|
80
|
+
"test/test_selenium.rb",
|
81
|
+
"test/test_tunnels.rb"
|
82
|
+
]
|
83
|
+
|
84
|
+
if s.respond_to? :specification_version then
|
85
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
86
|
+
s.specification_version = 3
|
87
|
+
|
88
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
89
|
+
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
90
|
+
s.add_runtime_dependency(%q<rest-client>, [">= 0"])
|
91
|
+
s.add_runtime_dependency(%q<net-ssh>, [">= 0"])
|
92
|
+
s.add_runtime_dependency(%q<net-ssh-gateway>, [">= 0"])
|
93
|
+
s.add_runtime_dependency(%q<selenium-client>, [">= 1.2.18"])
|
94
|
+
s.add_runtime_dependency(%q<json>, [">= 1.4.6"])
|
95
|
+
s.add_runtime_dependency(%q<cmdparse>, [">= 2.0.2"])
|
96
|
+
s.add_runtime_dependency(%q<highline>, [">= 1.5.0"])
|
97
|
+
else
|
98
|
+
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
99
|
+
s.add_dependency(%q<rest-client>, [">= 0"])
|
100
|
+
s.add_dependency(%q<net-ssh>, [">= 0"])
|
101
|
+
s.add_dependency(%q<net-ssh-gateway>, [">= 0"])
|
102
|
+
s.add_dependency(%q<selenium-client>, [">= 1.2.18"])
|
103
|
+
s.add_dependency(%q<json>, [">= 1.4.6"])
|
104
|
+
s.add_dependency(%q<cmdparse>, [">= 2.0.2"])
|
105
|
+
s.add_dependency(%q<highline>, [">= 1.5.0"])
|
106
|
+
end
|
107
|
+
else
|
108
|
+
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
109
|
+
s.add_dependency(%q<rest-client>, [">= 0"])
|
110
|
+
s.add_dependency(%q<net-ssh>, [">= 0"])
|
111
|
+
s.add_dependency(%q<net-ssh-gateway>, [">= 0"])
|
112
|
+
s.add_dependency(%q<selenium-client>, [">= 1.2.18"])
|
113
|
+
s.add_dependency(%q<json>, [">= 1.4.6"])
|
114
|
+
s.add_dependency(%q<cmdparse>, [">= 2.0.2"])
|
115
|
+
s.add_dependency(%q<highline>, [">= 1.5.0"])
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
metadata
CHANGED
@@ -1,22 +1,23 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sauce
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 37
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 12
|
9
|
-
-
|
10
|
-
version: 0.12.
|
9
|
+
- 5
|
10
|
+
version: 0.12.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Sean Grove
|
14
14
|
- Eric Allen
|
15
|
+
- Steven Hazel
|
15
16
|
autorequire:
|
16
17
|
bindir: bin
|
17
18
|
cert_chain: []
|
18
19
|
|
19
|
-
date:
|
20
|
+
date: 2011-01-15 00:00:00 -08:00
|
20
21
|
default_executable: sauce
|
21
22
|
dependencies:
|
22
23
|
- !ruby/object:Gem::Dependency
|
@@ -123,7 +124,23 @@ dependencies:
|
|
123
124
|
version: 2.0.2
|
124
125
|
type: :runtime
|
125
126
|
version_requirements: *id007
|
126
|
-
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: highline
|
129
|
+
prerelease: false
|
130
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
132
|
+
requirements:
|
133
|
+
- - ">="
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
hash: 3
|
136
|
+
segments:
|
137
|
+
- 1
|
138
|
+
- 5
|
139
|
+
- 0
|
140
|
+
version: 1.5.0
|
141
|
+
type: :runtime
|
142
|
+
version_requirements: *id008
|
143
|
+
description: A Ruby interface to Sauce Labs' services. Start/stop tunnels, retrieve Selenium logs, access video replays, etc.
|
127
144
|
email: help@saucelabs.com
|
128
145
|
executables:
|
129
146
|
- sauce
|
@@ -134,7 +151,6 @@ extra_rdoc_files:
|
|
134
151
|
- README.markdown
|
135
152
|
files:
|
136
153
|
- .document
|
137
|
-
- .gitignore
|
138
154
|
- LICENSE
|
139
155
|
- README.markdown
|
140
156
|
- Rakefile
|
@@ -161,6 +177,7 @@ files:
|
|
161
177
|
- lib/sauce/selenium.rb
|
162
178
|
- lib/sauce/tunnel.rb
|
163
179
|
- lib/sauce/utilities.rb
|
180
|
+
- sauce.gemspec
|
164
181
|
- support/sauce_connect
|
165
182
|
- support/selenium-server.jar
|
166
183
|
- support/simplejson/LICENSE.txt
|
@@ -181,8 +198,8 @@ homepage: http://github.com/saucelabs/sauce
|
|
181
198
|
licenses: []
|
182
199
|
|
183
200
|
post_install_message:
|
184
|
-
rdoc_options:
|
185
|
-
|
201
|
+
rdoc_options: []
|
202
|
+
|
186
203
|
require_paths:
|
187
204
|
- lib
|
188
205
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -211,14 +228,14 @@ signing_key:
|
|
211
228
|
specification_version: 3
|
212
229
|
summary: Ruby access to Sauce Labs' features
|
213
230
|
test_files:
|
231
|
+
- examples/helper.rb
|
232
|
+
- examples/other_spec.rb
|
233
|
+
- examples/saucelabs_spec.rb
|
234
|
+
- examples/test_saucelabs.rb
|
235
|
+
- examples/test_saucelabs2.rb
|
214
236
|
- test/helper.rb
|
215
237
|
- test/test_config.rb
|
216
238
|
- test/test_connect.rb
|
217
239
|
- test/test_jobs.rb
|
218
240
|
- test/test_selenium.rb
|
219
241
|
- test/test_tunnels.rb
|
220
|
-
- examples/helper.rb
|
221
|
-
- examples/other_spec.rb
|
222
|
-
- examples/saucelabs_spec.rb
|
223
|
-
- examples/test_saucelabs.rb
|
224
|
-
- examples/test_saucelabs2.rb
|