Я хотел бы использовать chefspec для проверки идемпотентности моего рецепта.
Допустим, у меня есть рецепт, который включает эти два оператора ресурсов:
file '/etc/app.config' do
action :create
notifies :restart, "service[app]"
end
service 'app' do
action :enable
end
Как я могу написать пример chefspec, который доказывает, что если файл /etc/app.config
уже существует, то служба app
не будет уведомлена о перезапуске?
Есть ли какое-то издевательство, которое я могу сделать, чтобы ресурс «файл» думал, что файл уже существует? Могу ли я запустить ChefSpec::ServerRunner дважды, сохранив состояние первого запуска (полагаю, что нет, так как файл на самом деле не будет создан)? Или мне придется использовать test-kitchen и Vagrant, чтобы добиться реальных результатов?
(Примечание: в моей реальной поваренной книге есть собственный LWRP, который создает файл конфигурации. Он получает информацию от сервера шеф-повара, поэтому я использую ServerRunner)