diff --git a/tests/conftest.py b/tests/conftest.py index b3f48b4..0691add 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -12,6 +12,18 @@ from browser_cli.remote import pool as _remote_pool TEST_BROWSER_PROFILE = "testing" +@pytest.fixture(autouse=True) +def _isolate_remote_registry(monkeypatch, tmp_path): + """Point the remembered-remote registry at an empty throwaway file. + + Endpoint resolution consults remembered remotes, so without this a developer + who has remembered ``host:8765`` sees different results than CI for the same + code. Tests that need remembered entries still monkeypatch the path themselves. + """ + monkeypatch.setattr( + "browser_cli.remote.registry.REMOTE_REGISTRY_PATH", tmp_path / "empty-remotes.json" + ) + @pytest.fixture(autouse=True) def _clear_remote_pool(): """Close any pooled remote connections between tests so a connection opened diff --git a/tests/test_client.py b/tests/test_client.py index bddd558..42c4f48 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -356,7 +356,7 @@ def test_active_browser_targets_includes_remote_targets(monkeypatch, tmp_path): assert targets[0].display_group == "browser-host.example" def test_looks_like_domain(): - assert _looks_like_domain("browsercli.yiprawr.dev") is True + assert _looks_like_domain("browser-host.example") is True assert _looks_like_domain("browser-host.example") is True assert _looks_like_domain("sub.domain.org") is True assert _looks_like_domain("localhost") is False @@ -365,17 +365,17 @@ def test_looks_like_domain(): assert _looks_like_domain("host") is False # no dot def test_normalize_endpoint_strips_443_for_domains(): - assert _normalize_endpoint("browsercli.yiprawr.dev:443") == "browsercli.yiprawr.dev" - assert _normalize_endpoint("browsercli.yiprawr.dev") == "browsercli.yiprawr.dev" + assert _normalize_endpoint("browser-host.example:443") == "browser-host.example" + assert _normalize_endpoint("browser-host.example") == "browser-host.example" assert _normalize_endpoint("203.0.113.1:443") == "203.0.113.1:443" # IP: keep port assert _normalize_endpoint("localhost:443") == "localhost:443" # localhost: keep port assert _normalize_endpoint("host:8765") == "host:8765" # non-443 port: unchanged - assert _normalize_endpoint("browsercli.yiprawr.dev:8765") == "browsercli.yiprawr.dev:8765" + assert _normalize_endpoint("browser-host.example:8765") == "browser-host.example:8765" def test_resolve_connect_endpoint_adds_443_for_domain(): - assert _resolve_connect_endpoint("browsercli.yiprawr.dev") == "browsercli.yiprawr.dev:443" - assert _resolve_connect_endpoint("browsercli.yiprawr.dev:443") == "browsercli.yiprawr.dev:443" - assert _resolve_connect_endpoint("browsercli.yiprawr.dev:8765") == "browsercli.yiprawr.dev:8765" + assert _resolve_connect_endpoint("browser-host.example") == "browser-host.example:443" + assert _resolve_connect_endpoint("browser-host.example:443") == "browser-host.example:443" + assert _resolve_connect_endpoint("browser-host.example:8765") == "browser-host.example:8765" assert _resolve_connect_endpoint("host:8765") == "host:8765" def test_resolve_connect_endpoint_raises_for_bare_non_domain(): @@ -399,9 +399,9 @@ def test_send_command_normalizes_domain_port_443(monkeypatch): monkeypatch.setattr("browser_cli.client.core._send_remote", fake_send_remote) - result = send_command("tabs.list", remote="browsercli.yiprawr.dev:443") + result = send_command("tabs.list", remote="browser-host.example:443") assert result == "ok" - assert sent_to["endpoint"] == "browsercli.yiprawr.dev" # stored/routed without port + assert sent_to["endpoint"] == "browser-host.example" # stored/routed without port def test_send_command_domain_without_port_defaults_to_443(monkeypatch): """--remote domain (no port) is treated as :443.""" @@ -420,14 +420,14 @@ def test_send_command_domain_without_port_defaults_to_443(monkeypatch): monkeypatch.setattr("browser_cli.client.core._send_remote", fake_send_remote) - result = send_command("tabs.list", remote="browsercli.yiprawr.dev") + result = send_command("tabs.list", remote="browser-host.example") assert result == "ok" - assert sent_to["endpoint"] == "browsercli.yiprawr.dev" + assert sent_to["endpoint"] == "browser-host.example" def test_domain_display_name_omits_port(monkeypatch, tmp_path): """Domain endpoints stored without :443 display as 'domain:profile', not 'domain:443:profile'.""" remotes_path = tmp_path / "remotes.json" - endpoint = "browsercli.yiprawr.dev" + endpoint = "browser-host.example" remotes_path.write_text(json.dumps({endpoint: {}}), encoding="utf-8") monkeypatch.setattr("browser_cli.client.targets.REGISTRY_PATH", tmp_path / "missing-registry.json") monkeypatch.setattr("browser_cli.remote.registry.REMOTE_REGISTRY_PATH", remotes_path) @@ -440,13 +440,13 @@ def test_domain_display_name_omits_port(monkeypatch, tmp_path): targets = active_browser_targets() assert len(targets) == 1 - assert targets[0].display_name == "browsercli.yiprawr.dev:automatisation" + assert targets[0].display_name == "browser-host.example:automatisation" assert targets[0].remote == endpoint def test_domain_display_name_backward_compat_with_stored_443(monkeypatch, tmp_path): """Old remotes.json with :443 still displays cleanly without the port.""" remotes_path = tmp_path / "remotes.json" - endpoint = "browsercli.yiprawr.dev:443" # old format + endpoint = "browser-host.example:443" # old format remotes_path.write_text(json.dumps({endpoint: {}}), encoding="utf-8") monkeypatch.setattr("browser_cli.client.targets.REGISTRY_PATH", tmp_path / "missing-registry.json") monkeypatch.setattr("browser_cli.remote.registry.REMOTE_REGISTRY_PATH", remotes_path) @@ -459,7 +459,7 @@ def test_domain_display_name_backward_compat_with_stored_443(monkeypatch, tmp_pa targets = active_browser_targets() assert len(targets) == 1 - assert targets[0].display_name == "browsercli.yiprawr.dev:automatisation" + assert targets[0].display_name == "browser-host.example:automatisation" def test_send_command_explicit_key_does_not_persist_remote_key(monkeypatch, tmp_path): """--key is a one-shot override; use `browser-cli remote trust` to remember it."""