Я думаю, достаточно проверить, что вы отправляете правильные команды на сервер ssh. Ваше приложение, по-видимому, не реализует сервер, поэтому вы должны верить, что сервер правильно работает и протестирован.
Если вы внедрите сервер, вам нужно будет это протестировать, но что касается работы с SSH, я бы сделал несколько насмешек, подобных этому (синтаксис RSpec 2):
describe "SSH Access" do
let (:ssh_connection) { mock("SSH Connection") }
before (:each) do
Net::SSH.stub(:start) { ssh_connection }
end
it "should send rename commands to the connection" do
ssh_connection.should_receive(:exec!).ordered.with("expected command")
ssh_connection.should_receive(:exec!).ordered.with("next expected command")
SSHAccessClass.rename_files!
end
end