refactor: rename driver to image, first pass

This commit is contained in:
2025-04-17 17:00:00 -06:00
parent 3799f04c13
commit 51fb79baa3
27 changed files with 290 additions and 306 deletions

View File

@@ -74,7 +74,7 @@ def isolated_session_manager(temp_config_dir):
def isolated_config_manager():
"""Create an isolated config manager for testing."""
config_manager = ConfigManager()
# Ensure we're using the built-in drivers, not trying to load from user config
# Ensure we're using the built-in images, not trying to load from user config
return config_manager
@@ -91,7 +91,7 @@ def mock_container_manager():
mock_session = Session(
id="test-session-id",
name="test-session",
driver="goose",
image="goose",
status=SessionStatus.RUNNING,
ports={"8080": "8080"},
)

View File

@@ -14,7 +14,7 @@ def test_config_list(cli_runner, patched_config_manager):
assert "Value" in result.stdout
# Check for default configurations
assert "defaults.driver" in result.stdout
assert "defaults.image" in result.stdout
assert "defaults.connect" in result.stdout
assert "defaults.mount_local" in result.stdout
@@ -22,10 +22,10 @@ def test_config_list(cli_runner, patched_config_manager):
def test_config_get(cli_runner, patched_config_manager):
"""Test the 'mc config get' command."""
# Test getting an existing value
result = cli_runner.invoke(app, ["config", "get", "defaults.driver"])
result = cli_runner.invoke(app, ["config", "get", "defaults.image"])
assert result.exit_code == 0
assert "defaults.driver" in result.stdout
assert "defaults.image" in result.stdout
assert "goose" in result.stdout
# Test getting a non-existent value
@@ -38,11 +38,11 @@ def test_config_get(cli_runner, patched_config_manager):
def test_config_set(cli_runner, patched_config_manager):
"""Test the 'mc config set' command."""
# Test setting a string value
result = cli_runner.invoke(app, ["config", "set", "defaults.driver", "claude"])
result = cli_runner.invoke(app, ["config", "set", "defaults.image", "claude"])
assert result.exit_code == 0
assert "Configuration updated" in result.stdout
assert patched_config_manager.get("defaults.driver") == "claude"
assert patched_config_manager.get("defaults.image") == "claude"
# Test setting a boolean value
result = cli_runner.invoke(app, ["config", "set", "defaults.connect", "false"])
@@ -174,7 +174,7 @@ def test_network_remove(cli_runner, patched_config_manager):
def test_config_reset(cli_runner, patched_config_manager, monkeypatch):
"""Test resetting the configuration."""
# Set a custom value first
patched_config_manager.set("defaults.driver", "custom-driver")
patched_config_manager.set("defaults.image", "custom-image")
# Mock typer.confirm to return True
monkeypatch.setattr("typer.confirm", lambda message: True)
@@ -186,7 +186,7 @@ def test_config_reset(cli_runner, patched_config_manager, monkeypatch):
assert "Configuration reset to defaults" in result.stdout
# Verify it was reset
assert patched_config_manager.get("defaults.driver") == "goose"
assert patched_config_manager.get("defaults.image") == "goose"
# patched_config_manager fixture is now in conftest.py

View File

@@ -30,7 +30,7 @@ def test_integration_session_create_with_volumes(container_manager, test_file_co
try:
# Create a session with a volume mount
session = container_manager.create_session(
driver_name="goose",
image_name="goose",
session_name=f"mc-test-volume-{uuid.uuid4().hex[:8]}",
mount_local=False, # Don't mount current directory
volumes={str(test_file): {"bind": "/test/volume_test.txt", "mode": "ro"}},
@@ -65,7 +65,7 @@ def test_integration_session_create_with_networks(
try:
# Create a session with the test network
session = container_manager.create_session(
driver_name="goose",
image_name="goose",
session_name=f"mc-test-network-{uuid.uuid4().hex[:8]}",
mount_local=False, # Don't mount current directory
networks=[docker_test_network],

View File

@@ -78,8 +78,6 @@ def test_mcp_add(cli_runner, patched_config_manager):
assert "mcp/github:la" in result.stdout # Truncated in table view
def test_mcp_remove(cli_runner, patched_config_manager):
"""Test removing an MCP server."""
# Add a remote MCP server
@@ -107,7 +105,7 @@ def test_mcp_remove(cli_runner, patched_config_manager):
# Remove the MCP server
result = cli_runner.invoke(app, ["mcp", "remove", "test-mcp"])
# Just check it ran successfully with exit code 0
assert result.exit_code == 0
@@ -292,16 +290,14 @@ def test_session_with_mcp(cli_runner, patched_config_manager, mock_container_man
# Mock the session creation with MCP
from mcontainer.models import Session, SessionStatus
timestamp = "2023-01-01T00:00:00Z"
# timestamp no longer needed since we don't use created_at in Session
mock_container_manager.create_session.return_value = Session(
id="test-session-id",
name="test-session",
driver="goose",
image="goose",
status=SessionStatus.RUNNING,
container_id="test-container-id",
created_at=timestamp,
ports={},
mcps=["test-mcp"],
)
# Create a session with MCP

View File

@@ -26,12 +26,9 @@ def test_session_list_with_sessions(cli_runner, mock_container_manager):
mock_session = Session(
id="test-session-id",
name="test-session",
driver="goose",
image="goose",
status=SessionStatus.RUNNING,
ports={"8080": "8080"},
project=None,
created_at="2023-01-01T00:00:00Z",
mcps=[],
)
mock_container_manager.list_sessions.return_value = [mock_session]
@@ -48,7 +45,7 @@ def test_session_create_basic(cli_runner, mock_container_manager):
with patch("mcontainer.cli.user_config") as mock_user_config:
# Handle different key requests appropriately
def mock_get_side_effect(key, default=None):
if key == "defaults.driver":
if key == "defaults.image":
return "goose"
elif key == "defaults.volumes":
return [] # Return empty list for volumes
@@ -71,10 +68,10 @@ def test_session_create_basic(cli_runner, mock_container_manager):
assert result.exit_code == 0
assert "Session created successfully" in result.stdout
# Verify container_manager was called with the expected driver
# Verify container_manager was called with the expected image
mock_container_manager.create_session.assert_called_once()
assert (
mock_container_manager.create_session.call_args[1]["driver_name"] == "goose"
mock_container_manager.create_session.call_args[1]["image_name"] == "goose"
)
@@ -94,16 +91,14 @@ def test_session_close_all(cli_runner, mock_container_manager):
# Set up mock sessions
from mcontainer.models import Session, SessionStatus
timestamp = "2023-01-01T00:00:00Z"
# timestamp no longer needed since we don't use created_at in Session
mock_sessions = [
Session(
id=f"session-{i}",
name=f"Session {i}",
driver="goose",
image="goose",
status=SessionStatus.RUNNING,
ports={},
project=None,
created_at=timestamp,
)
for i in range(3)
]