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)