Files
rapt-cloud-api/tests/test_fermentation_chamber.py
2025-10-29 14:52:18 +01:00

75 lines
3.3 KiB
Python

import pytest
import json
from aiohttp import web
from aioresponses import aioresponses
from rapt.client import Client
from rapt.fermentation_chamber import FermentationChamber
@pytest.fixture
async def client(aiohttp_client):
app = web.Application()
await aiohttp_client(app)
yield Client("test", "test")
async def test_get_fermentation_chambers(client):
with aioresponses() as responses:
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
responses.get("/api/fermentationchambers/getfermentationchambers", payload=json_reader("./tests/json/get_fermentation_chambers_response.json"))
fermentation_chamber = FermentationChamber(client)
ferms = await fermentation_chamber.get_fermentation_chambers()
assert ferms is not None
assert len(ferms) == 1
async def test_get_fermentation_chambers_500(client):
with aioresponses() as responses:
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
responses.get("/api/fermentationchambers/getfermentationchambers", status=500)
fermentation_chamber = FermentationChamber(client)
ferms = await fermentation_chamber.get_fermentation_chambers()
assert ferms is None
async def test_get_fermentation_chamber(client):
with aioresponses() as responses:
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
responses.get("/api/fermentationchambers/getfermentationchamber", payload=json_reader("./tests/json/get_fermentation_chamber_response.json"))
fermentation_chamber = FermentationChamber(client)
ferms = await fermentation_chamber.get_fermentation_chamber("")
assert ferms is not None
async def test_get_fermentation_chamber_500(client):
with aioresponses() as responses:
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
responses.get("/api/fermentationchambers/getfermentationchamber", status=500)
fermentation_chamber = FermentationChamber(client)
ferms = await fermentation_chamber.get_fermentation_chamber("")
assert ferms is None
async def test_get_telemetry(client):
with aioresponses() as responses:
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
responses.get("/api/fermentationchambers/gettelemetry", payload=json_reader("./tests/json/get_fermentation_chamber_telemetry_response.json"))
fermentation_chamber = FermentationChamber(client)
telemetry = await fermentation_chamber.get_telemetry("", "", "", "")
assert telemetry is not None
assert len(telemetry) == 1
async def test_get_telemetry_500(client):
with aioresponses() as responses:
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
responses.get("/api/fermentationchambers/gettelemetry", status=500)
fermentation_chamber = FermentationChamber(client)
telemetry = await fermentation_chamber.get_telemetry("", "", "", "")
assert telemetry is None
def json_reader(path):
with open(path) as f:
return json.load(f)