Sha256: 2a7c0103382c42573a2a0641374a4f96c025d01bd8b74262f5802090c8190749

Contents?: true

Size: 1.48 KB

Versions: 12

Compression:

Stored size: 1.48 KB

Contents

require 'spec_helper'
require 'mulder/capistrano'

describe Mulder::Capistrano do

  describe '#client' do
    it 'instantiates a new client with the correct role' do
      mocked_connection = mock
      mocked_config = mock
      Mulder::Config.expects(:from).returns(mocked_config)
      Mulder::Connection.expects(:new).returns(mocked_connection)

      capistrano = described_class.new('foo', 'bar', 'widget')
      ::Mulder::Client.expects(:new).with(mocked_connection, 'bar', 'widget', 'ROLE')

      capistrano.client('ROLE')
    end
  end

  describe '.ips' do
    it 'it returns the public ips for the client' do
      mocked_connection = mock
      mocked_config = mock
      Mulder::Config.expects(:from).returns(mocked_config)
      Mulder::Connection.expects(:new).returns(mocked_connection)

      capistrano = described_class.new('foo', 'bar', 'widget')
      capistrano.expects(:client).with('bananas').returns(mock(instances: [mock(public_ip_address: 'foo')]))

      capistrano.ips('bananas').should == ['foo']
    end

    it 'returns the private ips for the client' do
      mocked_connection = mock
      mocked_config = mock
      Mulder::Config.expects(:from).returns(mocked_config)
      Mulder::Connection.expects(:new).returns(mocked_connection)

      capistrano = described_class.new('foo', 'bar', 'widget')
      capistrano.expects(:client).with('bananas').returns(mock(instances: [mock(private_ip_address: 'foo')]))

      capistrano.ips('bananas', true).should == ['foo']
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
mulder-0.4.0 spec/lib/mulder/capistrano_spec.rb
mulder-0.3.2 spec/lib/mulder/capistrano_spec.rb
mulder-0.3.1 spec/lib/mulder/capistrano_spec.rb
mulder-0.3.0 spec/lib/mulder/capistrano_spec.rb
mulder-0.2.1 spec/lib/mulder/capistrano_spec.rb
mulder-0.2.0 spec/lib/mulder/capistrano_spec.rb
mulder-0.1.0 spec/lib/mulder/capistrano_spec.rb
mulder-0.0.5 spec/lib/mulder/capistrano_spec.rb
mulder-0.0.4 spec/lib/mulder/capistrano_spec.rb
mulder-0.0.3 spec/lib/mulder/capistrano_spec.rb
mulder-0.0.2 spec/lib/mulder/capistrano_spec.rb
mulder-0.0.1 spec/lib/mulder/capistrano_spec.rb