Sha256: 52b54edb1eae588464bafadb3be34d052a0acb08f485b6c693e1c087886c3bc9

Contents?: true

Size: 987 Bytes

Versions: 60

Compression:

Stored size: 987 Bytes

Contents

require 'spec_helper'
require 'facter/gce/metadata'

describe "gce_metadata" do
  let(:querier) { stub('GCE metadata querier') }

  before do
    Facter::GCE::Metadata.stubs(:new).returns querier
    Facter.collection.internal_loader.load(:ec2)
  end

  subject { Facter.fact(:gce).resolution(:rest) }

  it "is unsuitable when the virtual type is not gce" do
    Facter.fact(:virtual).stubs(:value).returns 'kvm'
    expect(subject).to_not be_suitable
  end

  it "is unsuitable when JSON is not available" do
    Facter.stubs(:json?).returns false
    expect(subject).to_not be_suitable
  end

  it "is suitable when both the virtual type is gce and JSON is available" do
    Facter.fact(:virtual).stubs(:value).returns 'gce'
    Facter.stubs(:json?).returns true
    expect(subject).to be_suitable
  end

  it "resolves the fact by querying GCE metadata API" do
    querier.expects(:fetch).returns({'hello' => 'world'})
    expect(subject.value).to eq({'hello' => 'world'})
  end
end

Version data entries

60 entries across 60 versions & 1 rubygems

Version Path
facter-2.5.7 spec/unit/gce_spec.rb
facter-2.5.7-x86-mingw32 spec/unit/gce_spec.rb
facter-2.5.7-x64-mingw32 spec/unit/gce_spec.rb
facter-2.5.7-universal-darwin spec/unit/gce_spec.rb
facter-2.5.6-x86-mingw32 spec/unit/gce_spec.rb
facter-2.5.6-x64-mingw32 spec/unit/gce_spec.rb
facter-2.5.6-universal-darwin spec/unit/gce_spec.rb
facter-2.5.6 spec/unit/gce_spec.rb
facter-2.5.5-x86-mingw32 spec/unit/gce_spec.rb
facter-2.5.5-x64-mingw32 spec/unit/gce_spec.rb
facter-2.5.5-universal-darwin spec/unit/gce_spec.rb
facter-2.5.5 spec/unit/gce_spec.rb
facter-2.5.4-x86-mingw32 spec/unit/gce_spec.rb
facter-2.5.4-x64-mingw32 spec/unit/gce_spec.rb
facter-2.5.4-universal-darwin spec/unit/gce_spec.rb
facter-2.5.4 spec/unit/gce_spec.rb
facter-2.5.1 spec/unit/gce_spec.rb
facter-2.5.1-x86-mingw32 spec/unit/gce_spec.rb
facter-2.5.1-x64-mingw32 spec/unit/gce_spec.rb
facter-2.5.1-universal-darwin spec/unit/gce_spec.rb