Testing ssh connection

后端 未结 2 369
别那么骄傲
别那么骄傲 2021-01-14 08:21

an important part of my project is to log in into remote server with ssh and do something with files on it:

Net::SSH.start(@host, @username, :password =>          


        
2条回答
  •  不思量自难忘°
    2021-01-14 08:59

    I think it's enough to test that you're sending the correct commands to the ssh server. You're application presumably doesn't implement the server - so you have to trust that the server is correctly working and tested.

    If you do implement the server then you'd need to test that, but as far as the SSH stuff goes, i'd do some mocking like this (RSpec 2 syntax):

    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
    

提交回复
热议问题