Skip to content

Commit bd3e59e

Browse files
committed
Use new TargetIds and ComponentIds
Signed-off-by: Mathias L. Baumann <[email protected]>
1 parent ba2fd1d commit bd3e59e

File tree

3 files changed

+19
-11
lines changed

3 files changed

+19
-11
lines changed

src/frequenz/dispatch/_actor_dispatcher.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@
1111
from typing import Any, Awaitable, cast
1212

1313
from frequenz.channels import Broadcast, Receiver, Sender, select
14-
from frequenz.client.common.microgrid.components import ComponentCategory
14+
from frequenz.client.common.microgrid.components import ComponentCategory, ComponentId
1515
from frequenz.client.dispatch.types import TargetComponents as ClientTargetComponents
16-
from frequenz.client.microgrid import ComponentId
1716
from frequenz.sdk.actor import Actor, BackgroundService
1817

1918
from ._dispatch import Dispatch

tests/test_frequenz_dispatch.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from frequenz.client.dispatch.test.client import FakeClient, to_create_params
1818
from frequenz.client.dispatch.test.generator import DispatchGenerator
1919
from frequenz.client.dispatch.types import Dispatch as BaseDispatch
20+
from frequenz.client.dispatch.types import TargetIds
2021
from pytest import fixture
2122

2223
from frequenz.dispatch import (
@@ -564,7 +565,9 @@ async def test_multiple_dispatches_merge_running_intervals(
564565
generator.generate_dispatch(),
565566
active=True,
566567
duration=timedelta(seconds=30),
567-
target=[1, 2] if isinstance(merge_strategy, MergeByType) else [3, 4],
568+
target=TargetIds(
569+
*[1, 2] if isinstance(merge_strategy, MergeByType) else [3, 4]
570+
),
568571
start_time=_now() + timedelta(seconds=5),
569572
recurrence=RecurrenceRule(),
570573
type="TEST_TYPE",
@@ -573,7 +576,7 @@ async def test_multiple_dispatches_merge_running_intervals(
573576
generator.generate_dispatch(),
574577
active=True,
575578
duration=timedelta(seconds=10),
576-
target=[3, 4],
579+
target=TargetIds(3, 4),
577580
start_time=_now() + timedelta(seconds=10), # starts after dispatch1
578581
recurrence=RecurrenceRule(),
579582
type="TEST_TYPE",
@@ -641,7 +644,9 @@ async def test_multiple_dispatches_sequential_intervals_merge(
641644
active=True,
642645
duration=timedelta(seconds=5),
643646
# If merging by type, we want to test having different targets in dispatch 1 and 2
644-
target=[3, 4] if isinstance(merge_strategy, MergeByType) else [1, 2],
647+
target=TargetIds(
648+
*[3, 4] if isinstance(merge_strategy, MergeByType) else [1, 2]
649+
),
645650
start_time=_now() + timedelta(seconds=5),
646651
recurrence=RecurrenceRule(),
647652
type="TEST_TYPE",
@@ -651,7 +656,7 @@ async def test_multiple_dispatches_sequential_intervals_merge(
651656
generator.generate_dispatch(),
652657
active=True,
653658
duration=timedelta(seconds=5),
654-
target=[1, 2],
659+
target=TargetIds(1, 2),
655660
start_time=dispatch1.start_time + dispatch1.duration,
656661
recurrence=RecurrenceRule(),
657662
type="TEST_TYPE",
@@ -706,7 +711,9 @@ async def test_at_least_one_running_filter(
706711
generator.generate_dispatch(),
707712
active=True,
708713
duration=timedelta(seconds=10),
709-
target=[1, 2] if isinstance(merge_strategy, MergeByType) else [3, 4],
714+
target=TargetIds(
715+
*[1, 2] if isinstance(merge_strategy, MergeByType) else [3, 4]
716+
),
710717
start_time=_now() + timedelta(seconds=5),
711718
recurrence=RecurrenceRule(),
712719
type="TEST_TYPE",
@@ -737,7 +744,7 @@ async def test_at_least_one_running_filter(
737744
generator.generate_dispatch(),
738745
active=False,
739746
duration=timedelta(seconds=10),
740-
target=[3, 4],
747+
target=TargetIds(3, 4),
741748
start_time=_now() + timedelta(seconds=50),
742749
recurrence=RecurrenceRule(),
743750
type="TEST_TYPE",

tests/test_managing_actor.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@
1414
import pytest
1515
import time_machine
1616
from frequenz.channels import Broadcast, Receiver, Sender
17+
from frequenz.client.common.microgrid.components import ComponentId
1718
from frequenz.client.dispatch import recurrence
1819
from frequenz.client.dispatch.recurrence import Frequency, RecurrenceRule
1920
from frequenz.client.dispatch.test.client import FakeClient
2021
from frequenz.client.dispatch.test.generator import DispatchGenerator
21-
from frequenz.client.microgrid import ComponentId
22+
from frequenz.client.dispatch.types import TargetIds
2223
from frequenz.sdk.actor import Actor
2324
from pytest import fixture
2425

@@ -31,6 +32,7 @@
3132
MergeByTypeTarget,
3233
MergeStrategy,
3334
)
35+
from frequenz.dispatch._actor_dispatcher import _convert_target_components
3436
from frequenz.dispatch._bg_service import DispatchScheduler
3537

3638

@@ -153,7 +155,7 @@ async def test_simple_start_stop(
153155
active=True,
154156
dry_run=False,
155157
duration=duration,
156-
target=[1, 10, 15],
158+
target=TargetIds(1, 10, 15),
157159
start_time=now,
158160
payload={"test": True},
159161
type="UNIT_TEST",
@@ -301,7 +303,7 @@ async def test_dry_run(test_env: _TestEnv, fake_time: time_machine.Coordinates)
301303
event = test_env.actor(1).initial_dispatch
302304

303305
assert event.dry_run is dispatch.dry_run
304-
assert event.components == dispatch.target
306+
assert event.components == _convert_target_components(dispatch.target)
305307
assert event.options == dispatch.payload
306308
assert test_env.actor(1).is_running is True
307309

0 commit comments

Comments
 (0)