Sha256: 0b16489e54f9b5c39a1e30eedc36db0a0d16151f41347ebe7e85ac2524397929

Contents?: true

Size: 1.74 KB

Versions: 28

Compression:

Stored size: 1.74 KB

Contents

require 'spec_helper'

describe Ridley::HostConnector::SSH do
  subject { connector }
  let(:connector) { described_class.new }

  let(:host) { 'reset.riotgames.com' }
  let(:options) do
    {
      server_url: double('server_url'),
      validator_path: fixtures_path.join('reset.pem'),
      validator_client: double('validator_client'),
      encrypted_data_bag_secret: 'encrypted_data_bag_secret',
      ssh: Hash.new,
      chef_version: double('chef_version')
    }
  end

  describe "#bootstrap" do
    it "sends a #run message to self to bootstrap a node" do
      connector.should_receive(:run).with(host, anything, options)
      connector.bootstrap(host, options)
    end
  end

  describe "#chef_client" do
    it "sends a #run message to self to execute chef-client" do
      connector.should_receive(:run).with(host, "chef-client", options)
      connector.chef_client(host, options)
    end
  end

  describe "#put_secret" do
    let(:encrypted_data_bag_secret_path) { fixtures_path.join("encrypted_data_bag_secret").to_s }
    let(:secret) { File.read(encrypted_data_bag_secret_path).chomp }

    it "receives a run command with echo" do
      connector.should_receive(:run).with(host,
        "echo '#{secret}' > /etc/chef/encrypted_data_bag_secret; chmod 0600 /etc/chef/encrypted_data_bag_secret",
        options
      )
      connector.put_secret(host, secret, options)
    end
  end

  describe "#ruby_script" do
    let(:command_lines) { ["puts 'hello'", "puts 'there'"] }

    it "receives a ruby call with the command" do
      connector.should_receive(:run).with(host,
        "#{described_class::EMBEDDED_RUBY_PATH} -e \"puts 'hello';puts 'there'\"",
        options
      )
      connector.ruby_script(host, command_lines, options)
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
ridley-1.7.1 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.7.0 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.6.0 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.5.3 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.2.6 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.5.2 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.5.1 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.5.0 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.2.5 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.4.1 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.4.0 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.3.2 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.3.1 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.3.0 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.0.3 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.2.4 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.2.3 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.2.2 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.2.1 spec/unit/ridley/host_connector/ssh_spec.rb
ridley-1.2.0 spec/unit/ridley/host_connector/ssh_spec.rb