sauce_whisk 0.0.20 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,16 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "a subaccount" do
4
- let(:parent) {SauceWhisk::Account.new(:id => ENV["SAUCE_USERNAME"], :access_key => "12345", :minutes=>12)}
5
- let(:params) {{:access_key => 12345, :minutes => 23, :id => "someone"}}
6
-
7
- it "is an Account object" do
8
- sub = SauceWhisk::SubAccount.new(parent, params)
9
- expect( sub ).to be_a_kind_of SauceWhisk::Account
10
- end
11
-
12
- it "takes a parent as a parameter" do
13
- sub = SauceWhisk::SubAccount.new(parent, params)
14
- expect( sub.parent ).to be parent
15
- end
16
- end
@@ -1,32 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe SauceWhisk::Tunnel do
4
- let(:params) {{
5
- :id => "tunnel_id",
6
- :owner => "test_user",
7
- :status => "open",
8
- :host => "yacko.wacko.dot",
9
- :creation_time => Time.now
10
- }}
11
-
12
- describe "#new" do
13
- it "sets all parameters passed in" do
14
- tunnel = SauceWhisk::Tunnel.new params
15
- expect( tunnel.id ).to eq "tunnel_id"
16
- expect( tunnel.owner ).to eq "test_user"
17
- expect( tunnel.status ).to eq "open"
18
- expect( tunnel.host ).to eq "yacko.wacko.dot"
19
- expect( tunnel.creation_time ).to eq params[:creation_time]
20
- end
21
- end
22
-
23
- describe "#stop" do
24
- it "calls the Repository class" do
25
- tunnel = SauceWhisk::Tunnel.new params
26
- expect( SauceWhisk::Tunnels ).to receive(:stop).with("tunnel_id")
27
-
28
- tunnel.stop
29
- end
30
- end
31
-
32
- end
@@ -1,90 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe SauceWhisk::Tunnels, :vcr => {:cassette_name => "tunnels"} do
4
- let(:auth) {"#{ENV["SAUCE_USERNAME"]}:#{ENV["SAUCE_ACCESS_KEY"]}"}
5
- let(:user) {ENV["SAUCE_USERNAME"]}
6
-
7
- describe "##all" do
8
- it "lists all tunnels a user has open" do
9
- SauceWhisk::Tunnels.all
10
- assert_requested :get, "https://#{auth}@saucelabs.com/rest/v1/#{user}/tunnels"
11
- end
12
-
13
- it "returns nothing when no tunnels are found", :vcr => {:cassette_name => "no_tunnels", :exclusive => true} do
14
- tunnels = SauceWhisk::Tunnels.all
15
- expect( tunnels ).to eq []
16
- end
17
-
18
- context "called without the 'fetch' parameter" do
19
- it "returns an array of Tunnels" do
20
- tunnels = SauceWhisk::Tunnels.all
21
- expect( tunnels ).to be_an_instance_of Array
22
- tunnels.each {|tunnel| expect( tunnel ).to be_an_instance_of SauceWhisk::Tunnel}
23
- end
24
- end
25
-
26
- context "called with the fetch parameter set false" do
27
- it "returns an array of strings" do
28
- tunnels = SauceWhisk::Tunnels.all(:fetch_each => false)
29
- expect( tunnels ).to be_an_instance_of Array
30
- tunnels.each {|tunnel| expect( tunnel ).to be_an_instance_of String }
31
- end
32
- end
33
- end
34
-
35
- describe "##fetch" do
36
- let(:job_id) {"fcf7b980037b4a37aa5ff19808e46da7"}
37
- it "fetches a single instance of a tunnel" do
38
- SauceWhisk::Tunnels.fetch job_id
39
- assert_requested :get, "https://#{auth}@saucelabs.com/rest/v1/#{user}/tunnels/#{job_id}"
40
- end
41
-
42
- it "returns instances of Tunnel" do
43
- tunnel = SauceWhisk::Tunnels.fetch job_id
44
- expect( tunnel ).to be_an_instance_of SauceWhisk::Tunnel
45
- end
46
-
47
- it "raises an exception with called without an id" do
48
- expect {SauceWhisk::Tunnels.fetch(nil)}.to raise_exception ArgumentError
49
- end
50
- end
51
-
52
- describe "##stop" do
53
- it "calls the correct API method" do
54
- tunnel_id = "7a4815f52407435581517ffd4d71c3a7"
55
- SauceWhisk::Tunnels.stop tunnel_id
56
- assert_requested :delete, "https://#{auth}@saucelabs.com/rest/v1/#{user}/tunnels/#{tunnel_id}"
57
- end
58
- end
59
-
60
- describe "##open" do
61
- let(:params) {{:tunnel_identifier => "bees", :ssh_port => 9123, :use_caching_proxy => false, :use_kgp => true}}
62
- it "calls the correct API method" do
63
- SauceWhisk::Tunnels.open params
64
- assert_requested(:post, "https://#{auth}@saucelabs.com/rest/v1/#{user}/tunnels",:body => params.to_json)
65
- end
66
-
67
- it "returns an instance of tunnel" do
68
- tunnel = SauceWhisk::Tunnels.open params
69
- expect( tunnel ).to be_an_instance_of SauceWhisk::Tunnel
70
-
71
- # These aren't magic, they're taken from the tunnels fixture. <3 VCR.
72
- expect( tunnel.id ).to eq "4824d6b282e04d1184daff5401a52e1e"
73
- expect( tunnel.ssh_port ).to eq 9123
74
- end
75
-
76
- context "When asked to wait until running", :vcr => {:cassette_name => 'tunnels_with_wait'} do
77
- it "calls fetch on the opened tunnel until the status is running" do
78
- requested_tunnel = SauceWhisk::Tunnels.open params
79
- t_id = requested_tunnel.id
80
-
81
- # There are 3 failing and 1 passing examples in the fixture
82
- assert_requested :get, "https://#{auth}@saucelabs.com/rest/v1/#{user}/tunnels/#{t_id}", :times => 4
83
- end
84
-
85
- it "throws an exception if the timeout is exceeded" do
86
- requested_tunnel = SauceWhisk::Tunnels.open params
87
- end
88
- end
89
- end
90
- end
@@ -1,23 +0,0 @@
1
- require "psych"
2
- require "sauce_whisk"
3
- require "webmock/rspec"
4
- require "vcr"
5
-
6
- puts "PSYCH: #{Psych::VERSION}"
7
-
8
-
9
- VCR.configure do |config|
10
- config.cassette_library_dir = "spec/fixtures/vcr_cassettes"
11
- config.hook_into :webmock
12
- config.configure_rspec_metadata!
13
- config.default_cassette_options = {
14
- :erb => true,
15
- :record => :new_episodes
16
- }
17
- config.filter_sensitive_data("<SAUCE_USERNAME>") { ENV["SAUCE_USERNAME"] }
18
- config.filter_sensitive_data("<SAUCE_ACCESS_KEY>") { ENV["SAUCE_ACCESS_KEY"] }
19
- end
20
-
21
- RSpec.configure do |config|
22
- config.treat_symbols_as_metadata_keys_with_true_values = true
23
- end