Initial commit - Support for Get Hydrometer and Get Fermentation Chamber

This commit is contained in:
2025-10-09 16:27:33 +02:00
commit df1be4c144
27 changed files with 1794 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
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)