rapt-cloud-api/tests/test_fermentation_chamber.py

84 lines
3.1 KiB
Python

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