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

83
tests/test_hydrometer.py Normal file
View File

@@ -0,0 +1,83 @@
import pytest
import json
import responses
from rapt.client import Client
from rapt.hydrometer import Hydrometer
@pytest.fixture
def client():
yield Client("test", "test")
@responses.activate
def test_get_hydrometers(client):
responses.post("https://id.rapt.io/connect/token", json=json_reader("./tests/json/token_response.json"))
responses.get("https://api.rapt.io/api/hydrometers/gethydrometers", json=json_reader("./tests/json/get_hydrometers_response.json"))
hydrometer = Hydrometer(client)
hydros = hydrometer.get_hydrometers()
assert hydros is not None
assert len(hydros) == 1
@responses.activate
def test_get_hydrometers_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/hydrometers/gethydrometers",
status=500,
)
hydrometer = Hydrometer(client)
hydros = hydrometer.get_hydrometers()
assert hydros is None
@responses.activate
def test_get_hydrometer(client):
responses.post("https://id.rapt.io/connect/token", json=json_reader("./tests/json/token_response.json"))
responses.get("https://api.rapt.io/api/hydrometers/gethydrometer", json=json_reader("./tests/json/get_hydrometer_response.json"))
hydrometer = Hydrometer(client)
hydros = hydrometer.get_hydrometer("")
assert hydros is not None
@responses.activate
def test_get_hydrometer_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/hydrometers/gethydrometer",
status=500,
)
hydrometer = Hydrometer(client)
hydros = hydrometer.get_hydrometer("")
assert hydros 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/hydrometers/gettelemetry", json=json_reader("./tests/json/get_hydrometer_telemetry_response.json"))
hydrometer = Hydrometer(client)
telemetry = hydrometer.get_telemetry("", "", "", "")
assert telemetry is not None
@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/hydrometers/gettelemetry",
status=500,
)
hydrometer = Hydrometer(client)
telemetry = hydrometer.get_telemetry("", "", "", "")
assert telemetry is None
def json_reader(path):
with open(path) as f:
return json.load(f)