在 rspec-puppet 测试中使用外部变量
Using external variable in rspec-puppet test
有些人坚持使用 rspec 中的变量。
这是我的 params.pp
case $::osfamily{
Debian: {
$ssh_daemon = "ssh"
}
Redhat: {
$ssh_daemon = "sshd"
}
在 rspec 测试中,我需要像这样使用变量 $ssh_daemon:
it { should contain_service("${ssh_daemon}").with(
:ensure => 'running',
:enable => 'true',
)}
这是我的 ssh.pp 文件
service { "${ssh_daemon}":
ensure => running,
enable => true,
}
我如何编写这个变量 ($ssh_daemon) 来让这个测试工作?
您可以通过模拟 Facter 输出来做到这一点。
类似于:
context 'service on debian' do
let(:facts) { { :osfamily => 'Debian' } }
it { should contain_service("ssh") }
end
context 'service on redhat' do
let(:facts) { { :osfamily => 'RedHat' } }
it { should contain_service("sshd") }
end
有些人坚持使用 rspec 中的变量。 这是我的 params.pp
case $::osfamily{
Debian: {
$ssh_daemon = "ssh"
}
Redhat: {
$ssh_daemon = "sshd"
}
在 rspec 测试中,我需要像这样使用变量 $ssh_daemon:
it { should contain_service("${ssh_daemon}").with(
:ensure => 'running',
:enable => 'true',
)}
这是我的 ssh.pp 文件
service { "${ssh_daemon}":
ensure => running,
enable => true,
}
我如何编写这个变量 ($ssh_daemon) 来让这个测试工作?
您可以通过模拟 Facter 输出来做到这一点。
类似于:
context 'service on debian' do
let(:facts) { { :osfamily => 'Debian' } }
it { should contain_service("ssh") }
end
context 'service on redhat' do
let(:facts) { { :osfamily => 'RedHat' } }
it { should contain_service("sshd") }
end