spec/unit/vm_spec.rb in vagrant-skytap-0.2.4 vs spec/unit/vm_spec.rb in vagrant-skytap-0.2.5

- old
+ new

@@ -21,46 +21,39 @@ # DEALINGS IN THE SOFTWARE. require_relative 'base' describe VagrantPlugins::Skytap::API::Vm do - include_context "unit" include_context "rest_api" let(:json_path) { File.join(File.expand_path('..', __FILE__), 'support', 'api_responses') } let(:vm1_attrs) { read_json(json_path, 'vm1.json') } let(:vm2_attrs) { vm1_attrs.merge("id" => "6981851", "name" => "VM2") } let(:network1_attrs) { read_json(json_path, 'network1.json') } let(:empty_environment_attrs) { read_json(json_path, 'empty_environment.json') } - let(:iso_env) do - # We have to create a Vagrantfile so there is a root path - env = isolated_environment - env.vagrantfile("") - env.create_vagrant_env + let(:provider_config) do + double(:provider_config, vm_url: "/vms/1", username: "jsmith", api_token: "123123", base_url: base_url) end - let(:machine) { iso_env.machine(iso_env.machine_names[0], :dummy) } - let(:env) {{ machine: machine, api_client: api_client }} + let(:api_client) { API::Client.new(provider_config) } + let(:machine) { double(:machine, name: "vm1", id: nil, :id= => nil, provider_config: provider_config) } + let(:env) { { machine: machine, api_client: api_client } } + let(:instance) { described_class.new(attrs, env) } let(:environment) do env_attrs = empty_environment_attrs VagrantPlugins::Skytap::API::Environment.new(env_attrs, env) end let(:attrs) { vm1_attrs } let(:instance) { described_class.new(attrs, environment, env) } - let(:api_client) do - # By default, all GET requests will return VM1 - double('api_client', - get: double('resp', body: JSON.dump(attrs)) - ) - end - # Ensure tests are not affected by Skytap credential environment variables before :each do ENV.stub(:[] => nil) + stub_request(:get, /.*/).to_return(body: '{}', status: 200) + stub_request(:get, %r{/vms/\d+}).to_return(body: JSON.dump(attrs), status: 200) end describe "reload" do subject do new_attrs = attrs.merge('name' => 'VM1, renamed')