Skip to content

Commit c5c9132

Browse files
frostmingCopilot
andcommitted
fix: reverse hook implementation order in collect_onboard_config and update assertions in tests
Co-authored-by: Copilot <copilot@github.com> Signed-off-by: Frost Ming <me@frostming.com>
1 parent 7d3113f commit c5c9132

2 files changed

Lines changed: 7 additions & 9 deletions

File tree

src/bub/framework.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ def build_tape_context(self) -> TapeContext:
288288
def collect_onboard_config(self) -> dict[str, Any]:
289289
current_config: dict[str, Any] = {}
290290

291-
for impl in self._hook_runtime._iter_hookimpls("onboard_config"):
291+
for impl in reversed(list(self._hook_runtime._iter_hookimpls("onboard_config"))):
292292
result = self._hook_runtime._invoke_impl_sync(
293293
hook_name="onboard_config",
294294
impl=impl,

tests/test_builtin_cli.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,11 @@ def test_onboard_collects_plugin_config_and_writes_file(tmp_path: Path, monkeypa
5252
class OnboardPlugin:
5353
@hookimpl
5454
def onboard_config(self, current_config):
55-
assert current_config == {}
55+
assert isinstance(current_config.get("model"), str)
56+
assert current_config["api_format"] == "completion"
57+
assert current_config["enabled_channels"] == "telegram"
58+
assert current_config["stream_output"] is False
59+
assert "telegram" not in current_config
5660
return {
5761
"model": cli.typer.prompt("Model", default="openai:gpt-5"),
5862
"telegram": {"token": cli.typer.prompt("Telegram token", hide_input=True)},
@@ -61,13 +65,7 @@ def onboard_config(self, current_config):
6165
framework._plugin_manager.register(OnboardPlugin(), name="onboard-plugin")
6266
app = framework.create_cli_app()
6367

64-
answers = iter([
65-
"openai:gpt-5",
66-
"123:abc",
67-
"openai:gpt-5",
68-
"",
69-
"",
70-
])
68+
answers = iter(["openai:gpt-5", "123:abc"])
7169
monkeypatch.setattr(
7270
cli.typer,
7371
"prompt",

0 commit comments

Comments
 (0)