【发布时间】:2020-12-05 02:45:33
【问题描述】:
我正在尝试编写 rspec 测试木偶代码。在我的 puppet 中,我调用了一个不属于此类的定义类型。 (先前定义)人偶代码在分支测试中找到,但 rspec 无法通过“reuire”。 木偶:
$gluster_path = '/usr/libexec/zabbix-gluster'
$gluster_discovery_script = "${gluster_path}/gstatus_discovery.py"
$user_param_lines = [
"UserParameter=gluster_volume_info[*],${gluster_discovery_script} \$1 \$2\n",
"UserParameter=gluster_storage_info[*],${gluster_discovery_script} \$1\n",
"UserParameter=gluster_volume_name.discovery,${gluster_discovery_script}\n",
]
...
zabbix::agent::userparam { 'glusterfs':
content => join($user_param_lines, ''),
}
Rspec:
...
it {
is_expected.to contain_zabbix__agent__userparam('cnvr-zabbix-gluster')
}
定义类型:
define zabbix::agent::userparam($content = undef, $source = undef) {
...
file { "/etc/zabbix/zabbix_agentd.d/userparameter_${title}.conf":
...
require => [
Package['zabbix-agent'],
File['zabbix_agentd_dir'],
],
content => $content,
source => $_source,
notify => Service['zabbix-agent'],
}
zabbix-agent 已从其他模块安装。但是一直提示错误:
木偶::错误: 在节点上的参数“require”(文件:/home/edwu/puppet/modules/zabbix/manifests/agent/userparam.pp,行:17)中找不到资源“Package [zabbix-agent]”
有没有办法在 rspec 中跳过此要求检查?
【问题讨论】: