vagrant-skytap 0.1.5 → 0.1.6
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/README.md +35 -30
- data/boxes/README.md +13 -0
- data/boxes/empty.box +0 -0
- data/boxes/metadata.json +3 -0
- data/eng-10369.diff +208 -0
- data/lib/vagrant-skytap/action/wait_for_communicator.rb +49 -0
- data/lib/vagrant-skytap/action.rb +1 -0
- data/lib/vagrant-skytap/api/environment.rb +11 -1
- data/lib/vagrant-skytap/api/vm.rb +11 -0
- data/lib/vagrant-skytap/config.rb +9 -0
- data/lib/vagrant-skytap/errors.rb +8 -0
- data/lib/vagrant-skytap/setup_helper.rb +9 -0
- data/lib/vagrant-skytap/version.rb +1 -1
- data/locales/en.yml +6 -0
- data/spec/unit/base.rb +5 -0
- data/spec/unit/config_spec.rb +2 -1
- data/spec/unit/environment_spec.rb +43 -4
- data/spec/unit/setup_helper_spec.rb +128 -0
- data/spec/unit/skeletons/network1.json +1 -20
- data/spec/unit/skeletons/vm1.json +5 -5
- data/spec/unit/skeletons/vpn1.json +26 -0
- data/spec/unit/skeletons/vpn_attachment1.json +18 -0
- data/spec/unit/vm_spec.rb +12 -0
- metadata +10 -8
- data/1-2.diff +0 -965
- data/dummy.box +0 -0
- data/example_box/README.md +0 -13
- data/example_box/metadata.json +0 -3
- data/f.diff +0 -38
- data/skytap-dummy.box +0 -0
| @@ -1,5 +1,7 @@ | |
| 1 1 | 
             
            require_relative 'base'
         | 
| 2 2 | 
             
            require "vagrant-skytap/api/environment"
         | 
| 3 | 
            +
            require "vagrant-skytap/api/vm"
         | 
| 4 | 
            +
            require "vagrant-skytap/errors"
         | 
| 3 5 |  | 
| 4 6 | 
             
            describe VagrantPlugins::Skytap::API::Environment do
         | 
| 5 7 | 
             
              include_context "unit"
         | 
| @@ -7,13 +9,17 @@ describe VagrantPlugins::Skytap::API::Environment do | |
| 7 9 |  | 
| 8 10 | 
             
              let(:vm1_attrs) { JSON.load(File.read(File.join(File.expand_path('..', __FILE__), 'skeletons', 'vm1.json'))) }
         | 
| 9 11 | 
             
              let(:vm2_attrs) { vm1_attrs.merge("id" => "6981851", "name" => "VM2") }
         | 
| 12 | 
            +
              let(:config_vm_attrs) { vm1_attrs.merge("configuration_url" => "https://example.com/configurations/5570024", "template_url" => nil) }
         | 
| 10 13 | 
             
              let(:network1_attrs) { JSON.load(File.read(File.join(File.expand_path('..', __FILE__), 'skeletons', 'network1.json'))) }
         | 
| 14 | 
            +
              let(:vpn_attachment1_attrs) { JSON.load(File.read(File.join(File.expand_path('..', __FILE__), 'skeletons', 'vpn_attachment1.json'))) }
         | 
| 11 15 | 
             
              let(:empty_environment_attrs) { JSON.load(File.read(File.join(File.expand_path('..', __FILE__), 'skeletons', 'empty_environment.json')))}
         | 
| 12 16 |  | 
| 13 17 | 
             
              let(:attrs_one_vm) do
         | 
| 14 18 | 
             
                empty_environment_attrs.dup.tap do |ret|
         | 
| 15 19 | 
             
                  ret['vms'] = [vm1_attrs]
         | 
| 16 | 
            -
                  ret['networks'] = [network1_attrs | 
| 20 | 
            +
                  ret['networks'] = [network1_attrs.dup.tap do |ret|
         | 
| 21 | 
            +
                    ret['vpn_attachments'] = [vpn_attachment1_attrs]
         | 
| 22 | 
            +
                  end]
         | 
| 17 23 | 
             
                end
         | 
| 18 24 | 
             
              end
         | 
| 19 25 |  | 
| @@ -46,7 +52,11 @@ describe VagrantPlugins::Skytap::API::Environment do | |
| 46 52 | 
             
                ENV.stub(:[] => nil)
         | 
| 47 53 | 
             
              end
         | 
| 48 54 |  | 
| 49 | 
            -
              describe "check_vm_before_adding" do
         | 
| 55 | 
            +
              describe "check_vm_before_adding class method" do
         | 
| 56 | 
            +
                after(:each) do
         | 
| 57 | 
            +
                  allow(subject).to receive(:runstate).and_call_original
         | 
| 58 | 
            +
                end
         | 
| 59 | 
            +
             | 
| 50 60 | 
             
                subject do
         | 
| 51 61 | 
             
                  instance.vms.first
         | 
| 52 62 | 
             
                end
         | 
| @@ -54,20 +64,49 @@ describe VagrantPlugins::Skytap::API::Environment do | |
| 54 64 | 
             
                it "raises SourceVmNotStopped if the vm is running" do
         | 
| 55 65 | 
             
                  allow(subject).to receive(:runstate).and_return('running')
         | 
| 56 66 | 
             
                  expect {described_class.check_vm_before_adding(env, subject)}.to raise_error(Errors::SourceVmNotStopped)
         | 
| 57 | 
            -
                  allow(subject).to receive(:runstate).and_call_original
         | 
| 58 67 | 
             
                end
         | 
| 59 68 |  | 
| 60 69 | 
             
                it "raises SourceVmNotStopped if the vm is suspended" do
         | 
| 61 70 | 
             
                  allow(subject).to receive(:runstate).and_return('suspended')
         | 
| 62 71 | 
             
                  expect {described_class.check_vm_before_adding(env, subject)}.to raise_error(Errors::SourceVmNotStopped)
         | 
| 63 | 
            -
                  allow(subject).to receive(:runstate).and_call_original
         | 
| 64 72 | 
             
                end
         | 
| 65 73 |  | 
| 66 74 | 
             
                it "raises nothing if the vm is stopped" do
         | 
| 67 75 | 
             
                  allow(subject).to receive(:runstate).and_return('stopped')
         | 
| 68 76 | 
             
                  expect {described_class.check_vm_before_adding(env, subject)}.to_not raise_error
         | 
| 77 | 
            +
                end
         | 
| 78 | 
            +
             | 
| 79 | 
            +
                it "raises NotTemplateVm if the vm is not a template vm" do
         | 
| 80 | 
            +
                  vm = VagrantPlugins::Skytap::API::Vm.new(config_vm_attrs, nil, env)
         | 
| 81 | 
            +
                  expect {described_class.check_vm_before_adding(env, vm)}.to raise_error(Errors::NotTemplateVm)
         | 
| 82 | 
            +
                end
         | 
| 83 | 
            +
              end
         | 
| 84 | 
            +
             | 
| 85 | 
            +
              describe "check_vm_before_adding instance method" do
         | 
| 86 | 
            +
                after(:each) do
         | 
| 87 | 
            +
                  allow(subject).to receive(:region).and_call_original
         | 
| 69 88 | 
             
                  allow(subject).to receive(:runstate).and_call_original
         | 
| 70 89 | 
             
                end
         | 
| 90 | 
            +
             | 
| 91 | 
            +
                subject do
         | 
| 92 | 
            +
                  instance.vms.first
         | 
| 93 | 
            +
                end
         | 
| 94 | 
            +
             | 
| 95 | 
            +
                it "raises RegionMismatch if the vm is in a different region" do
         | 
| 96 | 
            +
                  allow(subject).to receive(:region).and_return('EMEA')
         | 
| 97 | 
            +
                  expect {subject.environment.check_vm_before_adding(env, subject)}.to raise_error(Errors::RegionMismatch)
         | 
| 98 | 
            +
                end
         | 
| 99 | 
            +
             | 
| 100 | 
            +
                it "raises SourceVmNotStopped if the vm is in the same region but running" do
         | 
| 101 | 
            +
                  allow(subject).to receive(:region).and_return('US-West')
         | 
| 102 | 
            +
                  allow(subject).to receive(:runstate).and_return('running')
         | 
| 103 | 
            +
                  expect {subject.environment.check_vm_before_adding(env, subject)}.to raise_error(Errors::SourceVmNotStopped)
         | 
| 104 | 
            +
                end
         | 
| 105 | 
            +
             | 
| 106 | 
            +
                it "raises nothing if the vm is in the same region" do
         | 
| 107 | 
            +
                  allow(subject).to receive(:region).and_return('US-West')
         | 
| 108 | 
            +
                  expect {subject.environment.check_vm_before_adding(env, subject)}.to_not raise_error
         | 
| 109 | 
            +
                end
         | 
| 71 110 | 
             
              end
         | 
| 72 111 |  | 
| 73 112 | 
             
              describe "vms" do
         | 
| @@ -0,0 +1,128 @@ | |
| 1 | 
            +
            require_relative 'base'
         | 
| 2 | 
            +
            require "vagrant-skytap/setup_helper"
         | 
| 3 | 
            +
            require "vagrant-skytap/api/environment"
         | 
| 4 | 
            +
            require "vagrant-skytap/api/vpn"
         | 
| 5 | 
            +
            require "vagrant-skytap/api/vpn_attachment"
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            describe VagrantPlugins::Skytap::SetupHelper do
         | 
| 8 | 
            +
              include_context "unit"
         | 
| 9 | 
            +
             | 
| 10 | 
            +
              let(:instance) { described_class.new }
         | 
| 11 | 
            +
             | 
| 12 | 
            +
              let(:vm1_attrs) { JSON.load(File.read(File.join(File.expand_path('..', __FILE__), 'skeletons', 'vm1.json'))) }
         | 
| 13 | 
            +
              let(:network1_attrs) { JSON.load(File.read(File.join(File.expand_path('..', __FILE__), 'skeletons', 'network1.json'))) }
         | 
| 14 | 
            +
              let(:vpn1_attrs) { JSON.load(File.read(File.join(File.expand_path('..', __FILE__), 'skeletons', 'vpn1.json'))) }
         | 
| 15 | 
            +
              let(:vpn_attachment1_attrs) { JSON.load(File.read(File.join(File.expand_path('..', __FILE__), 'skeletons', 'vpn_attachment1.json'))) }
         | 
| 16 | 
            +
              let(:empty_environment_attrs) { JSON.load(File.read(File.join(File.expand_path('..', __FILE__), 'skeletons', 'empty_environment.json')))}
         | 
| 17 | 
            +
             | 
| 18 | 
            +
             | 
| 19 | 
            +
              let(:network_attrs) do
         | 
| 20 | 
            +
                network1_attrs.dup.tap do |ret|
         | 
| 21 | 
            +
                  ret['vpn_attachments'] = [vpn_attachment1_attrs]
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
              let(:vm_attrs) do
         | 
| 26 | 
            +
                vm1_attrs.dup.tap do |ret|
         | 
| 27 | 
            +
                  ret['interfaces'].first['nat_addresses']['vpn_nat_addresses'] = {}
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
              end
         | 
| 30 | 
            +
             | 
| 31 | 
            +
              let(:environment_attrs) do
         | 
| 32 | 
            +
                empty_environment_attrs.dup.tap do |ret|
         | 
| 33 | 
            +
                  ret['vms'] = [vm_attrs]
         | 
| 34 | 
            +
                  ret['networks'] = [network1_attrs]
         | 
| 35 | 
            +
                end
         | 
| 36 | 
            +
              end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
              let(:environment) { VagrantPlugins::Skytap::API::Environment.new(environment_attrs, env) }
         | 
| 39 | 
            +
             | 
| 40 | 
            +
              let(:vpn_attrs) do
         | 
| 41 | 
            +
                vpn1_attrs.dup.tap do |ret|
         | 
| 42 | 
            +
                  ret['network_attachments'] = [vpn_attachment1_attrs]
         | 
| 43 | 
            +
                end
         | 
| 44 | 
            +
              end
         | 
| 45 | 
            +
             | 
| 46 | 
            +
              let(:vpn) {VagrantPlugins::Skytap::API::Vpn.new(vpn_attrs, env)}
         | 
| 47 | 
            +
             | 
| 48 | 
            +
              let(:iso_env) do
         | 
| 49 | 
            +
                # We have to create a Vagrantfile so there is a root path
         | 
| 50 | 
            +
                env = isolated_environment
         | 
| 51 | 
            +
                env.vagrantfile("")
         | 
| 52 | 
            +
                env.create_vagrant_env
         | 
| 53 | 
            +
              end
         | 
| 54 | 
            +
             | 
| 55 | 
            +
              let(:machine)  { iso_env.machine(iso_env.machine_names[0], :dummy) }
         | 
| 56 | 
            +
              let(:env)      {{ machine: machine, api_client: double(post: Net::HTTPOK) }}
         | 
| 57 | 
            +
              let(:instance) { described_class.new(attrs, env) }
         | 
| 58 | 
            +
             | 
| 59 | 
            +
              let(:api_client) do
         | 
| 60 | 
            +
                # By default, all GET requests will return an environment with VM1, VM2, and 1 network
         | 
| 61 | 
            +
                double('api_client',
         | 
| 62 | 
            +
                  get: double('resp', body: JSON.dump(attrs))
         | 
| 63 | 
            +
                )
         | 
| 64 | 
            +
              end
         | 
| 65 | 
            +
             | 
| 66 | 
            +
              before :each do
         | 
| 67 | 
            +
                # Ensure tests are not affected by Skytap credential environment variables
         | 
| 68 | 
            +
                ENV.stub(:[] => nil)
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                machine.id = environment.vms.first.id
         | 
| 71 | 
            +
              end
         | 
| 72 | 
            +
             | 
| 73 | 
            +
              after(:each) do
         | 
| 74 | 
            +
                allow(machine).to receive(:provider_config).and_call_original
         | 
| 75 | 
            +
              end
         | 
| 76 | 
            +
             | 
| 77 | 
            +
              describe "ask_routing" do
         | 
| 78 | 
            +
                after(:each) do
         | 
| 79 | 
            +
                  allow_any_instance_of(VpnChoice).to receive(:choose).and_call_original
         | 
| 80 | 
            +
                end
         | 
| 81 | 
            +
             | 
| 82 | 
            +
                subject do
         | 
| 83 | 
            +
                  myenv = env.merge(
         | 
| 84 | 
            +
                    ui:         double(ask: '')
         | 
| 85 | 
            +
                  )
         | 
| 86 | 
            +
                  described_class.new(myenv, environment).tap do |ret|
         | 
| 87 | 
            +
                    allow(ret).to receive(:vpns).and_return([vpn])
         | 
| 88 | 
            +
                  end
         | 
| 89 | 
            +
                end
         | 
| 90 | 
            +
             | 
| 91 | 
            +
                it "has connection_choices" do
         | 
| 92 | 
            +
                  interface = subject.current_vm.interfaces.first
         | 
| 93 | 
            +
                  choices = subject.send(:connection_choices, interface)
         | 
| 94 | 
            +
                  expect(choices.count).to eq 1
         | 
| 95 | 
            +
                  expect(choices.first.vpn).to_not be_nil
         | 
| 96 | 
            +
                end
         | 
| 97 | 
            +
             | 
| 98 | 
            +
                it "does not show choices if vpn_url specified" do
         | 
| 99 | 
            +
                  allow_any_instance_of(VpnChoice).to receive(:choose).and_return(['1.2.3.4', 22])
         | 
| 100 | 
            +
             | 
| 101 | 
            +
                  cfg = VagrantPlugins::Skytap::Config.new
         | 
| 102 | 
            +
                  cfg.vpn_url = vpn.url
         | 
| 103 | 
            +
                  cfg.finalize!
         | 
| 104 | 
            +
                  allow(machine).to receive(:provider_config).and_return cfg
         | 
| 105 | 
            +
             | 
| 106 | 
            +
                  expect(subject).not_to receive(:ask_from_list)
         | 
| 107 | 
            +
                  subject.send(:ask_routing)
         | 
| 108 | 
            +
                end
         | 
| 109 | 
            +
             | 
| 110 | 
            +
                it "raises DoesNotExist if non-existent vpn_url specified" do
         | 
| 111 | 
            +
                  cfg = VagrantPlugins::Skytap::Config.new
         | 
| 112 | 
            +
                  cfg.vpn_url = 'bogus'
         | 
| 113 | 
            +
                  cfg.finalize!
         | 
| 114 | 
            +
                  allow(machine).to receive(:provider_config).and_return cfg
         | 
| 115 | 
            +
             | 
| 116 | 
            +
                  expect{subject.send(:ask_routing)}.to raise_error(Errors::DoesNotExist)
         | 
| 117 | 
            +
                end
         | 
| 118 | 
            +
             | 
| 119 | 
            +
                it "shows choices if vpn_url unspecified" do
         | 
| 120 | 
            +
                  cfg = VagrantPlugins::Skytap::Config.new
         | 
| 121 | 
            +
                  cfg.finalize!
         | 
| 122 | 
            +
                  allow(machine).to receive(:provider_config).and_return cfg
         | 
| 123 | 
            +
             | 
| 124 | 
            +
                  expect(subject).to receive(:ask_from_list)
         | 
| 125 | 
            +
                  subject.send(:ask_routing)
         | 
| 126 | 
            +
                end
         | 
| 127 | 
            +
              end
         | 
| 128 | 
            +
            end
         | 
| @@ -11,26 +11,7 @@ | |
| 11 11 | 
             
              "secondary_nameserver": null,
         | 
| 12 12 | 
             
              "region": "US-West",
         | 
| 13 13 | 
             
              "domain": "skytap.example",
         | 
| 14 | 
            -
              "vpn_attachments": [
         | 
| 15 | 
            -
                {
         | 
| 16 | 
            -
                  "id": "3288116-vpn-711360",
         | 
| 17 | 
            -
                  "connected": true,
         | 
| 18 | 
            -
                  "network": {
         | 
| 19 | 
            -
                    "id": "3288116",
         | 
| 20 | 
            -
                    "subnet": "10.0.0.0/24",
         | 
| 21 | 
            -
                    "network_name": "Default Network",
         | 
| 22 | 
            -
                    "configuration_id": "5570024"
         | 
| 23 | 
            -
                  },
         | 
| 24 | 
            -
                  "vpn": {
         | 
| 25 | 
            -
                    "id": "vpn-711360",
         | 
| 26 | 
            -
                    "name": "Skytap sea9 NAT VPN",
         | 
| 27 | 
            -
                    "enabled": true,
         | 
| 28 | 
            -
                    "nat_enabled": true,
         | 
| 29 | 
            -
                    "remote_subnets": "10.1.0.0/24, 10.1.1.0/24, 10.1.2.0/24, 10.1.4.0/24, 10.1.6.0/24, 10.1.8.0/24, 10.1.16.0/24, 172.16.89.0/24, 192.168.0.0/16",
         | 
| 30 | 
            -
                    "remote_peer_ip": "66.193.98.66"
         | 
| 31 | 
            -
                  }
         | 
| 32 | 
            -
                }
         | 
| 33 | 
            -
              ],
         | 
| 14 | 
            +
              "vpn_attachments": [],
         | 
| 34 15 | 
             
              "tunnelable": false,
         | 
| 35 16 | 
             
              "tunnels": []
         | 
| 36 17 | 
             
            }
         | 
| @@ -50,10 +50,10 @@ | |
| 50 50 | 
             
                    "network_nat_addresses": [],
         | 
| 51 51 | 
             
                    "vpn_nat_addresses": [
         | 
| 52 52 | 
             
                      {
         | 
| 53 | 
            -
                        "ip_address": " | 
| 54 | 
            -
                        "vpn_id": "vpn- | 
| 55 | 
            -
                        "vpn_name": " | 
| 56 | 
            -
                        "vpn_url": "https://example.com/vpns/vpn- | 
| 53 | 
            +
                        "ip_address": "3.4.5.6",
         | 
| 54 | 
            +
                        "vpn_id": "vpn-123",
         | 
| 55 | 
            +
                        "vpn_name": "my VPN",
         | 
| 56 | 
            +
                        "vpn_url": "https://example.com/vpns/vpn-123"
         | 
| 57 57 | 
             
                      }
         | 
| 58 58 | 
             
                    ]
         | 
| 59 59 | 
             
                  },
         | 
| @@ -72,7 +72,7 @@ | |
| 72 72 | 
             
              "credentials": [
         | 
| 73 73 | 
             
                {
         | 
| 74 74 | 
             
                  "id": "5695620",
         | 
| 75 | 
            -
                  "text": " | 
| 75 | 
            +
                  "text": "xxx / yyy"
         | 
| 76 76 | 
             
                }
         | 
| 77 77 | 
             
              ],
         | 
| 78 78 | 
             
              "desktop_resizable": true,
         | 
| @@ -0,0 +1,26 @@ | |
| 1 | 
            +
            {
         | 
| 2 | 
            +
              "id": "vpn-123",
         | 
| 3 | 
            +
              "url": "https://example.com/vpns/123",
         | 
| 4 | 
            +
              "name": "my VPN",
         | 
| 5 | 
            +
              "status": "active",
         | 
| 6 | 
            +
              "enabled": true,
         | 
| 7 | 
            +
              "remote_subnets": [
         | 
| 8 | 
            +
                {
         | 
| 9 | 
            +
                  "id": "10.1.0.0/24",
         | 
| 10 | 
            +
                  "cidr_block": "10.1.0.0/24",
         | 
| 11 | 
            +
                  "excluded": false
         | 
| 12 | 
            +
                }
         | 
| 13 | 
            +
              ],
         | 
| 14 | 
            +
              "local_subnet": "10.1.128.0/19",
         | 
| 15 | 
            +
              "nat_local_subnet": true,
         | 
| 16 | 
            +
              "route_based": false,
         | 
| 17 | 
            +
              "error": null,
         | 
| 18 | 
            +
              "local_peer_ip": "2.3.4.5",
         | 
| 19 | 
            +
              "remote_peer_ip": "1.2.3.4",
         | 
| 20 | 
            +
              "attached_network_count": 264,
         | 
| 21 | 
            +
              "connected_network_count": 1,
         | 
| 22 | 
            +
              "network_attachments": [],
         | 
| 23 | 
            +
              "test_results": {},
         | 
| 24 | 
            +
              "region": "US-West",
         | 
| 25 | 
            +
              "region_backend": "skytap"
         | 
| 26 | 
            +
            }
         | 
| @@ -0,0 +1,18 @@ | |
| 1 | 
            +
            {
         | 
| 2 | 
            +
              "id": "1-vpn-1",
         | 
| 3 | 
            +
              "connected": true,
         | 
| 4 | 
            +
              "network": {
         | 
| 5 | 
            +
                "id": "3288116",
         | 
| 6 | 
            +
                "subnet": "10.0.0.0/24",
         | 
| 7 | 
            +
                "network_name": "Default Network",
         | 
| 8 | 
            +
                "configuration_id": "5570024"
         | 
| 9 | 
            +
              },
         | 
| 10 | 
            +
              "vpn": {
         | 
| 11 | 
            +
                "id": "vpn-123",
         | 
| 12 | 
            +
                "name": "my VPN",
         | 
| 13 | 
            +
                "enabled": true,
         | 
| 14 | 
            +
                "nat_enabled": true,
         | 
| 15 | 
            +
                "remote_subnets": "10.1.0.0/24",
         | 
| 16 | 
            +
                "remote_peer_ip": "1.2.3.4"
         | 
| 17 | 
            +
              }
         | 
| 18 | 
            +
            }
         | 
    
        data/spec/unit/vm_spec.rb
    CHANGED
    
    | @@ -115,4 +115,16 @@ describe VagrantPlugins::Skytap::API::Vm do | |
| 115 115 | 
             
                  allow(subject).to receive(:runstate).and_call_original
         | 
| 116 116 | 
             
                end
         | 
| 117 117 | 
             
              end
         | 
| 118 | 
            +
             | 
| 119 | 
            +
              describe "region" do
         | 
| 120 | 
            +
                subject do
         | 
| 121 | 
            +
                  fake_template_attrs = {'id' => '5570024', 'region' => 'EMEA'}
         | 
| 122 | 
            +
                  client = double('api_client',
         | 
| 123 | 
            +
                    get: double('resp', body: JSON.dump(fake_template_attrs))
         | 
| 124 | 
            +
                  )
         | 
| 125 | 
            +
                  myenv = env.merge(api_client: client)
         | 
| 126 | 
            +
                  described_class.new(attrs, environment, myenv)
         | 
| 127 | 
            +
                end
         | 
| 128 | 
            +
                its("region") { should == 'EMEA' }
         | 
| 129 | 
            +
              end
         | 
| 118 130 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: vagrant-skytap
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.6
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Nick Astete
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2015-11- | 
| 11 | 
            +
            date: 2015-11-13 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: json_pure
         | 
| @@ -118,16 +118,15 @@ files: | |
| 118 118 | 
             
            - ".hgignore"
         | 
| 119 119 | 
             
            - ".project"
         | 
| 120 120 | 
             
            - ".rspec"
         | 
| 121 | 
            -
            - 1-2.diff
         | 
| 122 121 | 
             
            - CHANGELOG.md
         | 
| 123 122 | 
             
            - Gemfile
         | 
| 124 123 | 
             
            - LICENSE
         | 
| 125 124 | 
             
            - README.md
         | 
| 126 125 | 
             
            - Rakefile
         | 
| 127 | 
            -
            -  | 
| 128 | 
            -
            -  | 
| 129 | 
            -
            -  | 
| 130 | 
            -
            -  | 
| 126 | 
            +
            - boxes/README.md
         | 
| 127 | 
            +
            - boxes/empty.box
         | 
| 128 | 
            +
            - boxes/metadata.json
         | 
| 129 | 
            +
            - eng-10369.diff
         | 
| 131 130 | 
             
            - lib/vagrant-skytap.rb
         | 
| 132 131 | 
             
            - lib/vagrant-skytap/action.rb
         | 
| 133 132 | 
             
            - lib/vagrant-skytap/action/add_vm_to_environment.rb
         | 
| @@ -161,6 +160,7 @@ files: | |
| 161 160 | 
             
            - lib/vagrant-skytap/action/suspend_vm.rb
         | 
| 162 161 | 
             
            - lib/vagrant-skytap/action/timed_provision.rb
         | 
| 163 162 | 
             
            - lib/vagrant-skytap/action/update_hardware.rb
         | 
| 163 | 
            +
            - lib/vagrant-skytap/action/wait_for_communicator.rb
         | 
| 164 164 | 
             
            - lib/vagrant-skytap/api/busyable.rb
         | 
| 165 165 | 
             
            - lib/vagrant-skytap/api/client.rb
         | 
| 166 166 | 
             
            - lib/vagrant-skytap/api/credentials.rb
         | 
| @@ -191,7 +191,6 @@ files: | |
| 191 191 | 
             
            - lib/vagrant-skytap/version.rb
         | 
| 192 192 | 
             
            - lib/vagrant-skytap/vm_properties.rb
         | 
| 193 193 | 
             
            - locales/en.yml
         | 
| 194 | 
            -
            - skytap-dummy.box
         | 
| 195 194 | 
             
            - spec/acceptance/base.rb
         | 
| 196 195 | 
             
            - spec/acceptance/provider/halt_spec.rb
         | 
| 197 196 | 
             
            - spec/acceptance/shared/context_skytap.rb
         | 
| @@ -200,9 +199,12 @@ files: | |
| 200 199 | 
             
            - spec/unit/base.rb
         | 
| 201 200 | 
             
            - spec/unit/config_spec.rb
         | 
| 202 201 | 
             
            - spec/unit/environment_spec.rb
         | 
| 202 | 
            +
            - spec/unit/setup_helper_spec.rb
         | 
| 203 203 | 
             
            - spec/unit/skeletons/empty_environment.json
         | 
| 204 204 | 
             
            - spec/unit/skeletons/network1.json
         | 
| 205 205 | 
             
            - spec/unit/skeletons/vm1.json
         | 
| 206 | 
            +
            - spec/unit/skeletons/vpn1.json
         | 
| 207 | 
            +
            - spec/unit/skeletons/vpn_attachment1.json
         | 
| 206 208 | 
             
            - spec/unit/support/dummy_communicator.rb
         | 
| 207 209 | 
             
            - spec/unit/support/dummy_provider.rb
         | 
| 208 210 | 
             
            - spec/unit/support/isolated_environment.rb
         |