Назад | Перейти на главную страницу

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

В 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

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

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

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

Особенность был добавлен в serverpec v2.17.0.