def test_put(self):
"""Test put method"""
device = self._test_device()
mockDBObject.return_value = device
with patch.object(reqparse.RequestParser, 'parse_args'):
resource = RestDevice(restapi=self.restapi, server=self.server)
# Fail to find a device: raises 404 NotFound
with patch.object(Device, 'find', classmethod(mockDBObject.findFail)):
yield self.assertFailure(resource.put(device.deveui), e.NotFound)
# Find a device, device fails validity check: raises 400 BadRequest
with patch.object(Device, 'find', classmethod(mockDBObject.findSuccess)):
device.valid = MagicMock(return_value=(False, {}))
yield self.assertFailure(resource.put(device.deveui), e.BadRequest)
# Pass validity check, returns 200
expected = ({}, 200)
device.valid = MagicMock(return_value=(True, {}))
device.update = MagicMock()
result = yield resource.put(device.deveui)
self.assertEqual(expected, result)
评论列表
文章目录