Sha256: cf9565e7cd9820bf66961197639d128091db83c7ddb02a3448be0bcb728b3d81

Contents?: true

Size: 839 Bytes

Versions: 1

Compression:

Stored size: 839 Bytes

Contents

require "spec_helper"

describe Fog::CurrentMachine do
  before do
    @was_mocking = Fog.mock?
    Fog.mock!

    @old_excon_defaults_mock = Excon.defaults[:mock]
    Excon.defaults[:mock] = true
  end

  after do
    Fog.unmock! unless @was_mocking

    Fog::CurrentMachine.ip_address = nil
    Excon.stubs.clear
    Excon.defaults[:mock] = @old_excon_defaults_mock
  end

  describe "ip_address" do
    it "should be thread safe" do

      (1..10).map do
        Thread.new do
          Excon.stub({ method: :get, path: "/" }, { body: "" })
          Fog::CurrentMachine.ip_address
        end
      end.each(&:join)
    end

    it "should remove trailing endline characters" do
      Excon.stub({ method: :get, path: "/" }, { body: "192.168.0.1\n" })
      assert_equal "192.168.0.1", Fog::CurrentMachine.ip_address
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-core-2.4.0 spec/current_machine_spec.rb