Co-authored-by: Albert Jiang <aj@mistral.ai>
Co-authored-by: Clément Drouin <clement.drouin@mistral.ai>
Co-authored-by: Laure Hugo <201583486+laure0303@users.noreply.github.com>
Co-authored-by: Mathias Gesbert <mathias.gesbert@mistral.ai>
Co-authored-by: Mert Unsal <mert.unsal@mistral.ai>
Co-authored-by: Michel Thomazo <51709227+michelTho@users.noreply.github.com>
Co-authored-by: Paul VEZIA <166131032+le-codeur-rapide@users.noreply.github.com>
Co-authored-by: Pierre Rossinès <pierre.rossines@mistral.ai>
Co-authored-by: Quentin <quentin.torroba@mistral.ai>
Co-authored-by: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
maiengineering 2026-07-01 19:03:09 +02:00 committed by GitHub
parent 4e495f658d
commit ac8f1a09fd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
83 changed files with 1979 additions and 572 deletions

View file

@ -12,7 +12,7 @@ from vibe.core.experiments.session import (
hydrate_experiments_from_session,
initialize_experiments,
)
from vibe.core.telemetry.types import TerminalEmulator
from vibe.core.telemetry.types import LaunchContext, TerminalEmulator
class _StubClient(RemoteEvalClient):
@ -50,7 +50,7 @@ async def test_initialize_returns_false_when_telemetry_disabled(
config=_make_config(enable_telemetry=False),
manager=manager,
session_logger=session_logger,
entrypoint_metadata=None,
launch_context=None,
)
assert result is False
@ -73,7 +73,7 @@ async def test_initialize_returns_false_when_experiments_disabled(
config=_make_config(enable_experiments=False),
manager=manager,
session_logger=session_logger,
entrypoint_metadata=None,
launch_context=None,
)
assert result is False
@ -97,7 +97,7 @@ async def test_initialize_returns_false_when_no_mistral_provider(
config=_make_config(),
manager=manager,
session_logger=session_logger,
entrypoint_metadata=None,
launch_context=None,
)
assert result is False
@ -131,7 +131,7 @@ async def test_initialize_returns_false_when_remote_eval_fails(
config=_make_config(),
manager=manager,
session_logger=session_logger,
entrypoint_metadata=None,
launch_context=None,
)
assert result is False
@ -164,7 +164,7 @@ async def test_initialize_returns_true_and_persists_when_remote_eval_succeeds(
config=_make_config(),
manager=manager,
session_logger=session_logger,
entrypoint_metadata=None,
launch_context=None,
)
assert result is True
@ -192,8 +192,13 @@ async def test_initialize_uses_provided_terminal_emulator(
config=_make_config(),
manager=manager,
session_logger=session_logger,
entrypoint_metadata=None,
terminal_emulator=TerminalEmulator.VSCODE,
launch_context=LaunchContext(
agent_entrypoint="cli",
agent_version="1.0.0",
client_name="vibe_cli",
client_version="1.0.0",
terminal_emulator=TerminalEmulator.VSCODE,
),
)
assert result is True

View file

@ -1,8 +1,19 @@
from __future__ import annotations
from tests.conftest import build_test_vibe_config
from vibe import __version__
from vibe.core.experiments.active import ExperimentName
from vibe.core.telemetry.send import TelemetryClient
from vibe.core.utils import get_platform_id, get_platform_version
def _assert_system_metadata(metadata: dict[str, object]) -> None:
assert metadata["os"] == get_platform_id()
assert metadata["version"] == __version__
if os_version := get_platform_version():
assert metadata["os_version"] == os_version
else:
assert "os_version" not in metadata
def test_build_client_event_metadata_omits_experiments_when_empty() -> None:
@ -12,6 +23,7 @@ def test_build_client_event_metadata_omits_experiments_when_empty() -> None:
)
metadata = client.build_client_event_metadata()
assert "experiments" not in metadata
_assert_system_metadata(metadata)
def test_build_client_event_metadata_includes_experiments_when_present() -> None:
@ -22,6 +34,7 @@ def test_build_client_event_metadata_includes_experiments_when_present() -> None
)
metadata = client.build_client_event_metadata()
assert metadata["experiments"] == {sp_key: "1"}
_assert_system_metadata(metadata)
def test_build_client_event_metadata_works_without_getter() -> None:
@ -29,3 +42,4 @@ def test_build_client_event_metadata_works_without_getter() -> None:
client = TelemetryClient(config_getter=lambda: config)
metadata = client.build_client_event_metadata()
assert "experiments" not in metadata
_assert_system_metadata(metadata)