def test_send_when_not_open_must_fail(self): ''' Test that sending a command when the device is not open will fail. ''' mock_monitor = mock() mock_device = mock() controller = DeviceController(mock_device, usb_transfer_types.RAW, mock_monitor, logger=self._logger) when(mock_device).is_open().thenReturn(False) self.assertFalse(controller.send('foo')) verify(mock_device, times=0).send(any(), any())
def test_send_recv_must_fail(self): ''' Generate an IOError on receive. ''' mock_monitor = mock() mock_device = mock() controller = DeviceController(mock_device, usb_transfer_types.RAW, mock_monitor, logger=self._logger) when(mock_device).is_open().thenReturn(True) when(mock_device).receive().thenRaise(IOError()) when(mock_device).get_packet_size().thenReturn(64) self.assertFalse(controller.send('foo')) verify(mock_device, times=1).send(any()) verify(mock_device, times=1).receive()
def test_send_command_understood(self): ''' Test that the device understood the command. ''' mock_monitor = mock() mock_device = mock() controller = DeviceController(mock_device, usb_transfer_types.RAW, mock_monitor, logger=self._logger) when(mock_device).is_open().thenReturn(True) data = 'ack' + '\0' * (64 - len('ack')) when(mock_device).receive().thenReturn(data) when(mock_device).get_packet_size().thenReturn(64) self.assertTrue(controller.send('foo')) verify(mock_device, times=1).send(any()) verify(mock_device, times=1).receive()