Compare commits
8 Commits
692b4803d7
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 036910f06f | |||
| 7f91f330ac | |||
| 15de00fae5 | |||
| 122ecdc2ad | |||
| a3e414ad00 | |||
| 1f9b108dd0 | |||
| 027a16a769 | |||
| 40f23cf64b |
@@ -1,9 +1,9 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "rapt-cloud-api"
|
name = "rapt-cloud-api"
|
||||||
version = "0.2.2"
|
version = "0.2.4"
|
||||||
description = "Python bindings for the Rapt.io API"
|
description = "Python bindings for the Rapt.io API"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.14"
|
requires-python = ">=3.13"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aiohttp>=3.13.1",
|
"aiohttp>=3.13.1",
|
||||||
"loguru>=0.7.3",
|
"loguru>=0.7.3",
|
||||||
|
|||||||
23
setup.py
Normal file
23
setup.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
from setuptools import find_packages, setup
|
||||||
|
|
||||||
|
with open("README.md", "r", encoding="utf-8") as fh:
|
||||||
|
long_description = fh.read()
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name='rapt-cloud-api',
|
||||||
|
version='0.2.4',
|
||||||
|
author='Jesper Fussing Mørk',
|
||||||
|
author_email='jfmo@moerks.dk',
|
||||||
|
description='Client Library for the rapt.io api',
|
||||||
|
long_description=long_description,
|
||||||
|
long_description_content_type="text/markdown",
|
||||||
|
url='https://gitea.moerks.dk/jfm/rapt-cloud-api',
|
||||||
|
project_urls={
|
||||||
|
"Bug Tracker": "https://gitea.moerks.dk/jfm/rapt-cloud-api/issues",
|
||||||
|
},
|
||||||
|
license='MIT',
|
||||||
|
package_dir={"": "src"},
|
||||||
|
packages=find_packages(where="src"),
|
||||||
|
install_requires=["loguru", "pydantic", "aiohttp"]
|
||||||
|
)
|
||||||
|
|
||||||
@@ -51,8 +51,6 @@ class Client():
|
|||||||
raise HttpClientException(response.reason, response.status)
|
raise HttpClientException(response.reason, response.status)
|
||||||
|
|
||||||
async def get_auth_headers(self):
|
async def get_auth_headers(self):
|
||||||
if self.expires is not None:
|
|
||||||
logger.trace("DATE COMP: " + str(self.expires <= datetime.now()))
|
|
||||||
if self.expires is None or self.expires <= datetime.now():
|
if self.expires is None or self.expires <= datetime.now():
|
||||||
await self.get_jwt_token()
|
await self.get_jwt_token()
|
||||||
|
|
||||||
@@ -61,7 +59,7 @@ class Client():
|
|||||||
async def get_json(self, url, parameters):
|
async def get_json(self, url, parameters):
|
||||||
headers = await self.get_auth_headers()
|
headers = await self.get_auth_headers()
|
||||||
logger.trace("HEADERS: " + str(headers))
|
logger.trace("HEADERS: " + str(headers))
|
||||||
async with self.session.get(url, headers=headers, params=parameters) as response:
|
async with self.session.get(self.host+url, headers=headers, params=parameters) as response:
|
||||||
response_json = await response.json()
|
response_json = await response.json()
|
||||||
logger.trace(response.request_info.url)
|
logger.trace(response.request_info.url)
|
||||||
if response.status == 200:
|
if response.status == 200:
|
||||||
|
|||||||
@@ -80,11 +80,11 @@ class ProfileStepModel(RaptBaseModel):
|
|||||||
|
|
||||||
class ProfileSessionModel(RaptBaseModel):
|
class ProfileSessionModel(RaptBaseModel):
|
||||||
name: Optional[str]
|
name: Optional[str]
|
||||||
description: Optional[str]
|
description: Optional[str] = None
|
||||||
profile_id: Optional[UUID] = Field(alias="profileId")
|
profile_id: Optional[UUID] = Field(alias="profileId", default=None)
|
||||||
# profile: ProfileModel
|
# profile: ProfileModel
|
||||||
brewzilla_id: Optional[UUID] = Field(alias="brewZillaId")
|
brewzilla_id: Optional[UUID] = Field(alias="brewZillaId", default=None)
|
||||||
fermentation_chamger_id: Optional[UUID] = Field(alias="fermentationChamberId")
|
fermentation_chamger_id: Optional[UUID] = Field(alias="fermentationChamberId", default=None)
|
||||||
hydrometer_id: Optional[UUID] = Field(alias="hydrometerId")
|
hydrometer_id: Optional[UUID] = Field(alias="hydrometerId")
|
||||||
still_id: Optional[UUID] = Field(alias="stillId")
|
still_id: Optional[UUID] = Field(alias="stillId")
|
||||||
temperature_controller_id: Optional[UUID] = Field(alias="temperatureControllerId")
|
temperature_controller_id: Optional[UUID] = Field(alias="temperatureControllerId")
|
||||||
@@ -113,22 +113,22 @@ class ProfileModel(RaptBaseModel):
|
|||||||
|
|
||||||
class ProfileSessionStatusModel(RaptBaseModel):
|
class ProfileSessionStatusModel(RaptBaseModel):
|
||||||
name: Optional[str]
|
name: Optional[str]
|
||||||
description: Optional[str]
|
description: Optional[str] = None
|
||||||
profile_id: Optional[UUID] = Field(alias="profileId")
|
profile_id: Optional[UUID] = Field(alias="profileId", default=None)
|
||||||
profile: ProfileModel
|
profile: Optional[ProfileModel] = None
|
||||||
brewzilla_id: Optional[UUID] = Field(alias="brewZillaId")
|
brewzilla_id: Optional[UUID] = Field(alias="brewZillaId", default=None)
|
||||||
fermentation_chamger_id: Optional[UUID] = Field(alias="fermentationChamberId")
|
fermentation_chamger_id: Optional[UUID] = Field(alias="fermentationChamberId", default=None)
|
||||||
hydrometer_id: Optional[UUID] = Field(alias="hydrometerId")
|
hydrometer_id: Optional[UUID] = Field(alias="hydrometerId", default=None)
|
||||||
still_id: Optional[UUID] = Field(alias="stillId")
|
still_id: Optional[UUID] = Field(alias="stillId", default=None)
|
||||||
temperature_controller_id: Optional[UUID] = Field(alias="temperatureControllerId")
|
temperature_controller_id: Optional[UUID] = Field(alias="temperatureControllerId", default=None)
|
||||||
start_date: Optional[datetime] = Field(alias="startDate")
|
start_date: Optional[datetime] = Field(alias="startDate", default=None)
|
||||||
end_date: Optional[datetime] = Field(alias="endDate")
|
end_date: Optional[datetime] = Field(alias="endDate", default=None)
|
||||||
original_gravity: Optional[float] = Field(alias="originalGravity")
|
original_gravity: Optional[float] = Field(alias="originalGravity", default=None)
|
||||||
final_gravity: Optional[float] = Field(alias="finalGravity")
|
final_gravity: Optional[float] = Field(alias="finalGravity", default=None)
|
||||||
yeast_id: Optional[UUID] = Field(alias="yeastId")
|
yeast_id: Optional[UUID] = Field(alias="yeastId", default=None)
|
||||||
yeast: YeastModel
|
yeast: Optional[YeastModel] = None
|
||||||
sent_alerts: List[Optional[ProfileAlertModel]] = Field(alias="sentAlerts")
|
sent_alerts: List[Optional[ProfileAlertModel]] = Field(alias="sentAlerts", default=[])
|
||||||
estimated_end_date: Optional[datetime] = Field(alias="estimatedEndDate")
|
estimated_end_date: Optional[datetime] = Field(alias="estimatedEndDate", default=None)
|
||||||
profile_length: Optional[float] = Field(alias="profileLength")
|
profile_length: Optional[float] = Field(alias="profileLength", default=None)
|
||||||
current_profile_time: Optional[float] = Field(alias="currentProfileTime")
|
current_profile_time: Optional[float] = Field(alias="currentProfileTime", default=None)
|
||||||
remaining_profile_time: Optional[float] = Field(alias="remainingProfileTime")
|
remaining_profile_time: Optional[float] = Field(alias="remainingProfileTime", default=None)
|
||||||
|
|||||||
48
tests/json/get_hydrometers_response_missing_fields.json
Normal file
48
tests/json/get_hydrometers_response_missing_fields.json
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"telemetry": [
|
||||||
|
{
|
||||||
|
"temperature": 24.6875,
|
||||||
|
"gravity": 1018.35,
|
||||||
|
"gravityVelocity": 0.13616,
|
||||||
|
"battery": 100,
|
||||||
|
"version": "20250319_055542_b3788ba",
|
||||||
|
"id": "88a30cdb-3a3d-4ed1-8db1-fe82f53eb127",
|
||||||
|
"rowKey": "2516404896183910585",
|
||||||
|
"createdOn": "2025-10-30T07:59:41.6089414+00:00",
|
||||||
|
"macAddress": "ac-15-18-df-84-94",
|
||||||
|
"rssi": -83
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"temperature": 24.6875,
|
||||||
|
"gravity": 1018.35,
|
||||||
|
"gravityVelocity": 0.13616,
|
||||||
|
"battery": 100,
|
||||||
|
"name": "Hegnsgården Yellow",
|
||||||
|
"macAddress": "ac-15-18-df-84-94",
|
||||||
|
"deviceType": "Hydrometer",
|
||||||
|
"active": false,
|
||||||
|
"disabled": false,
|
||||||
|
"lastActivityTime": "2025-10-30T07:59:41.6089414+00:00",
|
||||||
|
"rssi": -83,
|
||||||
|
"firmwareVersion": "20250319_055542_b3788ba",
|
||||||
|
"isLatestFirmware": false,
|
||||||
|
"activeProfileSession": {
|
||||||
|
"name": "Batch 1",
|
||||||
|
"hydrometerId": "2aa3b02c-78de-4715-8f5b-61bf7c3d1b62",
|
||||||
|
"startDate": "2025-10-26T07:05:43.257+00:00",
|
||||||
|
"modifiedOn": "2025-10-26T07:06:01.4699396+00:00",
|
||||||
|
"modifiedBy": "00000000-0000-0000-0000-000000000000",
|
||||||
|
"id": "3782039d-c829-465e-bb27-aff7bd50c2bb",
|
||||||
|
"deleted": false,
|
||||||
|
"createdOn": "2025-10-26T07:06:01.468437+00:00",
|
||||||
|
"createdBy": "475ebc33-8e90-4be5-2424-08ddfbe49482"
|
||||||
|
},
|
||||||
|
"modifiedOn": "2025-10-30T07:59:41.61736+00:00",
|
||||||
|
"modifiedBy": "00000000-0000-0000-0000-000000000000",
|
||||||
|
"id": "2aa3b02c-78de-4715-8f5b-61bf7c3d1b62",
|
||||||
|
"deleted": false,
|
||||||
|
"createdOn": "2025-10-07T09:44:01.1515163+00:00",
|
||||||
|
"createdBy": "475ebc33-8e90-4be5-2424-08ddfbe49482"
|
||||||
|
}
|
||||||
|
]
|
||||||
24
tests/test_client.py
Normal file
24
tests/test_client.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
import pytest
|
||||||
|
import json
|
||||||
|
from aiohttp import web
|
||||||
|
from aioresponses import aioresponses
|
||||||
|
from rapt.client import Client
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
async def client(aiohttp_client):
|
||||||
|
app = web.Application()
|
||||||
|
# session = await aiohttp_client(app)
|
||||||
|
yield Client("test", "test", None)
|
||||||
|
|
||||||
|
async def test_get_hydrometers(client):
|
||||||
|
with aioresponses() as responses:
|
||||||
|
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"), repeat=1)
|
||||||
|
headers1 = await client.get_auth_headers()
|
||||||
|
headers2 = await client.get_auth_headers()
|
||||||
|
|
||||||
|
assert headers1 == headers2
|
||||||
|
|
||||||
|
def json_reader(path):
|
||||||
|
with open(path) as f:
|
||||||
|
return json.load(f)
|
||||||
@@ -15,7 +15,7 @@ async def client(aiohttp_client):
|
|||||||
async def test_get_fermentation_chambers(client):
|
async def test_get_fermentation_chambers(client):
|
||||||
with aioresponses() as responses:
|
with aioresponses() as responses:
|
||||||
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
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"))
|
responses.get("https://api.rapt.io/api/fermentationchambers/getfermentationchambers", payload=json_reader("./tests/json/get_fermentation_chambers_response.json"))
|
||||||
fermentation_chamber = FermentationChamber(client)
|
fermentation_chamber = FermentationChamber(client)
|
||||||
ferms = await fermentation_chamber.get_fermentation_chambers()
|
ferms = await fermentation_chamber.get_fermentation_chambers()
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ async def test_get_fermentation_chambers(client):
|
|||||||
async def test_get_fermentation_chambers_500(client):
|
async def test_get_fermentation_chambers_500(client):
|
||||||
with aioresponses() as responses:
|
with aioresponses() as responses:
|
||||||
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
||||||
responses.get("/api/fermentationchambers/getfermentationchambers", status=500)
|
responses.get("https://api.rapt.io/api/fermentationchambers/getfermentationchambers", status=500)
|
||||||
fermentation_chamber = FermentationChamber(client)
|
fermentation_chamber = FermentationChamber(client)
|
||||||
ferms = await fermentation_chamber.get_fermentation_chambers()
|
ferms = await fermentation_chamber.get_fermentation_chambers()
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ async def test_get_fermentation_chambers_500(client):
|
|||||||
async def test_get_fermentation_chamber(client):
|
async def test_get_fermentation_chamber(client):
|
||||||
with aioresponses() as responses:
|
with aioresponses() as responses:
|
||||||
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
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"))
|
responses.get("https://api.rapt.io/api/fermentationchambers/getfermentationchamber", payload=json_reader("./tests/json/get_fermentation_chamber_response.json"))
|
||||||
fermentation_chamber = FermentationChamber(client)
|
fermentation_chamber = FermentationChamber(client)
|
||||||
ferms = await fermentation_chamber.get_fermentation_chamber("")
|
ferms = await fermentation_chamber.get_fermentation_chamber("")
|
||||||
|
|
||||||
@@ -43,7 +43,7 @@ async def test_get_fermentation_chamber(client):
|
|||||||
async def test_get_fermentation_chamber_500(client):
|
async def test_get_fermentation_chamber_500(client):
|
||||||
with aioresponses() as responses:
|
with aioresponses() as responses:
|
||||||
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
||||||
responses.get("/api/fermentationchambers/getfermentationchamber", status=500)
|
responses.get("https://api.rapt.io/api/fermentationchambers/getfermentationchamber", status=500)
|
||||||
fermentation_chamber = FermentationChamber(client)
|
fermentation_chamber = FermentationChamber(client)
|
||||||
ferms = await fermentation_chamber.get_fermentation_chamber("")
|
ferms = await fermentation_chamber.get_fermentation_chamber("")
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ async def test_get_fermentation_chamber_500(client):
|
|||||||
async def test_get_telemetry(client):
|
async def test_get_telemetry(client):
|
||||||
with aioresponses() as responses:
|
with aioresponses() as responses:
|
||||||
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
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"))
|
responses.get("https://api.rapt.io/api/fermentationchambers/gettelemetry", payload=json_reader("./tests/json/get_fermentation_chamber_telemetry_response.json"))
|
||||||
fermentation_chamber = FermentationChamber(client)
|
fermentation_chamber = FermentationChamber(client)
|
||||||
telemetry = await fermentation_chamber.get_telemetry("", "", "", "")
|
telemetry = await fermentation_chamber.get_telemetry("", "", "", "")
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ async def test_get_telemetry(client):
|
|||||||
async def test_get_telemetry_500(client):
|
async def test_get_telemetry_500(client):
|
||||||
with aioresponses() as responses:
|
with aioresponses() as responses:
|
||||||
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
||||||
responses.get("/api/fermentationchambers/gettelemetry", status=500)
|
responses.get("https://api.rapt.io/api/fermentationchambers/gettelemetry", status=500)
|
||||||
fermentation_chamber = FermentationChamber(client)
|
fermentation_chamber = FermentationChamber(client)
|
||||||
telemetry = await fermentation_chamber.get_telemetry("", "", "", "")
|
telemetry = await fermentation_chamber.get_telemetry("", "", "", "")
|
||||||
|
|
||||||
|
|||||||
@@ -15,17 +15,28 @@ async def client(aiohttp_client):
|
|||||||
async def test_get_hydrometers(client):
|
async def test_get_hydrometers(client):
|
||||||
with aioresponses() as responses:
|
with aioresponses() as responses:
|
||||||
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
||||||
responses.get("/api/hydrometers/gethydrometers", payload=json_reader("./tests/json/get_hydrometers_response.json"))
|
responses.get("https://api.rapt.io/api/hydrometers/gethydrometers", payload=json_reader("./tests/json/get_hydrometers_response.json"))
|
||||||
hydrometer = Hydrometer(client)
|
hydrometer = Hydrometer(client)
|
||||||
hydros = await hydrometer.get_hydrometers()
|
hydros = await hydrometer.get_hydrometers()
|
||||||
|
|
||||||
assert hydros is not None
|
assert hydros is not None
|
||||||
assert len(hydros) == 1
|
assert len(hydros) == 1
|
||||||
|
|
||||||
|
async def test_get_hydrometers_missing_fields(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/hydrometers/gethydrometers", payload=json_reader("./tests/json/get_hydrometers_response_missing_fields.json"))
|
||||||
|
hydrometer = Hydrometer(client)
|
||||||
|
hydros = await hydrometer.get_hydrometers()
|
||||||
|
|
||||||
|
assert hydros is not None
|
||||||
|
assert len(hydros) == 1
|
||||||
|
|
||||||
|
|
||||||
async def test_get_hydrometers_500(client):
|
async def test_get_hydrometers_500(client):
|
||||||
with aioresponses() as responses:
|
with aioresponses() as responses:
|
||||||
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
||||||
responses.get("/api/hydrometers/gethydrometers", status=500)
|
responses.get("https://api.rapt.io/api/hydrometers/gethydrometers", status=500)
|
||||||
hydrometer = Hydrometer(client)
|
hydrometer = Hydrometer(client)
|
||||||
hydros = await hydrometer.get_hydrometers()
|
hydros = await hydrometer.get_hydrometers()
|
||||||
|
|
||||||
@@ -34,7 +45,7 @@ async def test_get_hydrometers_500(client):
|
|||||||
async def test_get_hydrometer(client):
|
async def test_get_hydrometer(client):
|
||||||
with aioresponses() as responses:
|
with aioresponses() as responses:
|
||||||
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
||||||
responses.get("/api/hydrometers/gethydrometer", payload=json_reader("./tests/json/get_hydrometer_response.json"))
|
responses.get("https://api.rapt.io/api/hydrometers/gethydrometer", payload=json_reader("./tests/json/get_hydrometer_response.json"))
|
||||||
hydrometer = Hydrometer(client)
|
hydrometer = Hydrometer(client)
|
||||||
hydros = await hydrometer.get_hydrometer("")
|
hydros = await hydrometer.get_hydrometer("")
|
||||||
|
|
||||||
@@ -43,7 +54,7 @@ async def test_get_hydrometer(client):
|
|||||||
async def test_get_hydrometer_500(client):
|
async def test_get_hydrometer_500(client):
|
||||||
with aioresponses() as responses:
|
with aioresponses() as responses:
|
||||||
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
||||||
responses.get("/api/hydrometers/gethydrometer", status=500)
|
responses.get("https://api.rapt.io/api/hydrometers/gethydrometer", status=500)
|
||||||
hydrometer = Hydrometer(client)
|
hydrometer = Hydrometer(client)
|
||||||
hydros = await hydrometer.get_hydrometer("")
|
hydros = await hydrometer.get_hydrometer("")
|
||||||
|
|
||||||
@@ -52,7 +63,7 @@ async def test_get_hydrometer_500(client):
|
|||||||
async def test_get_telemetry(client):
|
async def test_get_telemetry(client):
|
||||||
with aioresponses() as responses:
|
with aioresponses() as responses:
|
||||||
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
||||||
responses.get("/api/hydrometers/gettelemetry", payload=json_reader("./tests/json/get_hydrometer_telemetry_response.json"))
|
responses.get("https://api.rapt.io/api/hydrometers/gettelemetry", payload=json_reader("./tests/json/get_hydrometer_telemetry_response.json"))
|
||||||
hydrometer = Hydrometer(client)
|
hydrometer = Hydrometer(client)
|
||||||
telemetry = await hydrometer.get_telemetry("", "", "", "")
|
telemetry = await hydrometer.get_telemetry("", "", "", "")
|
||||||
|
|
||||||
@@ -61,7 +72,7 @@ async def test_get_telemetry(client):
|
|||||||
async def test_get_telemetry_500(client):
|
async def test_get_telemetry_500(client):
|
||||||
with aioresponses() as responses:
|
with aioresponses() as responses:
|
||||||
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
||||||
responses.get("/api/hydrometers/gettelemetry", status=500)
|
responses.get("https://api.rapt.io/api/hydrometers/gettelemetry", status=500)
|
||||||
hydrometer = Hydrometer(client)
|
hydrometer = Hydrometer(client)
|
||||||
telemetry = await hydrometer.get_telemetry("", "", "", "")
|
telemetry = await hydrometer.get_telemetry("", "", "", "")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user