Esempio n. 1
0
    def test_cmd(self):
        """ Test for the command dispatcher. """
        global MOCK_sercmd_ret, MOCK_sshcmd_ret, MOCK_sshcmd_raise
        MOCK_sercmd_ret = "Serial command execution"
        MOCK_sshcmd_ret = "SSH command execution"

        c = Connection(network_setup = ("hurz", "bla-if0"))
        MockSerialConn.called = deepcopy(MockSerialConn._MockSerialConn__called)

        # check for ssh command execution
        self.assertEquals(c.cmd("test-command"), (0, MOCK_sshcmd_ret))

        self.assertEquals(len(MockSshConn.called["cmd"]), 1)
        self.assertEquals(MockSshConn.called["cmd"][0], "test-command")
        self.assertEquals(len(MockSerialConn.called["cmd"]), 0)

        # generate an exception for ssh to check for serial execution
        MOCK_sshcmd_raise = Exception()
        self.assertEquals(c.cmd("test-2-command"), (0, MOCK_sercmd_ret))
        self.assertEquals(MockSerialConn.called["cmd"][0], "test-2-command")
        self.assertEquals(len(MockSerialConn.called["cmd"]), 1)