Como testar a ausência de arquivos com o serverspec?

6

O guia serverspec sobre tipos de recursos não explica como testar a ausência de um arquivo, em vez de sua presença. Isso é o melhor que eu consegui fazer:

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

Isso parece terrivelmente desajeitado, mas é melhor do que alavancar os recursos internos :

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

Existe uma maneira melhor de fazer isso?

    
por conorsch 14.04.2015 / 21:13

1 resposta

6

O objeto serverspec File agora responde .exists? , então isso funciona:

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

O recurso foi adicionado no serverpec v2.17.0.

    
por 16.04.2015 / 21:23