spec/unit/chef/provisioning/fog_driver/driver_spec.rb in chef-provisioning-fog-0.26.1 vs spec/unit/chef/provisioning/fog_driver/driver_spec.rb in chef-provisioning-fog-0.26.3

- old
+ new

@@ -1,110 +1,111 @@ -require 'chef/provisioning/fog_driver/driver' +require "chef/provisioning/fog_driver/driver" describe Chef::Provisioning::FogDriver::Driver do let(:driver) { Chef::Provisioning::FogDriver::Driver.new("fog:OpenStack", {}) } before(:each) do Chef::Provisioning::FogDriver::Driver.send(:public, *Chef::Provisioning::FogDriver::Driver.protected_instance_methods) end describe "#determine_remote_host" do - let(:machine_spec) { double("machine_spec", :reference => reference, :name => 'name') } - let(:server) { double("server", :private_ip_address => 'private', :public_ip_address => 'public', :ip_addresses => ['first_ip_address'])} + let(:machine_spec) { double("machine_spec", reference: reference, name: "name") } + let(:server) { double("server", private_ip_address: "private", public_ip_address: "public", ip_addresses: ["first_ip_address"]) } context "when 'use_private_ip_for_ssh' is specified in the machine_spec.reference" do - let(:reference) { { 'use_private_ip_for_ssh' => true } } + let(:reference) { { "use_private_ip_for_ssh" => true } } it "returns the private ip" do - expect(driver.determine_remote_host(machine_spec, server)).to eq('private') - expect(reference).to eq( {'transport_address_location' => :private_ip} ) + expect(driver.determine_remote_host(machine_spec, server)).to eq("private") + expect(reference).to eq("transport_address_location" => :private_ip) end end context "when 'transport_address_location' is set to :private_ip" do - let(:reference) { { 'transport_address_location' => :private_ip } } + let(:reference) { { "transport_address_location" => :private_ip } } it "returns the private ip" do - expect(driver.determine_remote_host(machine_spec, server)).to eq('private') + expect(driver.determine_remote_host(machine_spec, server)).to eq("private") end end context "when 'transport_address_location' is set to :ip_addresses" do - let(:reference) { { 'transport_address_location' => :ip_addresses } } + let(:reference) { { "transport_address_location" => :ip_addresses } } it "returns the first ip_address from array" do - expect(driver.determine_remote_host(machine_spec, server)).to eq('first_ip_address') + expect(driver.determine_remote_host(machine_spec, server)).to eq("first_ip_address") end end context "when 'transport_address_location' is set to :public_ip" do - let(:reference) { { 'transport_address_location' => :public_ip } } + let(:reference) { { "transport_address_location" => :public_ip } } it "returns the public ip" do - expect(driver.determine_remote_host(machine_spec, server)).to eq('public') + expect(driver.determine_remote_host(machine_spec, server)).to eq("public") end end context "when machine_spec.reference does not specify the transport type" do - let(:reference) { Hash.new } + let(:reference) { {} } context "when the machine does not have a public_ip_address" do - let(:server) { double("server", :private_ip_address => 'private', :public_ip_address => nil, :ip_addresses => ['first_ip_address'])} + let(:server) { double("server", private_ip_address: "private", public_ip_address: nil, ip_addresses: ["first_ip_address"]) } it "returns the private ip" do - expect(driver.determine_remote_host(machine_spec, server)).to eq('private') + expect(driver.determine_remote_host(machine_spec, server)).to eq("private") end end context "when the machine has a public_ip_address" do - let(:server) { double("server", :private_ip_address => 'private', :public_ip_address => 'public', :ip_addresses => ['first_ip_address'])} + let(:server) { double("server", private_ip_address: "private", public_ip_address: "public", ip_addresses: ["first_ip_address"]) } it "returns the public ip" do - expect(driver.determine_remote_host(machine_spec, server)).to eq('public') + expect(driver.determine_remote_host(machine_spec, server)).to eq("public") end end context "when the machine does not have a public_ip_address or private_ip_address" do - let(:server) { double("server", :private_ip_address => nil, :public_ip_address => nil, :ip_addresses => ['first_ip_address'], :id => 'id')} + let(:server) { double("server", private_ip_address: nil, public_ip_address: nil, ip_addresses: ["first_ip_address"], id: "id") } it "raises an error" do - expect {driver.determine_remote_host(machine_spec, server)}.to raise_error("Server #{server.id} has no private or public IP address!") + expect { driver.determine_remote_host(machine_spec, server) }.to raise_error("Server #{server.id} has no private or public IP address!") end end end end - describe '#private_key_for' do - let(:machine_spec) { double('machine_spec', reference: {}, name: 'my_machine') } - let(:machine_options) { { bootstrap_options: bootstrap_options } } + describe "#private_key_for" do + let(:machine_spec) { double("machine_spec", reference: {}, name: "my_machine") } + let(:machine_options) { { bootstrap_options: bootstrap_options } } - context 'when the machine has a key path in bootstrap options' do - let(:bootstrap_options) { { key_path: '/tmp/test_private_key_file' } } + context "when the machine has a key path in bootstrap options" do + let(:bootstrap_options) { { key_path: "/tmp/test_private_key_file" } } - it 'reads the key file' do - allow(IO).to receive(:read).and_return 'test_private_key' - expect(driver.private_key_for(machine_spec, machine_options, nil)).to eq 'test_private_key' + it "reads the key file" do + allow(IO).to receive(:read).and_return "test_private_key" + expect(driver.private_key_for(machine_spec, machine_options, nil)).to eq "test_private_key" end end - context 'when the machine has a key name in bootstrap options' do - let(:bootstrap_options) { { key_name: 'test_private_key_name' } } + context "when the machine has a key name in bootstrap options" do + let(:bootstrap_options) { { key_name: "test_private_key_name" } } - it 'calls get_private_key' do - expect(driver).to receive(:get_private_key).with('test_private_key_name').and_return 'test_private_key' - expect(driver.private_key_for(machine_spec, machine_options, nil)).to eq 'test_private_key' + it "calls get_private_key" do + expect(driver).to receive(:get_private_key).with("test_private_key_name").and_return "test_private_key" + expect(driver.private_key_for(machine_spec, machine_options, nil)).to eq "test_private_key" end end - context 'when the machine has no bootstrap options' do - it 'raises an error' do + context "when the machine has no bootstrap options" do + it "raises an error" do expect { driver.private_key_for(machine_spec, {}, nil) } - .to raise_error(RuntimeError, 'No key found to connect to my_machine ({}) : machine_options -> ({})!') + .to raise_error(RuntimeError, "No key found to connect to my_machine ({}) : machine_options -> ({})!") end end - context 'when the machine has no key path or key name bootstrap options' do + context "when the machine has no key path or key name bootstrap options" do let(:bootstrap_options) { {} } - it 'raises an error' do + it "raises an error" do expect { driver.private_key_for(machine_spec, machine_options, nil) }.to raise_error( - RuntimeError, 'No key found to connect to my_machine ({}) : machine_options -> ({:bootstrap_options=>{}})!') + RuntimeError, "No key found to connect to my_machine ({}) : machine_options -> ({:bootstrap_options=>{}})!" + ) end end end end