WIP
This commit is contained in:
parent
1c794fc8b8
commit
cc385e3e28
|
@ -30,8 +30,9 @@ module RSpec::Puppet
|
|||
|
||||
nodename = self.respond_to?(:node) ? node : Puppet[:certname]
|
||||
facts_val = self.respond_to?(:facts) ? facts : {}
|
||||
additional_resources = self.respond_to?(:virtual_resources) ? virtual_resources : []
|
||||
|
||||
build_catalog(nodename, facts_val)
|
||||
build_catalog(nodename, facts_val, additional_resources)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -37,8 +37,9 @@ module RSpec::Puppet
|
|||
'fqdn' => nodename,
|
||||
}
|
||||
facts_val.merge!(facts) if self.respond_to?(:facts)
|
||||
additional_resources = self.respond_to?(:virtual_resources) ? virtual_resources : []
|
||||
|
||||
build_catalog(nodename, facts_val)
|
||||
build_catalog(nodename, facts_val, additional_resources)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -23,7 +23,7 @@ module RSpec::Puppet
|
|||
ret = true
|
||||
resource = catalogue.resource(@referenced_type, @title)
|
||||
|
||||
if resource.nil?
|
||||
if resource.nil? or resource.virtual?
|
||||
ret = false
|
||||
else
|
||||
if @expected_params
|
||||
|
|
|
@ -1,17 +1,25 @@
|
|||
module RSpec::Puppet
|
||||
module Support
|
||||
def build_catalog nodename, facts_val
|
||||
module Support
|
||||
def build_catalog(nodename, facts_val, additional_resources)
|
||||
node_obj = Puppet::Node.new(nodename)
|
||||
|
||||
node_obj.merge(facts_val)
|
||||
|
||||
# trying to be compatible with 2.7 as well as 2.6
|
||||
if Puppet::Resource::Catalog.respond_to? :find
|
||||
Puppet::Resource::Catalog.find(node_obj.name, :use_node => node_obj)
|
||||
catalogue = Puppet::Resource::Catalog.find(node_obj.name, :use_node => node_obj)
|
||||
else
|
||||
require 'puppet/face'
|
||||
Puppet::Face[:catalog, :current].find(node_obj.name, :use_node => node_obj)
|
||||
catalogue = Puppet::Face[:catalog, :current].find(node_obj.name, :use_node => node_obj)
|
||||
end
|
||||
|
||||
additional_resources = [additional_resources] if additional_resources.is_a? Hash
|
||||
additional_resources.each do |resource|
|
||||
catalogue.add_resource Puppet::Resource.new(resource[:type], resource[:title], {:virtual => true, :parameters => resource[:parameters]})
|
||||
end
|
||||
|
||||
p catalogue.resource('File[foo]').virtual?
|
||||
catalogue.compile
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'virtual::realise_file' do
|
||||
let(:virtual_resources) {
|
||||
{
|
||||
:type => 'file',
|
||||
:title => 'foo',
|
||||
:parameters => {
|
||||
:owner => 'root',
|
||||
:group => 'root',
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
it { should contain_file('foo').with_owner('root').with_group('root') }
|
||||
end
|
|
@ -0,0 +1,3 @@
|
|||
class virtual::realise_file {
|
||||
File<| |>
|
||||
}
|
Loading…
Reference in New Issue