У меня проблемы с исправлением приемочного теста в моем модуле кукол.
Я должен проверить два ssh-соединения.Первый разрешен, а второй нет.
Вот код:
# Test if toto can access to client (allowed)
describe command('ssh -o "StrictHostKeyChecking no" toto@192.168.44.37 id') do
its(:exit_status) { is_expected.to be 0 }
end
# Test if toto can access to master (not allowed)
describe command('ssh -o "StrictHostKeyChecking no" toto@localhost id') do
its(:exit_status) { is_expected.not_to be 0 }
end
Первый тест выполнен успешно, команда работает, возвращает 0, что является выходомОжидаемый статус.
Второй тест выше не пройден.Сбой соединения ssh (как и ожидалось), поскольку пользователь не разрешен, но тест возвращает ошибку.
Вот вывод:
Failure/Error: its(:exit_status) { is_expected.not_to be 0 }
Beaker::Host::CommandFailure:
Host 'ipa-server-1' exited with 255 running:
/bin/sh -c ssh\ -o\ \"StrictHostKeyChecking\ no\"\ toto@localhost\ id
Last 10 lines of output were:
Authentication failed.
Если я попробую сам команду ssh -o "StrictHostKeyChecking no" toto@localhost id
затем echo $?
, я получаю 255 ...
Следующие строки представляют собой несколько тестов, которые я пробовал, но они тоже не работали:
its(:exit_status) { is_expected.to be 255 }
its(:stderr) { is_expected.to match(/.*failed.*/m) }
its(:stderr) { is_expected.to contain(/.*failed.*/m) }
its(:stdout) { is_expected.to match(/.*failed.*/m) }
its(:stdout) { is_expected.to contain(/.*failed.*/m) }
Чего мне не хватает?