def test_add_find_device(self): m_session = mock.Mock() m_date = datetime.utcnow() # TODO(Dantali0n): change into setting attributes directly m_atribs = { "cpm": 12, "svh": 0.0045, "timestamp": m_date, "device": device.DeviceObject(**{'name': 'test'}) } with mock.patch.object(ms, 'DeviceObject') as m_find: test_obj = ms.MeasurementObject(**m_atribs) m_dev = Device() m_dev.id = 1 m_find.find.return_value = m_dev ms.MeasurementObject.add(m_session, test_obj) m_session.add.assert_has_calls([ mock.call(test_obj.m_measurement), ], any_order=True) m_session.commit.assert_called_once() m_find.find.assert_called_once()
def test_delete(self): m_session = mock.Mock() # TODO(Dantali0n): change into setting attributes directly m_atribs = { "id": 1, "name": "test1", "interface": DeviceInterfaces.SERIAL, "implementation": "ArduinoGeigerPCB", } m_query = mock.Mock() m_device = Device() m_device.id = 1 m_device.name = "test1" m_device.interface = DeviceInterfaces.SERIAL m_device.implementation = mock.Mock( code="ArduinoGeigerPCB", value="arduinogeigerpcb") m_session.query.return_value.filter_by.return_value = m_query m_query.one_or_none.return_value = m_device test_obj = DeviceObject(**m_atribs) DeviceObject.delete(m_session, test_obj) m_session.delete.assert_has_calls( [ mock.call(m_device), ], any_order=True ) m_session.commit.assert_called_once()
def test_find_obj(self): """Represents mocked device as it will be retrieved from db """ m_device = Device() m_device.id = 1 m_device.name = "value2" m_device.interface = DeviceInterfaces.SERIAL m_device.implementation = mock.Mock( code="ArduinoGeigerPCB", value="arduinogeigerpcb") m_device_serial = SerialDevice() m_device_serial.port = "/dev/ttyUSB0" m_device_serial.baudrate = 115200 m_device_serial.bytesize = SerialBytesizeTypes.EIGHTBITS m_device_serial.parity = SerialParityTypes.PARITY_ODD m_device_serial.stopbits = SerialStopbitTypes.STOPBITS_ONE m_device.serial = [m_device_serial] """Setup query and session to return mocked device""" m_query = mock.Mock() m_session = mock.Mock() m_session.query.return_value.filter_by.return_value.\ join.return_value.filter_by.return_value = m_query m_query.one_or_none.return_value = m_device test_obj = sd.SerialDeviceObject(**{"baudrate": 115200}) result_obj = sd.SerialDeviceObject.find(m_session, test_obj, False) self.assertEqual(1, result_obj.id) self.assertEqual("/dev/ttyUSB0", result_obj.port) self.assertEqual(8, result_obj.bytesize) self.assertEqual("odd", result_obj.parity) self.assertEqual(1, result_obj.stopbits)
def test_find_obj(self): """Represents mocked device as it will be retrieved from db """ m_device = Device() m_device.id = 1 m_device.name = "test" m_device.interface = DeviceInterfaces.SERIAL m_device.implementation = mock.Mock( code="ArduinoGeigerPCB", value="arduinogeigerpcb") """Setup query and session to return mocked device""" m_query = mock.Mock() m_session = mock.Mock() m_session.query.return_value.filter_by.return_value = m_query m_query.one_or_none.return_value = m_device test_obj = DeviceObject(**{"id": 1}) result_obj = DeviceObject.find(m_session, test_obj, False) self.assertEqual(1, result_obj.id) self.assertEqual("test", result_obj.name) self.assertEqual("serial", result_obj.interface) self.assertEqual(ArduinoGeigerPcb.NAME, result_obj.implementation)