Sha256: e9163e28eaf301696b7888caf6f9d658d07cdc6b9f86b0e6ec4cf416b4f81191

Contents?: true

Size: 1.25 KB

Versions: 5

Compression:

Stored size: 1.25 KB

Contents

require 'spec_helper'

describe Ridley::SSH do
  let(:connection) { double('conn', ssh: { user: "vagrant", password: "vagrant" }) }

  let(:node_one) do
    Ridley::Node.new(connection, automatic: { cloud: { public_hostname: "33.33.33.10" } })
  end

  let(:node_two) do
    Ridley::Node.new(connection, automatic: { cloud: { public_hostname: "33.33.33.11" } })
  end

  describe "ClassMethods" do
    subject { Ridley::SSH }
    
    describe "::start" do
      let(:options) do
        {
          user: "vagrant",
          password: "vagrant"
        }
      end

      it "evaluates within the context of a new SSH and returns the last item in the block" do
        result = subject.start([node_one, node_two], options) do |ssh|
          ssh.run("ls")
        end

        result.should be_a(Ridley::SSH::ResponseSet)
      end

      it "raises a LocalJumpError if a block is not provided" do        
        expect {
          subject.start([node_one, node_two], options)
        }.to raise_error(LocalJumpError)
      end
    end
  end

  subject { Ridley::SSH.new([node_one, node_two], user: "vagrant", password: "vagrant") }

  describe "#run" do
    it "returns an SSH::ResponseSet" do
      subject.run("ls").should be_a(Ridley::SSH::ResponseSet)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ridley-0.7.0.beta spec/unit/ridley/ssh_spec.rb
ridley-0.6.3 spec/unit/ridley/ssh_spec.rb
ridley-0.6.2 spec/unit/ridley/ssh_spec.rb
ridley-0.6.1 spec/unit/ridley/ssh_spec.rb
ridley-0.6.0 spec/unit/ridley/ssh_spec.rb