Sha256: 59cdde6a4949e3b10e9ea1cbf81338692ec1a3e545ceb2e74e9588fa711d5cc3

Contents?: true

Size: 1.14 KB

Versions: 2

Compression:

Stored size: 1.14 KB

Contents

require File.expand_path('spec/spec_helper')
require 'fog/arubacloud/compute/models/ip'

describe Fog::ArubaCloud::Compute::IP do
  include ModelSetup

  let (:ip_class) do
    class Fog::ArubaCloud::Compute::IP
      def self.read_identity
        instance_variable_get('@identity')
      end
    end
    Fog::ArubaCloud::Compute::IP
  end

  let(:service) { Object.new }
  let(:ip) { Fog::ArubaCloud::Compute::IP.new }

  it 'must respond to #purchase' do
    ip.must_respond_to :purchase
  end

  it 'must respond to #remove' do
    ip.must_respond_to :remove
  end

  describe '#remove' do
    describe 'without ServerId set' do
      before :each do
        ip.id = nil
      end

      it 'should raise ArgumentError' do
        ip.stub(:service, service) do
          proc {ip.remove}.must_raise ArgumentError
        end
      end
    end

    describe 'still attached to the server' do
      before :each do
        ip.id = 23432
        ip.server = 3254324
      end

      it 'should raise RequestError' do
        ip.stub(:service, service) do
          proc {ip.remove}.must_raise Fog::ArubaCloud::Errors::RequestError
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fog-arubacloud-0.0.6 spec/fog/compute/arubacloud/models/ip_spec.rb
fog-arubacloud-0.0.5 spec/fog/compute/arubacloud/models/ip_spec.rb