Skip to content

Commit d6c8bdc

Browse files
Copilotfabaff
andauthored
test: add pytest unit tests for opensensemap_api (#12)
Agent-Logs-Url: https://github.com/home-assistant-ecosystem/python-opensensemap-api/sessions/cb1cfdc0-4e0d-4fba-825f-226d8b8479c2 Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: fabaff <116184+fabaff@users.noreply.github.com>
1 parent 4f75e05 commit d6c8bdc

4 files changed

Lines changed: 421 additions & 0 deletions

File tree

pyproject.toml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,15 @@ dependencies = [
2929
"async_timeout>=4,<5",
3030
]
3131

32+
[project.optional-dependencies]
33+
test = [
34+
"pytest>=7",
35+
"pytest-asyncio>=0.21",
36+
]
37+
38+
[tool.pytest.ini_options]
39+
asyncio_mode = "auto"
40+
3241
[project.urls]
3342
Homepage = "https://github.com/home-assistant-ecosystem/python-opensensemap-api"
3443
Download = "https://github.com/home-assistant-ecosystem/python-opensensemap-api/releases"

tests/__init__.py

Whitespace-only changes.

tests/conftest.py

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
"""Shared test data for opensensemap_api tests."""
2+
SENSOR_ID = "63b83dcc6795ba0007794c93"
3+
4+
MOCK_STATION_DATA = {
5+
"name": "Test Station",
6+
"description": "A test air quality station",
7+
"currentLocation": {
8+
"coordinates": [8.6821, 50.1109, 120.0],
9+
"type": "Point",
10+
},
11+
"exposure": "outdoor",
12+
"model": "homeV2Lora",
13+
"sensors": [
14+
{
15+
"title": "Temperature",
16+
"lastMeasurement": {"value": "21.50"},
17+
},
18+
{
19+
"title": "Temperatur",
20+
"lastMeasurement": {"value": "21.50"},
21+
},
22+
{
23+
"title": "Humidity",
24+
"lastMeasurement": {"value": "55.20"},
25+
},
26+
{
27+
"title": "rel. Luftfeuchte",
28+
"lastMeasurement": {"value": "55.20"},
29+
},
30+
{
31+
"title": "Air Pressure",
32+
"lastMeasurement": {"value": "1013.25"},
33+
},
34+
{
35+
"title": "Pressure",
36+
"lastMeasurement": {"value": "1013.25"},
37+
},
38+
{
39+
"title": "PM10",
40+
"lastMeasurement": {"value": "12.3"},
41+
},
42+
{
43+
"title": "PM2.5",
44+
"lastMeasurement": {"value": "6.7"},
45+
},
46+
{
47+
"title": "PM1.0",
48+
"lastMeasurement": {"value": "3.1"},
49+
},
50+
{
51+
"title": "Illuminance",
52+
"lastMeasurement": {"value": "500"},
53+
},
54+
{
55+
"title": "Beleuchtungsstärke",
56+
"lastMeasurement": {"value": "500"},
57+
},
58+
{
59+
"title": "UV Index",
60+
"lastMeasurement": {"value": "2"},
61+
},
62+
{
63+
"title": "UV",
64+
"lastMeasurement": {"value": "2"},
65+
},
66+
{
67+
"title": "Radioactivity",
68+
"lastMeasurement": {"value": "0.12"},
69+
},
70+
{
71+
"title": "Wind Speed",
72+
"lastMeasurement": {"value": "3.5"},
73+
},
74+
{
75+
"title": "Windgeschwindigkeit",
76+
"lastMeasurement": {"value": "3.5"},
77+
},
78+
{
79+
"title": "Wind Direction",
80+
"lastMeasurement": {"value": "270"},
81+
},
82+
{
83+
"title": "Windrichtung",
84+
"lastMeasurement": {"value": "270"},
85+
},
86+
{
87+
"title": "Precipitation",
88+
"lastMeasurement": {"value": "0.5"},
89+
},
90+
{
91+
"title": "Rain",
92+
"lastMeasurement": {"value": "0.5"},
93+
},
94+
{
95+
"title": "VCC",
96+
"lastMeasurement": {"value": "3.3"},
97+
},
98+
],
99+
}
100+
101+
MOCK_STATION_DATA_MINIMAL = {
102+
"name": "Minimal Station",
103+
"currentLocation": {
104+
"coordinates": [0.0, 0.0],
105+
"type": "Point",
106+
},
107+
"sensors": [],
108+
}

0 commit comments

Comments
 (0)