Как проверить отсутствие файла с serverpec?

Руководство по серверной спецификации по типам ресурсов не объясняет, как проверить наличие файла, а не его наличие. Это лучшее, что я мог придумать:

describe command('/bin/bash -c "[[ ! -e /var/foo ]]"') do
  its(:exit_status) { should eq 0 }
end

Это кажется ужасно неуклюжим, но лучше, чем использование встроенных функций:

describe file('/var/foo') do
  it { should_not be_file }
  it { should_not be_directory }
  it { should_not be_socket }
  it { should_not be_symlink }
end

Есть лучший способ сделать это?

1 ответ

Решение

Спекуляция сервера File объект теперь отвечает .exists?так что это работает:

describe file('/var/foo') do
  it { should_not exist }
end

Эта функция была добавлена в serverpec v2.17.0.

Другие вопросы по тегам