75 lines
3.4 KiB
Python
75 lines
3.4 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("https://api.rapt.io/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("https://api.rapt.io/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("https://api.rapt.io/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("https://api.rapt.io/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("https://api.rapt.io/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("https://api.rapt.io/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)
|