Class: RSpec::Puppet::Adapters::Base
- Inherits:
-
Object
- Object
- RSpec::Puppet::Adapters::Base
show all
- Defined in:
- lib/rspec-puppet/adapters.rb
Instance Method Summary
collapse
Instance Method Details
#catalog(node, exported) ⇒ Object
86
87
88
89
90
91
92
93
|
# File 'lib/rspec-puppet/adapters.rb', line 86
def catalog(node, exported)
if exported
Puppet::Parser::Compiler.compile(node).filter { |r| !r.exported? }
else
Puppet::Resource::Catalog.indirection.find(node.name, use_node: node)
end
end
|
#current_environment ⇒ Object
95
96
97
|
# File 'lib/rspec-puppet/adapters.rb', line 95
def current_environment
Puppet::Node::Environment.new(@environment_name)
end
|
#get_setting(example_group, rspec_setting) ⇒ Object
78
79
80
81
82
83
84
|
# File 'lib/rspec-puppet/adapters.rb', line 78
def get_setting(example_group, rspec_setting)
if example_group.respond_to?(rspec_setting)
example_group.send(rspec_setting)
else
RSpec.configuration.send(rspec_setting)
end
end
|
#manifest ⇒ String?
Returns The path to the Puppet manifest if it is present and set, nil otherwise.
112
113
114
|
# File 'lib/rspec-puppet/adapters.rb', line 112
def manifest
Puppet[:manifest]
end
|
#modulepath ⇒ Object
107
108
109
|
# File 'lib/rspec-puppet/adapters.rb', line 107
def modulepath
Puppet[:modulepath].split(File::PATH_SEPARATOR)
end
|
#settings_map ⇒ Object
99
100
101
102
103
104
105
|
# File 'lib/rspec-puppet/adapters.rb', line 99
def settings_map
[
%i[modulepath module_path],
%i[config config],
%i[confdir confdir]
]
end
|
#setup_puppet(example_group) ⇒ void
This method returns an undefined value.
Set up all Puppet settings applicable for this Puppet version as application defaults.
Puppet setting values can be taken from the global RSpec configuration, or from the currently executing RSpec context. When a setting is specified both in the global configuration and in the example group, the setting in the example group is preferred.
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/rspec-puppet/adapters.rb', line 44
def setup_puppet(example_group)
settings = settings_map.map do |puppet_setting, rspec_setting|
[puppet_setting, get_setting(example_group, rspec_setting)]
end.flatten
default_hash = { confdir: '/dev/null', vardir: '/dev/null' }
if defined?(Puppet::Test::TestHelper) && Puppet::Test::TestHelper.respond_to?(:app_defaults_for_tests, true)
default_hash.merge!(Puppet::Test::TestHelper.send(:app_defaults_for_tests))
end
settings_hash = default_hash.merge(Hash[*settings])
if Gem.win_platform?
settings_hash.each_with_object(settings_hash) do |(k, v), h|
h[k] = v == '/dev/null' ? 'c:/nul/' : v
end
end
if Puppet.settings.respond_to?(:initialize_app_defaults)
Puppet.settings.initialize_app_defaults(settings_hash)
Puppet.settings[:environmentpath] = settings_hash[:environmentpath] if settings_hash.key?(:environmentpath)
else
settings_hash.each do |setting, value|
Puppet.settings[setting] = value
end
end
@environment_name = example_group.environment
end
|