vagrant-skytap 0.2.10 → 0.3.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/vagrant-skytap/action/check_created.rb +43 -0
- data/lib/vagrant-skytap/action/check_running.rb +43 -0
- data/lib/vagrant-skytap/action/get_host_vm.rb +52 -0
- data/lib/vagrant-skytap/action/prepare_nfs_settings.rb +22 -5
- data/lib/vagrant-skytap/action.rb +11 -18
- data/lib/vagrant-skytap/api/connectable.rb +50 -0
- data/lib/vagrant-skytap/api/environment.rb +10 -5
- data/lib/vagrant-skytap/api/interface.rb +9 -0
- data/lib/vagrant-skytap/api/network.rb +60 -1
- data/lib/vagrant-skytap/api/public_ip.rb +7 -75
- data/lib/vagrant-skytap/api/publish_set.rb +4 -0
- data/lib/vagrant-skytap/api/published_service.rb +7 -71
- data/lib/vagrant-skytap/api/resource.rb +25 -3
- data/lib/vagrant-skytap/api/tunnel.rb +69 -0
- data/lib/vagrant-skytap/api/vm.rb +10 -2
- data/lib/vagrant-skytap/api/vpn.rb +2 -106
- data/lib/vagrant-skytap/cap/host_metadata.rb +45 -0
- data/lib/vagrant-skytap/connection/public_ip_choice.rb +94 -0
- data/lib/vagrant-skytap/connection/published_service_choice.rb +100 -0
- data/lib/vagrant-skytap/connection/tunnel_choice.rb +118 -0
- data/lib/vagrant-skytap/connection/vpn_choice.rb +132 -0
- data/lib/vagrant-skytap/connection.rb +123 -0
- data/lib/vagrant-skytap/errors.rb +4 -0
- data/lib/vagrant-skytap/plugin.rb +5 -0
- data/lib/vagrant-skytap/setup_helper.rb +34 -8
- data/lib/vagrant-skytap/version.rb +1 -1
- data/locales/en.yml +46 -0
- data/spec/unit/actions/prepare_nfs_settings_spec.rb +63 -16
- data/spec/unit/cap/host_metadata_spec.rb +43 -0
- data/spec/unit/connections/public_ip_choice_spec.rb +57 -0
- data/spec/unit/connections/published_service_choice_spec.rb +79 -0
- data/spec/unit/connections/tunnel_choice_spec.rb +124 -0
- data/spec/unit/connections/vpn_choice_spec.rb +109 -0
- data/spec/unit/interface_spec.rb +53 -0
- data/spec/unit/network_spec.rb +123 -0
- data/spec/unit/setup_helper_spec.rb +59 -19
- data/spec/unit/support/api_responses/tunnel1.json +7 -0
- data/spec/unit/support/api_responses/vm1.json +12 -1
- data/spec/unit/support/shared/rest_api_context.rb +1 -0
- data/spec/unit/tunnel_spec.rb +62 -0
- data/spec/unit/vm_spec.rb +53 -60
- metadata +22 -2
@@ -58,10 +58,15 @@ describe VagrantPlugins::Skytap::SetupHelper do
|
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
-
let(:vpn)
|
62
|
-
let(:vpns)
|
63
|
-
let(:vpn_choice)
|
64
|
-
let(:
|
61
|
+
let(:vpn) {API::Vpn.new(vpn_attrs, env)}
|
62
|
+
let(:vpns) {[vpn]}
|
63
|
+
let(:vpn_choice) {double(:vpn_choice, vpn: vpn, choose: ["1.2.3.4", 22], :valid? => true)}
|
64
|
+
let(:vpn_choice2) {double(:vpn_choice2, vpn: nil, choose: ["5.6.7.8", 22], :valid? => true)}
|
65
|
+
let(:icnr_choice) {double(:icnr_choice, choose: ["10.0.0.1", 22], :valid? => icnr_valid, validation_error_message: icnr_err_msg)}
|
66
|
+
let(:icnr_valid) { true }
|
67
|
+
let(:icnr_err_msg) { nil }
|
68
|
+
let(:user_input) { "" }
|
69
|
+
let(:running_in_skytap_vm) {false}
|
65
70
|
|
66
71
|
let(:ssh_config) do
|
67
72
|
double(:ssh_config, username: nil, password: nil, host: nil, port: nil)
|
@@ -83,6 +88,7 @@ describe VagrantPlugins::Skytap::SetupHelper do
|
|
83
88
|
ENV.stub(:[] => nil)
|
84
89
|
allow(ui).to receive(:ask).and_return(user_input)
|
85
90
|
allow(instance).to receive(:vpns).and_return(vpns)
|
91
|
+
allow(instance).to receive(:running_in_skytap_vm?).and_return(running_in_skytap_vm)
|
86
92
|
allow(vpn).to receive(:choice_for_setup).and_return(vpn_choice)
|
87
93
|
stub_request(:get, /.*/).to_return(body: "{}", status: 200)
|
88
94
|
end
|
@@ -110,29 +116,63 @@ describe VagrantPlugins::Skytap::SetupHelper do
|
|
110
116
|
instance.send(:ask_routing)
|
111
117
|
end
|
112
118
|
|
113
|
-
|
114
|
-
|
119
|
+
let(:connection_choices) {[vpn_choice, vpn_choice2]}
|
120
|
+
let(:asks_user) {false}
|
121
|
+
|
122
|
+
before do
|
123
|
+
allow(instance).to receive(:connection_choices).and_return(connection_choices)
|
124
|
+
if asks_user
|
125
|
+
expect(ui).to receive(:ask)
|
126
|
+
else
|
127
|
+
expect(ui).to_not receive(:ask)
|
128
|
+
end
|
115
129
|
end
|
116
130
|
|
117
|
-
context "when
|
118
|
-
let(:
|
119
|
-
it "
|
120
|
-
expect{subject}.to raise_error Errors::
|
131
|
+
context "when no valid choices are available" do
|
132
|
+
let(:connection_choices) {[]}
|
133
|
+
it "should raise NoConnectionOptions" do
|
134
|
+
expect{subject}.to raise_error Errors::NoConnectionOptions
|
121
135
|
end
|
122
136
|
end
|
123
137
|
|
124
|
-
context "when
|
125
|
-
let(:
|
126
|
-
|
127
|
-
|
138
|
+
context "when a single valid choice is available" do
|
139
|
+
let(:connection_choices) {[vpn_choice]}
|
140
|
+
it "should pick the only available choice automatically" do
|
141
|
+
expect(subject).to eq connection_choices.first.choose
|
142
|
+
end
|
128
143
|
end
|
129
144
|
|
130
|
-
context "when
|
131
|
-
|
132
|
-
|
145
|
+
context "when vpn_url specified" do
|
146
|
+
context "when vpn is an available choice" do
|
147
|
+
it "should use the specified vpn" do
|
148
|
+
expect(subject).to eq vpn_choice.choose
|
149
|
+
end
|
133
150
|
end
|
134
|
-
|
135
|
-
|
151
|
+
|
152
|
+
context "when vpn is not an available choice" do
|
153
|
+
let(:vpn_url) {"/vpns/999"}
|
154
|
+
it "should raise DoesNotExist" do
|
155
|
+
expect{subject}.to raise_error Errors::DoesNotExist
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
context "when running in skytap vm" do
|
160
|
+
let(:running_in_skytap_vm) {true}
|
161
|
+
let(:connection_choices) {[icnr_choice]}
|
162
|
+
it "should ignore the vpn_url" do
|
163
|
+
expect(subject).to eq icnr_choice.choose
|
164
|
+
end
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
context "when vpn_url is not specified" do
|
169
|
+
let(:vpn_url) {nil}
|
170
|
+
context "when multiple valid choices are available" do
|
171
|
+
let(:user_input) {"2"}
|
172
|
+
let(:asks_user) {true}
|
173
|
+
it "should pick the one chosen by the user" do
|
174
|
+
expect(subject).to eq vpn_choice2.choose
|
175
|
+
end
|
136
176
|
end
|
137
177
|
end
|
138
178
|
end
|
@@ -47,7 +47,18 @@
|
|
47
47
|
"vm_name": "Ubuntu Server 14.04 - 64-bit",
|
48
48
|
"status": "Running",
|
49
49
|
"nat_addresses": {
|
50
|
-
"network_nat_addresses": [
|
50
|
+
"network_nat_addresses": [
|
51
|
+
{
|
52
|
+
"ip_address": "10.0.4.1",
|
53
|
+
"network_id": "2",
|
54
|
+
"network_name": "network",
|
55
|
+
"network_url": "https://example.com/configurations/7345188/networks/2",
|
56
|
+
"configuration_id": 7345188,
|
57
|
+
"configuration_name": "cfg7345188",
|
58
|
+
"configuration_url": "https://example.com/configurations/7345188",
|
59
|
+
"viewable": true
|
60
|
+
}
|
61
|
+
],
|
51
62
|
"vpn_nat_addresses": [
|
52
63
|
{
|
53
64
|
"ip_address": "3.4.5.6",
|
@@ -27,6 +27,7 @@ require "vagrant-skytap/api/network"
|
|
27
27
|
require "vagrant-skytap/api/public_ip"
|
28
28
|
require "vagrant-skytap/api/published_service"
|
29
29
|
require "vagrant-skytap/api/resource"
|
30
|
+
require "vagrant-skytap/api/tunnel"
|
30
31
|
require "vagrant-skytap/api/vm"
|
31
32
|
require "vagrant-skytap/api/vpn_attachment"
|
32
33
|
require "vagrant-skytap/api/vpn"
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# Copyright (c) 2014-2016 Skytap, Inc.
|
2
|
+
#
|
3
|
+
# The MIT License (MIT)
|
4
|
+
#
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
10
|
+
# furnished to do so, subject to the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be included in
|
13
|
+
# all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
20
|
+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
21
|
+
# DEALINGS IN THE SOFTWARE.
|
22
|
+
|
23
|
+
require_relative 'base'
|
24
|
+
|
25
|
+
describe VagrantPlugins::Skytap::API::Tunnel do
|
26
|
+
include_context "rest_api"
|
27
|
+
|
28
|
+
let(:json_path) { File.join(File.expand_path('..', __FILE__), 'support', 'api_responses') }
|
29
|
+
let(:tunnel1_attrs) { read_json(json_path, 'tunnel1.json') }
|
30
|
+
let(:network1_attrs) { read_json(json_path, 'network1.json').merge("id" => "1") }
|
31
|
+
let(:network2_attrs) { network1_attrs.merge("id" => "2", "tunnelable" => true) }
|
32
|
+
|
33
|
+
# TODO is this backward or not???
|
34
|
+
let(:tunnel_attrs) { tunnel1_attrs.merge("source_network" => network2_attrs, "target_network" => network1_attrs)}
|
35
|
+
|
36
|
+
let(:source_network) { API::Network.new(network1_attrs, nil, env) }
|
37
|
+
let(:target_network) { API::Network.new(network2_attrs, nil, env) }
|
38
|
+
|
39
|
+
let(:nat_subnet) { "11.0.0.0/24" }
|
40
|
+
let(:tunnelable) { false }
|
41
|
+
|
42
|
+
let(:provider_config) do
|
43
|
+
double(:provider_config, vm_url: "/vms/1", username: "jsmith", api_token: "123123", base_url: base_url)
|
44
|
+
end
|
45
|
+
let(:api_client) { API::Client.new(provider_config) }
|
46
|
+
|
47
|
+
let(:environment) {nil}
|
48
|
+
let(:env) { { environment: environment, api_client: api_client, provider_config: provider_config } }
|
49
|
+
|
50
|
+
let(:attrs) { tunnel_attrs }
|
51
|
+
let(:instance) { described_class.new(attrs, environment, env) }
|
52
|
+
|
53
|
+
describe "create!" do
|
54
|
+
subject { API::Tunnel.create!(env, source_network, target_network) }
|
55
|
+
|
56
|
+
it "should have a source and target network" do
|
57
|
+
expect(subject.source_network).to be_a_kind_of(API::Network)
|
58
|
+
expect(subject.source_network).to be_a_kind_of(API::Network)
|
59
|
+
expect(a_request(:post, %r{/tunnels})).to have_been_made.once
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/spec/unit/vm_spec.rb
CHANGED
@@ -38,7 +38,6 @@ describe VagrantPlugins::Skytap::API::Vm do
|
|
38
38
|
let(:api_client) { API::Client.new(provider_config) }
|
39
39
|
let(:machine) { double(:machine, name: "vm1", id: nil, :id= => nil, provider_config: provider_config) }
|
40
40
|
let(:env) { { machine: machine, api_client: api_client } }
|
41
|
-
let(:instance) { described_class.new(attrs, env) }
|
42
41
|
|
43
42
|
let(:environment) do
|
44
43
|
env_attrs = empty_environment_attrs
|
@@ -46,30 +45,19 @@ describe VagrantPlugins::Skytap::API::Vm do
|
|
46
45
|
end
|
47
46
|
|
48
47
|
let(:attrs) { vm1_attrs }
|
48
|
+
let(:runstate) { nil }
|
49
49
|
let(:instance) { described_class.new(attrs, environment, env) }
|
50
50
|
|
51
|
-
|
51
|
+
let(:get_vm_attrs) { vm1_attrs }
|
52
52
|
before :each do
|
53
|
-
|
54
|
-
|
55
|
-
stub_request(:get, %r{/vms/\d+}).to_return(body: JSON.dump(attrs), status: 200)
|
53
|
+
stub_get(%r{/vms/\d+}, get_vm_attrs)
|
54
|
+
allow(instance).to receive(:runstate).and_return(runstate)
|
56
55
|
end
|
57
56
|
|
58
57
|
describe "reload" do
|
59
|
-
subject
|
60
|
-
|
61
|
-
|
62
|
-
get: double('resp', body: JSON.dump(new_attrs))
|
63
|
-
)
|
64
|
-
myenv = env.merge(api_client: client)
|
65
|
-
described_class.new(attrs, environment, myenv)
|
66
|
-
end
|
67
|
-
|
68
|
-
it "updates the attrs" do
|
69
|
-
expect(subject.get_api_attribute('name')).to eq 'VM1'
|
70
|
-
subject.reload
|
71
|
-
expect(subject.get_api_attribute('name')).to eq 'VM1, renamed'
|
72
|
-
end
|
58
|
+
subject { instance.reload }
|
59
|
+
let(:get_vm_attrs) {vm1_attrs.merge('name' => 'VM1, renamed')}
|
60
|
+
its("name") {should eq 'VM1, renamed'}
|
73
61
|
end
|
74
62
|
|
75
63
|
describe "url" do
|
@@ -80,68 +68,73 @@ describe VagrantPlugins::Skytap::API::Vm do
|
|
80
68
|
end
|
81
69
|
|
82
70
|
describe "busy?" do
|
83
|
-
subject
|
84
|
-
instance
|
85
|
-
end
|
71
|
+
subject { instance.busy? }
|
86
72
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
allow(subject).to receive(:runstate).and_call_original
|
73
|
+
context "when stopped" do
|
74
|
+
let(:runstate) {'stopped'}
|
75
|
+
it {should be false}
|
91
76
|
end
|
92
77
|
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
allow(subject).to receive(:runstate).and_call_original
|
78
|
+
context "when running" do
|
79
|
+
let(:runstate) {'running'}
|
80
|
+
it {should be false}
|
97
81
|
end
|
98
82
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
allow(subject).to receive(:runstate).and_call_original
|
83
|
+
context "when busy" do
|
84
|
+
let(:runstate) {'busy'}
|
85
|
+
it {should be true}
|
103
86
|
end
|
104
87
|
end
|
105
88
|
|
106
89
|
describe "running?" do
|
107
|
-
subject
|
108
|
-
|
90
|
+
subject { instance.running? }
|
91
|
+
|
92
|
+
context "when stopped" do
|
93
|
+
let(:runstate) {'stopped'}
|
94
|
+
it {should be false}
|
95
|
+
end
|
96
|
+
|
97
|
+
context "when suspended" do
|
98
|
+
let(:runstate) {'suspended'}
|
99
|
+
it {should be false}
|
109
100
|
end
|
110
101
|
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
allow(subject).to receive(:runstate).and_call_original
|
102
|
+
context "when busy" do
|
103
|
+
let(:runstate) {'busy'}
|
104
|
+
it {should be false}
|
115
105
|
end
|
116
106
|
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
allow(subject).to receive(:runstate).and_call_original
|
107
|
+
context "when running" do
|
108
|
+
let(:runstate) {'running'}
|
109
|
+
it {should be true}
|
121
110
|
end
|
111
|
+
end
|
112
|
+
|
113
|
+
describe "parent" do
|
114
|
+
subject {instance.region}
|
122
115
|
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
116
|
+
context "when environment was passed in" do
|
117
|
+
before do
|
118
|
+
expect(a_request(:any, %r{.*})).not_to have_been_made
|
119
|
+
end
|
120
|
+
it { should eq 'US-West'}
|
127
121
|
end
|
128
122
|
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
123
|
+
context "when environment was not passed in" do
|
124
|
+
let(:environment) {nil}
|
125
|
+
before do
|
126
|
+
stub_get(%r{/templates/\d+}, {region: 'US-East'})
|
127
|
+
end
|
128
|
+
it { should eq 'US-East'}
|
133
129
|
end
|
134
130
|
end
|
135
131
|
|
136
132
|
describe "region" do
|
137
|
-
subject
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
)
|
142
|
-
myenv = env.merge(api_client: client)
|
143
|
-
described_class.new(attrs, environment, myenv)
|
133
|
+
subject {instance.region}
|
134
|
+
|
135
|
+
before do
|
136
|
+
allow(environment).to receive(:region).and_return('EMEA')
|
144
137
|
end
|
145
|
-
|
138
|
+
it { should eq 'EMEA' }
|
146
139
|
end
|
147
140
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-skytap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric True
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-04-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json_pure
|
@@ -124,6 +124,8 @@ files:
|
|
124
124
|
- Gemfile
|
125
125
|
- lib/vagrant-skytap/action/action_helpers.rb
|
126
126
|
- lib/vagrant-skytap/action/add_vm_to_environment.rb
|
127
|
+
- lib/vagrant-skytap/action/check_created.rb
|
128
|
+
- lib/vagrant-skytap/action/check_running.rb
|
127
129
|
- lib/vagrant-skytap/action/clear_forwarded_ports.rb
|
128
130
|
- lib/vagrant-skytap/action/compose_environment.rb
|
129
131
|
- lib/vagrant-skytap/action/create_environment.rb
|
@@ -132,6 +134,7 @@ files:
|
|
132
134
|
- lib/vagrant-skytap/action/existence_check.rb
|
133
135
|
- lib/vagrant-skytap/action/fetch_environment.rb
|
134
136
|
- lib/vagrant-skytap/action/forward_ports.rb
|
137
|
+
- lib/vagrant-skytap/action/get_host_vm.rb
|
135
138
|
- lib/vagrant-skytap/action/initial_state.rb
|
136
139
|
- lib/vagrant-skytap/action/initialize_api_client.rb
|
137
140
|
- lib/vagrant-skytap/action/is_parallelized.rb
|
@@ -165,6 +168,7 @@ files:
|
|
165
168
|
- lib/vagrant-skytap/action.rb
|
166
169
|
- lib/vagrant-skytap/api/busyable.rb
|
167
170
|
- lib/vagrant-skytap/api/client.rb
|
171
|
+
- lib/vagrant-skytap/api/connectable.rb
|
168
172
|
- lib/vagrant-skytap/api/credentials.rb
|
169
173
|
- lib/vagrant-skytap/api/environment.rb
|
170
174
|
- lib/vagrant-skytap/api/interface.rb
|
@@ -175,9 +179,11 @@ files:
|
|
175
179
|
- lib/vagrant-skytap/api/resource.rb
|
176
180
|
- lib/vagrant-skytap/api/runstate_operations.rb
|
177
181
|
- lib/vagrant-skytap/api/specified_attributes.rb
|
182
|
+
- lib/vagrant-skytap/api/tunnel.rb
|
178
183
|
- lib/vagrant-skytap/api/vm.rb
|
179
184
|
- lib/vagrant-skytap/api/vpn.rb
|
180
185
|
- lib/vagrant-skytap/api/vpn_attachment.rb
|
186
|
+
- lib/vagrant-skytap/cap/host_metadata.rb
|
181
187
|
- lib/vagrant-skytap/cap/public_address.rb
|
182
188
|
- lib/vagrant-skytap/command/helpers.rb
|
183
189
|
- lib/vagrant-skytap/command/publish_url/create.rb
|
@@ -186,6 +192,11 @@ files:
|
|
186
192
|
- lib/vagrant-skytap/command/publish_url/show.rb
|
187
193
|
- lib/vagrant-skytap/command/up.rb
|
188
194
|
- lib/vagrant-skytap/config.rb
|
195
|
+
- lib/vagrant-skytap/connection/public_ip_choice.rb
|
196
|
+
- lib/vagrant-skytap/connection/published_service_choice.rb
|
197
|
+
- lib/vagrant-skytap/connection/tunnel_choice.rb
|
198
|
+
- lib/vagrant-skytap/connection/vpn_choice.rb
|
199
|
+
- lib/vagrant-skytap/connection.rb
|
189
200
|
- lib/vagrant-skytap/core_ext/object/blank.rb
|
190
201
|
- lib/vagrant-skytap/core_ext/object/tap.rb
|
191
202
|
- lib/vagrant-skytap/core_ext/try.rb
|
@@ -217,17 +228,25 @@ files:
|
|
217
228
|
- spec/unit/actions/update_hardware_spec.rb
|
218
229
|
- spec/unit/api_client_spec.rb
|
219
230
|
- spec/unit/base.rb
|
231
|
+
- spec/unit/cap/host_metadata_spec.rb
|
220
232
|
- spec/unit/config_spec.rb
|
233
|
+
- spec/unit/connections/public_ip_choice_spec.rb
|
234
|
+
- spec/unit/connections/published_service_choice_spec.rb
|
235
|
+
- spec/unit/connections/tunnel_choice_spec.rb
|
236
|
+
- spec/unit/connections/vpn_choice_spec.rb
|
221
237
|
- spec/unit/credentials_spec.rb
|
222
238
|
- spec/unit/environment_spec.rb
|
223
239
|
- spec/unit/forwarded_port_spec.rb
|
224
240
|
- spec/unit/hosts/common/cap/ssh_tunnel_spec.rb
|
241
|
+
- spec/unit/interface_spec.rb
|
242
|
+
- spec/unit/network_spec.rb
|
225
243
|
- spec/unit/prepare_collision_params_spec.rb
|
226
244
|
- spec/unit/publish_set_spec.rb
|
227
245
|
- spec/unit/setup_helper_spec.rb
|
228
246
|
- spec/unit/support/api_responses/empty_environment.json
|
229
247
|
- spec/unit/support/api_responses/empty_publish_set.json
|
230
248
|
- spec/unit/support/api_responses/network1.json
|
249
|
+
- spec/unit/support/api_responses/tunnel1.json
|
231
250
|
- spec/unit/support/api_responses/vm1.json
|
232
251
|
- spec/unit/support/api_responses/vpn1.json
|
233
252
|
- spec/unit/support/api_responses/vpn_attachment1.json
|
@@ -243,6 +262,7 @@ files:
|
|
243
262
|
- spec/unit/support/forwarded_ports/machines/vm4/skytap/tcp8888_tcp_8888_80.pid
|
244
263
|
- spec/unit/support/shared/rest_api_context.rb
|
245
264
|
- spec/unit/support/shared/skytap_context.rb
|
265
|
+
- spec/unit/tunnel_spec.rb
|
246
266
|
- spec/unit/vm_spec.rb
|
247
267
|
- tasks/acceptance.rake
|
248
268
|
- tasks/bundler.rake
|