У меня есть поваренная книга шеф-повара с приведенным ниже кодом, и мне нужно написать тест inspec для проверки наличия файла. Я знаю, как проверить, существует ли файл или нет, но у меня проблемы с запуском if / check (новичок в ruby / chef), а затем выводом переменной 'project' для поваренной книги и использованием ее как части пути к файлу.
if auth_basic_pass && auth_basic_pass.length > 0
auth_basic_pass.each do |element|
project = element.split("/").first
cookbook_file project + ".pass" do
path "/usr/local/nginx/conf/" + project + ".pass"
notifies :reload, 'service[nginx]', :delayed
end
end
end
EDIT
Это то, что я имею до сих пор, в настоящее время он намеренно пропускается, потому что значение установлено в true для имитации auth_basic_pass
существующего.
describe file ('/usr/local/nginx/conf/'+ 'project' + '.pass') do
let(:auth_basic_pass) { true }
before do
skip if auth_basic_pass # auth_basic_pass variable doesn't exist but I can't find the location in the vm
end
it { should exist }
end