Sha256: 8b84c24c4dac874ca5ebc6bc20d220d92f8417eb5695a50ffa69f5c5f97d125b

Contents?: true

Size: 1.17 KB

Versions: 3

Compression:

Stored size: 1.17 KB

Contents

#!/usr/bin/env ruby

require File.dirname(__FILE__) + '/../../../spec_helper'

require 'puppet/node'

describe "Puppet::Node::ActiveRecord" do
  include PuppetSpec::Files

  confine "Missing Rails" => Puppet.features.rails?
  confine "Missing sqlite" => Puppet.features.sqlite?
  before do
    require 'puppet/indirector/node/active_record'
  end

  it "should be a subclass of the ActiveRecord terminus class" do
    Puppet::Node::ActiveRecord.ancestors.should be_include(Puppet::Indirector::ActiveRecord)
  end

  it "should use Puppet::Rails::Host as its ActiveRecord model" do
    Puppet::Node::ActiveRecord.ar_model.should equal(Puppet::Rails::Host)
  end

  it "should call fact_merge when a node is found" do
    db_instance = stub 'db_instance'
    Puppet::Node::ActiveRecord.ar_model.expects(:find_by_name).returns db_instance

    node = Puppet::Node.new("foo")
    db_instance.expects(:to_puppet).returns node

    Puppet[:statedir] = tmpdir('active_record_tmp')
    Puppet[:railslog] = '$statedir/rails.log'
    ar = Puppet::Node::ActiveRecord.new

    node.expects(:fact_merge)

    request = Puppet::Indirector::Request.new(:node, :find, "what.ever")
    ar.find(request)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
puppet-2.6.4 spec/unit/indirector/node/active_record_spec.rb
puppet-2.6.3 spec/unit/indirector/node/active_record_spec.rb
puppet-2.6.2 spec/unit/indirector/node/active_record_spec.rb