Fixed missing fields
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "rapt-cloud-api"
|
||||
version = "0.2.3"
|
||||
version = "0.2.4"
|
||||
description = "Python bindings for the Rapt.io API"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.13"
|
||||
|
||||
2
setup.py
2
setup.py
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
|
||||
|
||||
setup(
|
||||
name='rapt-cloud-api',
|
||||
version='0.2.3',
|
||||
version='0.2.4',
|
||||
author='Jesper Fussing Mørk',
|
||||
author_email='jfmo@moerks.dk',
|
||||
description='Client Library for the rapt.io api',
|
||||
|
||||
@@ -80,11 +80,11 @@ class ProfileStepModel(RaptBaseModel):
|
||||
|
||||
class ProfileSessionModel(RaptBaseModel):
|
||||
name: Optional[str]
|
||||
description: Optional[str]
|
||||
profile_id: Optional[UUID] = Field(alias="profileId")
|
||||
description: Optional[str] = None
|
||||
profile_id: Optional[UUID] = Field(alias="profileId", default=None)
|
||||
# profile: ProfileModel
|
||||
brewzilla_id: Optional[UUID] = Field(alias="brewZillaId")
|
||||
fermentation_chamger_id: Optional[UUID] = Field(alias="fermentationChamberId")
|
||||
brewzilla_id: Optional[UUID] = Field(alias="brewZillaId", default=None)
|
||||
fermentation_chamger_id: Optional[UUID] = Field(alias="fermentationChamberId", default=None)
|
||||
hydrometer_id: Optional[UUID] = Field(alias="hydrometerId")
|
||||
still_id: Optional[UUID] = Field(alias="stillId")
|
||||
temperature_controller_id: Optional[UUID] = Field(alias="temperatureControllerId")
|
||||
@@ -113,22 +113,22 @@ class ProfileModel(RaptBaseModel):
|
||||
|
||||
class ProfileSessionStatusModel(RaptBaseModel):
|
||||
name: Optional[str]
|
||||
description: Optional[str]
|
||||
profile_id: Optional[UUID] = Field(alias="profileId")
|
||||
profile: ProfileModel
|
||||
brewzilla_id: Optional[UUID] = Field(alias="brewZillaId")
|
||||
fermentation_chamger_id: Optional[UUID] = Field(alias="fermentationChamberId")
|
||||
hydrometer_id: Optional[UUID] = Field(alias="hydrometerId")
|
||||
still_id: Optional[UUID] = Field(alias="stillId")
|
||||
temperature_controller_id: Optional[UUID] = Field(alias="temperatureControllerId")
|
||||
start_date: Optional[datetime] = Field(alias="startDate")
|
||||
end_date: Optional[datetime] = Field(alias="endDate")
|
||||
original_gravity: Optional[float] = Field(alias="originalGravity")
|
||||
final_gravity: Optional[float] = Field(alias="finalGravity")
|
||||
yeast_id: Optional[UUID] = Field(alias="yeastId")
|
||||
yeast: YeastModel
|
||||
sent_alerts: List[Optional[ProfileAlertModel]] = Field(alias="sentAlerts")
|
||||
estimated_end_date: Optional[datetime] = Field(alias="estimatedEndDate")
|
||||
profile_length: Optional[float] = Field(alias="profileLength")
|
||||
current_profile_time: Optional[float] = Field(alias="currentProfileTime")
|
||||
remaining_profile_time: Optional[float] = Field(alias="remainingProfileTime")
|
||||
description: Optional[str] = None
|
||||
profile_id: Optional[UUID] = Field(alias="profileId", default=None)
|
||||
profile: Optional[ProfileModel] = None
|
||||
brewzilla_id: Optional[UUID] = Field(alias="brewZillaId", default=None)
|
||||
fermentation_chamger_id: Optional[UUID] = Field(alias="fermentationChamberId", default=None)
|
||||
hydrometer_id: Optional[UUID] = Field(alias="hydrometerId", default=None)
|
||||
still_id: Optional[UUID] = Field(alias="stillId", default=None)
|
||||
temperature_controller_id: Optional[UUID] = Field(alias="temperatureControllerId", default=None)
|
||||
start_date: Optional[datetime] = Field(alias="startDate", default=None)
|
||||
end_date: Optional[datetime] = Field(alias="endDate", default=None)
|
||||
original_gravity: Optional[float] = Field(alias="originalGravity", default=None)
|
||||
final_gravity: Optional[float] = Field(alias="finalGravity", default=None)
|
||||
yeast_id: Optional[UUID] = Field(alias="yeastId", default=None)
|
||||
yeast: Optional[YeastModel] = None
|
||||
sent_alerts: List[Optional[ProfileAlertModel]] = Field(alias="sentAlerts", default=[])
|
||||
estimated_end_date: Optional[datetime] = Field(alias="estimatedEndDate", default=None)
|
||||
profile_length: Optional[float] = Field(alias="profileLength", default=None)
|
||||
current_profile_time: Optional[float] = Field(alias="currentProfileTime", default=None)
|
||||
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"
|
||||
}
|
||||
]
|
||||
@@ -22,6 +22,17 @@ async def test_get_hydrometers(client):
|
||||
assert hydros is not None
|
||||
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):
|
||||
with aioresponses() as responses:
|
||||
responses.post("https://id.rapt.io/connect/token", payload=json_reader("./tests/json/token_response.json"))
|
||||
|
||||
Reference in New Issue
Block a user