Как использовать или условие в serverpec?

У меня есть веб-сайт, который будет проверен на код состояния. Использование команды curl для получения кода состояния веб-сайта. Иногда он дает 200 и 302 кодов состояния. Я использую серверную спецификацию для проверки кода состояния сайта. Поскольку я получаю 2 кода состояния, я хочу использовать условие 'или', чтобы это сделать. Как я мог это использовать. Вот мой тестовый сервер Serverspec.

describe command('curl -IL --retry 4 "www.example.com"') do
  its(:stdout) { should match '200' or '302' }
end

Этот дает мне ошибку.

1 ответ

Решение

Я никогда не видел или в serverpec. Но, возможно, просто решите это в самой команде:

describe command('curl -sL -w "%{http_code}\\n" "www.example.com" -o /dev/null | sed "s/200/OK/" | sed "s/302/OK/"') do
  its(:stdout) { should match 'OK' }
end
Другие вопросы по тегам