vagrant-skytap 0.2.4 → 0.2.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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +8 -0
  3. data/CHANGELOG.md +4 -0
  4. data/Gemfile +0 -3
  5. data/lib/vagrant-skytap/action/compose_environment.rb +0 -3
  6. data/lib/vagrant-skytap/action/prepare_forwarded_port_collision_params.rb +0 -1
  7. data/lib/vagrant-skytap/action/prepare_nfs_valid_ids.rb +3 -2
  8. data/lib/vagrant-skytap/action/wait_for_communicator.rb +0 -1
  9. data/lib/vagrant-skytap/action.rb +0 -1
  10. data/lib/vagrant-skytap/api/busyable.rb +1 -1
  11. data/lib/vagrant-skytap/api/client.rb +0 -1
  12. data/lib/vagrant-skytap/api/interface.rb +0 -1
  13. data/lib/vagrant-skytap/api/public_ip.rb +1 -2
  14. data/lib/vagrant-skytap/api/published_service.rb +2 -3
  15. data/lib/vagrant-skytap/api/vpn.rb +1 -2
  16. data/lib/vagrant-skytap/command/publish_url/root.rb +1 -1
  17. data/lib/vagrant-skytap/command/up.rb +10 -4
  18. data/lib/vagrant-skytap/core_ext/object/blank.rb +0 -22
  19. data/lib/vagrant-skytap/core_ext/try.rb +0 -22
  20. data/lib/vagrant-skytap/hosts/common/cap/ssh_tunnel.rb +0 -1
  21. data/lib/vagrant-skytap/plugin.rb +1 -1
  22. data/lib/vagrant-skytap/util/compile_forwarded_ports.rb +1 -1
  23. data/lib/vagrant-skytap/version.rb +1 -1
  24. data/lib/vagrant-skytap.rb +0 -2
  25. data/spec/unit/actions/compose_environment_spec.rb +0 -3
  26. data/spec/unit/actions/update_hardware_spec.rb +0 -1
  27. data/spec/unit/base.rb +1 -8
  28. data/spec/unit/config_spec.rb +0 -4
  29. data/spec/unit/environment_spec.rb +14 -23
  30. data/spec/unit/forwarded_port_spec.rb +0 -2
  31. data/spec/unit/prepare_collision_params_spec.rb +0 -14
  32. data/spec/unit/publish_set_spec.rb +7 -15
  33. data/spec/unit/setup_helper_spec.rb +28 -48
  34. data/spec/unit/support/api_responses/empty_environment.json +1 -1
  35. data/spec/unit/support/shared/rest_api_context.rb +3 -0
  36. data/spec/unit/support/shared/skytap_context.rb +14 -0
  37. data/spec/unit/vm_spec.rb +8 -15
  38. data/vagrant-skytap.gemspec +4 -4
  39. metadata +7 -20
  40. data/.hgignore +0 -22
  41. data/.project +0 -11
  42. data/.rspec +0 -1
  43. data/spec/acceptance/base.rb +0 -24
  44. data/spec/acceptance/provider/halt_spec.rb +0 -25
  45. data/spec/acceptance/provider/up_spec.rb +0 -62
  46. data/spec/acceptance/shared/context_skytap.rb +0 -25
  47. data/spec/support/isolated_environment.rb +0 -67
  48. data/spec/unit/support/dummy_communicator.rb +0 -105
  49. data/spec/unit/support/dummy_provider.rb +0 -63
  50. data/spec/unit/support/isolated_environment.rb +0 -239
  51. data/spec/unit/support/shared/action_synced_folders_context.rb +0 -37
  52. data/spec/unit/support/shared/base_context.rb +0 -138
  53. data/spec/unit/support/shared/capability_helpers_context.rb +0 -51
  54. data/spec/unit/support/shared/plugin_command_context.rb +0 -34
  55. data/vagrant-spec.config.rb +0 -32
@@ -24,8 +24,6 @@ require_relative 'base'
24
24
  require "vagrant-skytap/model/forwarded_port"
25
25
 
26
26
  describe VagrantPlugins::Skytap::Model::ForwardedPort do
27
- include_context "unit"
28
-
29
27
  let(:fp1) { VagrantPlugins::Skytap::Model::ForwardedPort.new("tcp9000", 9000, 80, protocol: 'tcp') }
30
28
  let(:fp2) { VagrantPlugins::Skytap::Model::ForwardedPort.new("tcp80", 80, 80, protocol: 'tcp') }
31
29
  let(:fp3) { VagrantPlugins::Skytap::Model::ForwardedPort.new("tcp2222", 2222, 22, protocol: 'tcp') }
@@ -24,8 +24,6 @@ require_relative 'base'
24
24
  require "vagrant-skytap/model/forwarded_port"
25
25
 
26
26
  describe VagrantPlugins::Skytap::Model::ForwardedPort do
27
- include_context "unit"
28
-
29
27
  let(:fp1) { VagrantPlugins::Skytap::Model::ForwardedPort.new("tcp9000", 9000, 80, protocol: 'tcp') }
30
28
  let(:fp2) { VagrantPlugins::Skytap::Model::ForwardedPort.new("tcp80", 80, 80, protocol: 'tcp') }
31
29
  let(:fp3) { VagrantPlugins::Skytap::Model::ForwardedPort.new("tcp2222", 2222, 22, protocol: 'tcp') }
@@ -65,15 +63,3 @@ describe VagrantPlugins::Skytap::Model::ForwardedPort do
65
63
  end
66
64
  end
67
65
  end
68
-
69
-
70
- #- [ ] Set up a “real" environment & machine
71
- #- [ ] Give it a Vagrantfile with a collision
72
- #- [ ] Provide matching machine folders.
73
- #- [ ] read_used_ports and read_forwarded_ports will have natural return values.
74
- #- [ ] Check that :port_collision_extra_in_use and :port_collision_remap are correct.
75
- #- [ ] Case where read_forwarded_ports returns []. :port_collision_remap should be {}.
76
- #- [ ] Case where read_forwarded_ports returns an object with the same id as something
77
- # in env[:machine].config.vm.networks: :port_collision_remap should be
78
- # {<config hostport> => FP hostport}
79
- # - [ ] observe what virtualbox does
@@ -23,7 +23,6 @@
23
23
  require_relative 'base'
24
24
 
25
25
  describe VagrantPlugins::Skytap::API::PublishSet do
26
- include_context "unit"
27
26
  include_context "rest_api"
28
27
 
29
28
  let(:json_path) { File.join(File.expand_path('..', __FILE__), 'support', 'api_responses') }
@@ -38,14 +37,12 @@ describe VagrantPlugins::Skytap::API::PublishSet do
38
37
  end
39
38
  end
40
39
 
41
- let(:iso_env) do
42
- # We have to create a Vagrantfile so there is a root path
43
- env = isolated_environment
44
- env.vagrantfile("")
45
- env.create_vagrant_env
40
+ let(:provider_config) do
41
+ double(:provider_config, vm_url: "/vms/1", username: "jsmith", api_token: "123123", base_url: base_url)
46
42
  end
47
- let(:machine) { iso_env.machine(iso_env.machine_names[0], :dummy) }
48
- let(:env) {{ machine: machine, api_client: api_client }}
43
+ let(:api_client) { API::Client.new(provider_config) }
44
+ let(:machine) { double(:machine, name: "vm1", id: nil, :id= => nil, provider_config: provider_config) }
45
+ let(:env) { { machine: machine, api_client: api_client } }
49
46
 
50
47
  let(:environment) do
51
48
  VagrantPlugins::Skytap::API::Environment.new(env_attrs, env)
@@ -60,16 +57,11 @@ describe VagrantPlugins::Skytap::API::PublishSet do
60
57
  end
61
58
  let(:instance) { described_class.new(attrs, environment, env) }
62
59
 
63
- let(:api_client) do
64
- # By default, all GET requests will return an environment with VM1, VM2, and 1 network
65
- double('api_client',
66
- get: double('resp', body: JSON.dump(attrs))
67
- )
68
- end
69
-
70
60
  # Ensure tests are not affected by Skytap credential environment variables
71
61
  before :each do
72
62
  ENV.stub(:[] => nil)
63
+ stub_request(:get, /.*/).to_return(body: '{}', status: 200)
64
+ stub_request(:get, %r{/configurations/\d+}).to_return(body: JSON.dump(attrs), status: 200)
73
65
  end
74
66
 
75
67
  describe "vms" do
@@ -25,9 +25,9 @@ require "vagrant-skytap/setup_helper"
25
25
  require "vagrant-skytap/api/environment"
26
26
  require "vagrant-skytap/api/vpn"
27
27
  require "vagrant-skytap/api/vpn_attachment"
28
+ require "vagrant-skytap/config"
28
29
 
29
30
  describe VagrantPlugins::Skytap::SetupHelper do
30
- include_context "unit"
31
31
  include_context "rest_api"
32
32
 
33
33
  let(:instance) { described_class.new }
@@ -39,7 +39,6 @@ describe VagrantPlugins::Skytap::SetupHelper do
39
39
  let(:vpn_attachment1_attrs) { read_json(json_path, 'vpn_attachment1.json') }
40
40
  let(:empty_environment_attrs) { read_json(json_path, 'empty_environment.json')}
41
41
 
42
-
43
42
  let(:network_attrs) do
44
43
  network1_attrs.dup.tap do |ret|
45
44
  ret['vpn_attachments'] = [vpn_attachment1_attrs]
@@ -69,47 +68,39 @@ describe VagrantPlugins::Skytap::SetupHelper do
69
68
 
70
69
  let(:vpn) {VagrantPlugins::Skytap::API::Vpn.new(vpn_attrs, env)}
71
70
 
72
- let(:iso_env) do
73
- # We have to create a Vagrantfile so there is a root path
74
- env = isolated_environment
75
- env.vagrantfile("")
76
- env.create_vagrant_env
71
+ let(:ssh_config) do
72
+ double(:ssh, username: "foo", password: "bar", host: nil, port: nil)
77
73
  end
78
-
79
- let(:machine) { iso_env.machine(iso_env.machine_names[0], :dummy) }
80
- let(:env) {{ machine: machine, api_client: double(post: Net::HTTPOK) }}
81
- let(:instance) { described_class.new(attrs, env) }
82
-
83
- let(:api_client) do
84
- # By default, all GET requests will return an environment with VM1, VM2, and 1 network
85
- double('api_client',
86
- get: double('resp', body: JSON.dump(attrs))
87
- )
74
+ let(:machine_config) do
75
+ double(:machine_config, ssh: ssh_config)
88
76
  end
77
+ let(:provider_config) do
78
+ double(:provider_config, vm_url: "/vms/1", username: "jsmith", api_token: "123123", base_url: base_url)
79
+ end
80
+ let(:api_client) { API::Client.new(provider_config) }
81
+ let(:machine) { double(:machine, name: "vm1", id: "6981850", config: machine_config, provider_config: provider_config) }
82
+ let(:env) { { machine: machine, api_client: api_client, ui: ui } }
83
+ let(:instance) { described_class.new(env, environment) }
89
84
 
90
85
  before :each do
91
86
  # Ensure tests are not affected by Skytap credential environment variables
92
87
  ENV.stub(:[] => nil)
93
-
94
- machine.id = environment.vms.first.id
95
- end
96
-
97
- after(:each) do
98
- allow(machine).to receive(:provider_config).and_call_original
88
+ stub_request(:get, /.*/).to_return(body: '{}', status: 200)
89
+ stub_request(:get, %r{/configurations/\d+}).to_return(body: JSON.dump(environment_attrs), status: 200)
90
+ stub_request(:get, %r{/vpns$}).to_return(body: JSON.dump([vpn_attrs]), status: 200)
99
91
  end
100
92
 
101
93
  describe "ask_routing" do
102
- after(:each) do
103
- allow_any_instance_of(VpnChoice).to receive(:choose).and_call_original
94
+ subject do
95
+ instance
104
96
  end
105
97
 
106
- subject do
107
- myenv = env.merge(
108
- ui: double(ask: '')
109
- )
110
- described_class.new(myenv, environment).tap do |ret|
111
- allow(ret).to receive(:vpns).and_return([vpn])
112
- end
98
+ before :each do
99
+ allow(subject).to receive(:vpns).and_return([vpn])
100
+ end
101
+
102
+ after(:each) do
103
+ allow_any_instance_of(VpnChoice).to receive(:choose).and_call_original
113
104
  end
114
105
 
115
106
  it "has connection_choices" do
@@ -120,31 +111,20 @@ describe VagrantPlugins::Skytap::SetupHelper do
120
111
  end
121
112
 
122
113
  it "does not show choices if vpn_url specified" do
123
- allow_any_instance_of(VpnChoice).to receive(:choose).and_return(['1.2.3.4', 22])
124
-
125
- cfg = VagrantPlugins::Skytap::Config.new
126
- cfg.vpn_url = vpn.url
127
- cfg.finalize!
128
- allow(machine).to receive(:provider_config).and_return cfg
129
-
114
+ allow(provider_config).to receive(:vpn_url).and_return(vpn.url)
115
+ vpn_choice = double(:choice, vpn: vpn, choose: ['1.2.3.4', 22], :valid? => true)
116
+ allow(vpn).to receive(:choice_for_setup).and_return(vpn_choice)
130
117
  expect(subject).not_to receive(:ask_from_list)
131
118
  subject.send(:ask_routing)
132
119
  end
133
120
 
134
121
  it "raises DoesNotExist if non-existent vpn_url specified" do
135
- cfg = VagrantPlugins::Skytap::Config.new
136
- cfg.vpn_url = 'bogus'
137
- cfg.finalize!
138
- allow(machine).to receive(:provider_config).and_return cfg
139
-
122
+ allow(provider_config).to receive(:vpn_url).and_return("bogus")
140
123
  expect{subject.send(:ask_routing)}.to raise_error(Errors::DoesNotExist)
141
124
  end
142
125
 
143
126
  it "shows choices if vpn_url unspecified" do
144
- cfg = VagrantPlugins::Skytap::Config.new
145
- cfg.finalize!
146
- allow(machine).to receive(:provider_config).and_return cfg
147
-
127
+ allow(provider_config).to receive(:vpn_url).and_return(nil)
148
128
  expect(subject).to receive(:ask_from_list)
149
129
  subject.send(:ask_routing)
150
130
  end
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "id": "5570024",
3
- "url": "https://example.com/templates/5570024",
3
+ "url": "https://example.com/configurations/5570024",
4
4
  "name": "Environment 1",
5
5
  "error": "",
6
6
  "runstate": "running",
@@ -33,4 +33,7 @@ require "vagrant-skytap/api/vpn"
33
33
 
34
34
  shared_context "rest_api" do
35
35
  include_context "skytap"
36
+
37
+ let(:base_url) {"http://example.com/"}
38
+
36
39
  end
@@ -26,7 +26,21 @@ shared_context "skytap" do
26
26
  Errors = VagrantPlugins::Skytap::Errors
27
27
  API = VagrantPlugins::Skytap::API
28
28
 
29
+ let(:empty_action) {double(call: nil)}
30
+ let(:ui) {Vagrant::UI::Silent.new}
31
+
29
32
  def read_json(*args)
30
33
  JSON.load(File.read(File.join(args)))
31
34
  end
35
+
36
+ # Bypass middleware actions, sort of, by stubbing the #call method
37
+ def stub_actions(*action_names)
38
+ if action_names.count == 1 && action_names.first.is_a?(Array)
39
+ action_names = action_names.first
40
+ end
41
+ action_names.each do |name|
42
+ classname = "VagrantPlugins::Skytap::Action::#{name}"
43
+ stub_const(classname, double(classname, call: nil))
44
+ end
45
+ end
32
46
  end
data/spec/unit/vm_spec.rb CHANGED
@@ -23,7 +23,6 @@
23
23
  require_relative 'base'
24
24
 
25
25
  describe VagrantPlugins::Skytap::API::Vm do
26
- include_context "unit"
27
26
  include_context "rest_api"
28
27
 
29
28
  let(:json_path) { File.join(File.expand_path('..', __FILE__), 'support', 'api_responses') }
@@ -33,14 +32,13 @@ describe VagrantPlugins::Skytap::API::Vm do
33
32
  let(:network1_attrs) { read_json(json_path, 'network1.json') }
34
33
  let(:empty_environment_attrs) { read_json(json_path, 'empty_environment.json') }
35
34
 
36
- let(:iso_env) do
37
- # We have to create a Vagrantfile so there is a root path
38
- env = isolated_environment
39
- env.vagrantfile("")
40
- env.create_vagrant_env
35
+ let(:provider_config) do
36
+ double(:provider_config, vm_url: "/vms/1", username: "jsmith", api_token: "123123", base_url: base_url)
41
37
  end
42
- let(:machine) { iso_env.machine(iso_env.machine_names[0], :dummy) }
43
- let(:env) {{ machine: machine, api_client: api_client }}
38
+ let(:api_client) { API::Client.new(provider_config) }
39
+ let(:machine) { double(:machine, name: "vm1", id: nil, :id= => nil, provider_config: provider_config) }
40
+ let(:env) { { machine: machine, api_client: api_client } }
41
+ let(:instance) { described_class.new(attrs, env) }
44
42
 
45
43
  let(:environment) do
46
44
  env_attrs = empty_environment_attrs
@@ -50,16 +48,11 @@ describe VagrantPlugins::Skytap::API::Vm do
50
48
  let(:attrs) { vm1_attrs }
51
49
  let(:instance) { described_class.new(attrs, environment, env) }
52
50
 
53
- let(:api_client) do
54
- # By default, all GET requests will return VM1
55
- double('api_client',
56
- get: double('resp', body: JSON.dump(attrs))
57
- )
58
- end
59
-
60
51
  # Ensure tests are not affected by Skytap credential environment variables
61
52
  before :each do
62
53
  ENV.stub(:[] => nil)
54
+ stub_request(:get, /.*/).to_return(body: '{}', status: 200)
55
+ stub_request(:get, %r{/vms/\d+}).to_return(body: JSON.dump(attrs), status: 200)
63
56
  end
64
57
 
65
58
  describe "reload" do
@@ -28,10 +28,10 @@ Gem::Specification.new do |s|
28
28
  s.version = VagrantPlugins::Skytap::VERSION
29
29
  s.platform = Gem::Platform::RUBY
30
30
  s.license = "MIT"
31
- s.authors = "Nick Astete"
32
- s.email = "nastete@skytap.com"
31
+ s.authors = ["Eric True", "Nick Astete"]
32
+ s.email = ["etrue@skytap.com", "nastete@skytap.com"]
33
33
  s.homepage = "http://www.skytap.com"
34
- s.summary = "Enables Vagrant to manage Skytap machines."
34
+ s.summary = "Vagrant provider plugin for Skytap."
35
35
  s.description = "Enables Vagrant to manage Skytap machines."
36
36
 
37
37
  s.required_rubygems_version = ">= 1.3.6"
@@ -54,7 +54,7 @@ Gem::Specification.new do |s|
54
54
  root_path = File.dirname(__FILE__)
55
55
  all_files = Dir.chdir(root_path) { Dir.glob("**/{*,.*}") }
56
56
  all_files.reject! { |file| [".", ".."].include?(File.basename(file)) }
57
- #TODO:NLA:
57
+
58
58
  gitignore_path = File.join(root_path, ".gitignore")
59
59
  gitignore = File.readlines(gitignore_path)
60
60
  gitignore.map! { |line| line.chomp.strip }
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-skytap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
+ - Eric True
7
8
  - Nick Astete
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-02-03 00:00:00.000000000 Z
12
+ date: 2016-02-04 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: json_pure
@@ -109,7 +110,9 @@ dependencies:
109
110
  - !ruby/object:Gem::Version
110
111
  version: '1.20'
111
112
  description: Enables Vagrant to manage Skytap machines.
112
- email: nastete@skytap.com
113
+ email:
114
+ - etrue@skytap.com
115
+ - nastete@skytap.com
113
116
  executables: []
114
117
  extensions: []
115
118
  extra_rdoc_files: []
@@ -208,12 +211,7 @@ files:
208
211
  - locales/en.yml
209
212
  - Rakefile
210
213
  - README.md
211
- - spec/acceptance/base.rb
212
- - spec/acceptance/provider/halt_spec.rb
213
- - spec/acceptance/provider/up_spec.rb
214
- - spec/acceptance/shared/context_skytap.rb
215
214
  - spec/spec_helper.rb
216
- - spec/support/isolated_environment.rb
217
215
  - spec/unit/actions/compose_environment_spec.rb
218
216
  - spec/unit/actions/update_hardware_spec.rb
219
217
  - spec/unit/base.rb
@@ -230,8 +228,6 @@ files:
230
228
  - spec/unit/support/api_responses/vm1.json
231
229
  - spec/unit/support/api_responses/vpn1.json
232
230
  - spec/unit/support/api_responses/vpn_attachment1.json
233
- - spec/unit/support/dummy_communicator.rb
234
- - spec/unit/support/dummy_provider.rb
235
231
  - spec/unit/support/forwarded_ports/machines/vm1/skytap/id
236
232
  - spec/unit/support/forwarded_ports/machines/vm1/skytap/private_key
237
233
  - spec/unit/support/forwarded_ports/machines/vm1/skytap/tcp9000_tcp_9000_80.pid
@@ -242,11 +238,6 @@ files:
242
238
  - spec/unit/support/forwarded_ports/machines/vm3/virtualbox/id
243
239
  - spec/unit/support/forwarded_ports/machines/vm4/skytap/id
244
240
  - spec/unit/support/forwarded_ports/machines/vm4/skytap/tcp8888_tcp_8888_80.pid
245
- - spec/unit/support/isolated_environment.rb
246
- - spec/unit/support/shared/action_synced_folders_context.rb
247
- - spec/unit/support/shared/base_context.rb
248
- - spec/unit/support/shared/capability_helpers_context.rb
249
- - spec/unit/support/shared/plugin_command_context.rb
250
241
  - spec/unit/support/shared/rest_api_context.rb
251
242
  - spec/unit/support/shared/skytap_context.rb
252
243
  - spec/unit/vm_spec.rb
@@ -254,11 +245,7 @@ files:
254
245
  - tasks/bundler.rake
255
246
  - tasks/test.rake
256
247
  - vagrant-skytap.gemspec
257
- - vagrant-spec.config.rb
258
248
  - .gitignore
259
- - .hgignore
260
- - .project
261
- - .rspec
262
249
  homepage: http://www.skytap.com
263
250
  licenses:
264
251
  - MIT
@@ -282,5 +269,5 @@ rubyforge_project: vagrant-skytap
282
269
  rubygems_version: 2.0.14
283
270
  signing_key:
284
271
  specification_version: 4
285
- summary: Enables Vagrant to manage Skytap machines.
272
+ summary: Vagrant provider plugin for Skytap.
286
273
  test_files: []
data/.hgignore DELETED
@@ -1,22 +0,0 @@
1
- Syntax: regexp
2
-
3
- # OS-specific
4
- ^\.DS_Store$
5
-
6
- # editors
7
- \.swp$
8
-
9
- # Bundler/Rubygems
10
- \.gem$
11
- ^\.bundle$
12
- pkg/
13
- ^tags$
14
- ^Gemfile\.lock$
15
-
16
- # Vagrant
17
- ^\.vagrant$
18
- ^Vagrantfile$
19
- #!example_box/Vagrantfile
20
-
21
- # RVM files for gemset/ruby setting
22
- \.ruby-version$
data/.project DELETED
@@ -1,11 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <projectDescription>
3
- <name>vagrant_skytap</name>
4
- <comment></comment>
5
- <projects>
6
- </projects>
7
- <buildSpec>
8
- </buildSpec>
9
- <natures>
10
- </natures>
11
- </projectDescription>
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --format doc --order random --color --fail-fast
@@ -1,24 +0,0 @@
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 "vagrant-spec/acceptance"
24
- require_relative "shared/context_skytap"