mirror of
https://github.com/PiBrewing/craftbeerpi4.git
synced 2024-11-30 10:44:14 +01:00
45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
|
import asyncio
|
||
|
from aiohttp.test_utils import AioHTTPTestCase, unittest_run_loop
|
||
|
from cbpi.craftbeerpi import CraftBeerPi
|
||
|
|
||
|
|
||
|
class SensorTestCase(AioHTTPTestCase):
|
||
|
|
||
|
async def get_application(self):
|
||
|
self.cbpi = CraftBeerPi()
|
||
|
await self.cbpi.init_serivces()
|
||
|
return self.cbpi.app
|
||
|
|
||
|
@unittest_run_loop
|
||
|
async def test_crud(self):
|
||
|
|
||
|
data = {
|
||
|
"name": "CustomSensor",
|
||
|
"type": "CustomSensor",
|
||
|
"config": {
|
||
|
"interval": 1
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# Add new sensor
|
||
|
resp = await self.client.post(path="/sensor/", json=data)
|
||
|
assert resp.status == 200
|
||
|
|
||
|
m = await resp.json()
|
||
|
sensor_id = m["id"]
|
||
|
|
||
|
# Get sensor
|
||
|
resp = await self.client.get(path="/sensor/%s"% sensor_id)
|
||
|
assert resp.status == 200
|
||
|
|
||
|
m2 = await resp.json()
|
||
|
sensor_id = m2["id"]
|
||
|
|
||
|
# Update Sensor
|
||
|
resp = await self.client.put(path="/sensor/%s" % sensor_id, json=m)
|
||
|
assert resp.status == 200
|
||
|
|
||
|
# # Delete Sensor
|
||
|
resp = await self.client.delete(path="/sensor/%s" % sensor_id)
|
||
|
assert resp.status == 204
|