Skip to content

Commit fd38ff2

Browse files
Rename BatteriesStatus to BatteryPoolStatus
Signed-off-by: ela-kotulska-frequenz <[email protected]>
1 parent 055404b commit fd38ff2

File tree

4 files changed

+35
-33
lines changed

4 files changed

+35
-33
lines changed

src/frequenz/sdk/actor/power_distributing/_battery_pool_status.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def __post_init__(self):
6363
self.sender = channel.new_sender()
6464

6565

66-
class BatteriesStatus:
66+
class BatteryPoolStatus:
6767
"""Track status of the batteries.
6868
6969
Send set of working and uncertain batteries, when the any battery change status.
@@ -75,7 +75,7 @@ def __init__(
7575
max_data_age_sec: float,
7676
max_blocking_duration_sec: float,
7777
) -> None:
78-
"""Create BatteriesStatus instance.
78+
"""Create BatteryPoolStatus instance.
7979
8080
Args:
8181
battery_ids: set of batteries ids that should be stored in pool.
@@ -141,7 +141,9 @@ async def _run(self) -> None:
141141
try:
142142
await self._update_status(self._battery_status_channel)
143143
except Exception as err: # pylint: disable=broad-except
144-
_logger.error("BatteriesStatus failed with error: %s. Restarting.", err)
144+
_logger.error(
145+
"BatteryPoolStatus failed with error: %s. Restarting.", err
146+
)
145147

146148
async def _update_status(self, status_channel: MergeNamed[BatteryStatus]) -> None:
147149
"""Wait for any battery to change status and update status.

src/frequenz/sdk/actor/power_distributing/power_distributing.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
InverterData,
4545
)
4646
from ...power import DistributionAlgorithm, DistributionResult, InvBatPair
47-
from ._battery_pool_status import BatteriesStatus
47+
from ._battery_pool_status import BatteryPoolStatus
4848
from .request import Request
4949
from .result import Error, Ignored, OutOfBound, PartialFailure, Result, Success
5050

@@ -183,7 +183,7 @@ def __init__(
183183
self._users_tasks = self._create_users_tasks()
184184
self._started = asyncio.Event()
185185

186-
self._batteries_status = BatteriesStatus(
186+
self._all_battery_status = BatteryPoolStatus(
187187
battery_ids=set(self._bat_inv_map.keys()),
188188
max_blocking_duration_sec=30.0,
189189
max_data_age_sec=10.0,
@@ -262,7 +262,7 @@ async def run(self) -> None:
262262

263263
try:
264264
pairs_data: List[InvBatPair] = self._get_components_data(
265-
self._batteries_status.get_working_batteries(request.batteries)
265+
self._all_battery_status.get_working_batteries(request.batteries)
266266
)
267267
except KeyError as err:
268268
await user.channel.send(Error(request, str(err)))
@@ -319,7 +319,7 @@ async def run(self) -> None:
319319

320320
asyncio.gather(
321321
*[
322-
self._batteries_status.update_status(
322+
self._all_battery_status.update_status(
323323
succeed_batteries, failed_batteries
324324
),
325325
user.channel.send(response),
@@ -652,5 +652,5 @@ async def _cancel_tasks(self, tasks: Iterable[asyncio.Task[Any]]) -> None:
652652
async def _stop_actor(self) -> None:
653653
"""Stop all running async tasks."""
654654
await asyncio.gather(*[cancel_and_await(t) for t in self._users_tasks])
655-
await self._batteries_status.stop()
655+
await self._all_battery_status.stop()
656656
await self._stop() # type: ignore # pylint: disable=no-member

tests/actor/test_battery_pool_status.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
# License: MIT
22
# Copyright © 2023 Frequenz Energy-as-a-Service GmbH
3-
"""Tests for BatteriesStatus."""
3+
"""Tests for BatteryPoolStatus."""
44

55
import asyncio
66
from typing import Set
77

88
import pytest
99
from pytest_mock import MockerFixture
1010

11-
from frequenz.sdk.actor.power_distributing._battery_pool_status import BatteriesStatus
11+
from frequenz.sdk.actor.power_distributing._battery_pool_status import BatteryPoolStatus
1212
from frequenz.sdk.microgrid.component import ComponentCategory
1313

1414
from ..utils.mock_microgrid import MockMicrogridClient
1515
from .test_battery_status import battery_data, component_graph, inverter_data
1616

1717

18-
class TestBatteriesStatus:
19-
"""Tests for BatteriesStatus"""
18+
class TestBatteryPoolStatus:
19+
"""Tests for BatteryPoolStatus"""
2020

2121
@pytest.fixture
2222
async def mock_microgrid(self, mocker: MockerFixture) -> MockMicrogridClient:
@@ -34,7 +34,7 @@ async def mock_microgrid(self, mocker: MockerFixture) -> MockMicrogridClient:
3434
return microgrid
3535

3636
async def test_batteries_status(self, mock_microgrid: MockMicrogridClient) -> None:
37-
"""Basic tests for BatteriesStatus.
37+
"""Basic tests for BatteryPoolStatus.
3838
3939
BatteryStatusTracker is more tested in its own unit tests.
4040
@@ -47,7 +47,7 @@ async def test_batteries_status(self, mock_microgrid: MockMicrogridClient) -> No
4747
component_category={ComponentCategory.BATTERY}
4848
)
4949
}
50-
batteries_status = BatteriesStatus(
50+
batteries_status = BatteryPoolStatus(
5151
battery_ids=batteries,
5252
max_data_age_sec=5,
5353
max_blocking_duration_sec=30,

tests/actor/test_power_distributing.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from pytest_mock import MockerFixture
1313

1414
from frequenz.sdk.actor.power_distributing import PowerDistributingActor, Request
15-
from frequenz.sdk.actor.power_distributing._battery_pool_status import BatteriesStatus
15+
from frequenz.sdk.actor.power_distributing._battery_pool_status import BatteryPoolStatus
1616
from frequenz.sdk.actor.power_distributing.result import (
1717
Error,
1818
Ignored,
@@ -88,8 +88,8 @@ async def test_constructor(self, mocker: MockerFixture) -> None:
8888

8989
attrs = {"get_working_batteries.return_value": {306}}
9090
mocker.patch(
91-
"frequenz.sdk.actor.power_distributing.power_distributing.BatteriesStatus",
92-
return_value=MagicMock(spec=BatteriesStatus, **attrs),
91+
"frequenz.sdk.actor.power_distributing.power_distributing.BatteryPoolStatus",
92+
return_value=MagicMock(spec=BatteryPoolStatus, **attrs),
9393
)
9494

9595
channel = Bidirectional[Request, Result]("user1", "power_distributor")
@@ -146,8 +146,8 @@ async def test_power_distributor_one_user(self, mocker: MockerFixture) -> None:
146146

147147
attrs = {"get_working_batteries.return_value": request.batteries}
148148
mocker.patch(
149-
"frequenz.sdk.actor.power_distributing.power_distributing.BatteriesStatus",
150-
return_value=MagicMock(spec=BatteriesStatus, **attrs),
149+
"frequenz.sdk.actor.power_distributing.power_distributing.BatteryPoolStatus",
150+
return_value=MagicMock(spec=BatteryPoolStatus, **attrs),
151151
)
152152

153153
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
@@ -185,8 +185,8 @@ async def test_power_distributor_two_users(self, mocker: MockerFixture) -> None:
185185

186186
attrs = {"get_working_batteries.return_value": {106, 206}}
187187
mocker.patch(
188-
"frequenz.sdk.actor.power_distributing.power_distributing.BatteriesStatus",
189-
return_value=MagicMock(spec=BatteriesStatus, **attrs),
188+
"frequenz.sdk.actor.power_distributing.power_distributing.BatteryPoolStatus",
189+
return_value=MagicMock(spec=BatteryPoolStatus, **attrs),
190190
)
191191

192192
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
@@ -242,8 +242,8 @@ async def test_power_distributor_invalid_battery_id(
242242

243243
attrs = {"get_working_batteries.return_value": request.batteries}
244244
mocker.patch(
245-
"frequenz.sdk.actor.power_distributing.power_distributing.BatteriesStatus",
246-
return_value=MagicMock(spec=BatteriesStatus, **attrs),
245+
"frequenz.sdk.actor.power_distributing.power_distributing.BatteryPoolStatus",
246+
return_value=MagicMock(spec=BatteryPoolStatus, **attrs),
247247
)
248248
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
249249

@@ -286,8 +286,8 @@ async def test_power_distributor_overlapping_batteries(
286286
"get_working_batteries.side_effect": [{106, 206}, {106, 306}, {106, 206}]
287287
}
288288
mocker.patch(
289-
"frequenz.sdk.actor.power_distributing.power_distributing.BatteriesStatus",
290-
return_value=MagicMock(spec=BatteriesStatus, **attrs),
289+
"frequenz.sdk.actor.power_distributing.power_distributing.BatteryPoolStatus",
290+
return_value=MagicMock(spec=BatteryPoolStatus, **attrs),
291291
)
292292

293293
distributor = PowerDistributingActor(service_channels)
@@ -361,8 +361,8 @@ async def test_power_distributor_one_user_adjust_power_consume(
361361

362362
attrs = {"get_working_batteries.return_value": request.batteries}
363363
mocker.patch(
364-
"frequenz.sdk.actor.power_distributing.power_distributing.BatteriesStatus",
365-
return_value=MagicMock(spec=BatteriesStatus, **attrs),
364+
"frequenz.sdk.actor.power_distributing.power_distributing.BatteryPoolStatus",
365+
return_value=MagicMock(spec=BatteryPoolStatus, **attrs),
366366
)
367367

368368
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
@@ -408,8 +408,8 @@ async def test_power_distributor_one_user_adjust_power_supply(
408408

409409
attrs = {"get_working_batteries.return_value": request.batteries}
410410
mocker.patch(
411-
"frequenz.sdk.actor.power_distributing.power_distributing.BatteriesStatus",
412-
return_value=MagicMock(spec=BatteriesStatus, **attrs),
411+
"frequenz.sdk.actor.power_distributing.power_distributing.BatteryPoolStatus",
412+
return_value=MagicMock(spec=BatteryPoolStatus, **attrs),
413413
)
414414

415415
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
@@ -455,8 +455,8 @@ async def test_power_distributor_one_user_adjust_power_success(
455455

456456
attrs = {"get_working_batteries.return_value": request.batteries}
457457
mocker.patch(
458-
"frequenz.sdk.actor.power_distributing.power_distributing.BatteriesStatus",
459-
return_value=MagicMock(spec=BatteriesStatus, **attrs),
458+
"frequenz.sdk.actor.power_distributing.power_distributing.BatteryPoolStatus",
459+
return_value=MagicMock(spec=BatteryPoolStatus, **attrs),
460460
)
461461

462462
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
@@ -494,8 +494,8 @@ async def test_not_all_batteries_are_working(self, mocker: MockerFixture) -> Non
494494

495495
attrs = {"get_working_batteries.return_value": request.batteries - {106}}
496496
mocker.patch(
497-
"frequenz.sdk.actor.power_distributing.power_distributing.BatteriesStatus",
498-
return_value=MagicMock(spec=BatteriesStatus, **attrs),
497+
"frequenz.sdk.actor.power_distributing.power_distributing.BatteryPoolStatus",
498+
return_value=MagicMock(spec=BatteryPoolStatus, **attrs),
499499
)
500500

501501
mocker.patch("asyncio.sleep", new_callable=AsyncMock)

0 commit comments

Comments
 (0)