From 000b3455603003b94df6b9a47f2b6bf78ff42269 Mon Sep 17 00:00:00 2001 From: Ian Woodard <17186604+IanWoodard@users.noreply.github.com> Date: Mon, 5 May 2025 10:02:45 -0700 Subject: [PATCH] feat(toggle): Updating toggling active dependency to be consistent --- devservices/commands/toggle.py | 12 ++++++++++++ tests/commands/test_toggle.py | 10 ++++++++++ 2 files changed, 22 insertions(+) diff --git a/devservices/commands/toggle.py b/devservices/commands/toggle.py index 343398fc..de2f6156 100644 --- a/devservices/commands/toggle.py +++ b/devservices/commands/toggle.py @@ -138,6 +138,18 @@ def handle_transition_to_local_runtime(service_to_transition: Service) -> None: service_to_transition, [service_to_transition_dependency_config.remote.mode], ) + console.warning(f"Restarting {service_to_transition.name} in default mode") + # This behavior matches the default behavior of up as it + # will bring up dependencies with local runtimes automatically + # in the default mode. If the user wants to run it in a different + # mode, they can switch to that mode manually. + up( + Namespace( + service_name=service_to_transition.name, + mode="default", + exclude_local=False, + ) + ) break state.update_service_runtime(service_to_transition.name, ServiceRuntime.LOCAL) diff --git a/tests/commands/test_toggle.py b/tests/commands/test_toggle.py index 2aa3b536..f397ee61 100644 --- a/tests/commands/test_toggle.py +++ b/tests/commands/test_toggle.py @@ -218,9 +218,11 @@ def test_toggle_nothing_running_same_runtime( ) +@mock.patch("devservices.commands.toggle.up") @mock.patch("devservices.commands.down._bring_down_dependency") def test_toggle_dependent_service_running( mock_bring_down_dependency: mock.Mock, + mock_up: mock.Mock, tmp_path: Path, ) -> None: with ( @@ -384,6 +386,14 @@ def test_toggle_dependent_service_running( mock.ANY, ) + mock_up.assert_called_once_with( + Namespace( + service_name="example-service", + mode="default", + exclude_local=False, + ) + ) + @mock.patch("devservices.commands.toggle.find_matching_service") @mock.patch("devservices.commands.toggle.handle_transition_to_local_runtime")