mirror of
https://github.com/Monadical-SAS/cubbi.git
synced 2025-12-21 04:39:07 +00:00
refactor: reduce amount of data in session.yaml
This commit is contained in:
@@ -85,9 +85,6 @@ def list_sessions() -> None:
|
|||||||
table.add_column("Driver")
|
table.add_column("Driver")
|
||||||
table.add_column("Status")
|
table.add_column("Status")
|
||||||
table.add_column("Ports")
|
table.add_column("Ports")
|
||||||
table.add_column("Project")
|
|
||||||
table.add_column("Project Name")
|
|
||||||
table.add_column("MCPs")
|
|
||||||
|
|
||||||
for session in sessions:
|
for session in sessions:
|
||||||
ports_str = ", ".join(
|
ports_str = ", ".join(
|
||||||
@@ -110,18 +107,12 @@ def list_sessions() -> None:
|
|||||||
else str(session.status)
|
else str(session.status)
|
||||||
)
|
)
|
||||||
|
|
||||||
# Format MCPs as a comma-separated list
|
|
||||||
mcps_str = ", ".join(session.mcps) if session.mcps else ""
|
|
||||||
|
|
||||||
table.add_row(
|
table.add_row(
|
||||||
session.id,
|
session.id,
|
||||||
session.name,
|
session.name,
|
||||||
session.driver,
|
session.driver,
|
||||||
f"[{status_color}]{status_name}[/{status_color}]",
|
f"[{status_color}]{status_name}[/{status_color}]",
|
||||||
ports_str,
|
ports_str,
|
||||||
session.project or "",
|
|
||||||
session.project_name or "",
|
|
||||||
mcps_str,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
console.print(table)
|
console.print(table)
|
||||||
|
|||||||
@@ -112,11 +112,6 @@ class ContainerManager:
|
|||||||
driver=labels.get("mc.driver", "unknown"),
|
driver=labels.get("mc.driver", "unknown"),
|
||||||
status=status,
|
status=status,
|
||||||
container_id=container_id,
|
container_id=container_id,
|
||||||
created_at=container.attrs["Created"],
|
|
||||||
project=labels.get("mc.project"),
|
|
||||||
project_name=labels.get("mc.project_name"),
|
|
||||||
model=labels.get("mc.model"),
|
|
||||||
provider=labels.get("mc.provider"),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Get port mappings
|
# Get port mappings
|
||||||
@@ -621,18 +616,7 @@ class ContainerManager:
|
|||||||
driver=driver_name,
|
driver=driver_name,
|
||||||
status=SessionStatus.RUNNING,
|
status=SessionStatus.RUNNING,
|
||||||
container_id=container.id,
|
container_id=container.id,
|
||||||
environment=env_vars,
|
|
||||||
project=project,
|
|
||||||
project_name=project_name,
|
|
||||||
created_at=container.attrs["Created"],
|
|
||||||
ports=ports,
|
ports=ports,
|
||||||
mcps=mcp_names,
|
|
||||||
run_command=run_command,
|
|
||||||
uid=uid,
|
|
||||||
gid=gid,
|
|
||||||
model=model,
|
|
||||||
provider=provider,
|
|
||||||
ssh=ssh,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Save session to the session manager
|
# Save session to the session manager
|
||||||
|
|||||||
@@ -100,18 +100,7 @@ class Session(BaseModel):
|
|||||||
driver: str
|
driver: str
|
||||||
status: SessionStatus
|
status: SessionStatus
|
||||||
container_id: Optional[str] = None
|
container_id: Optional[str] = None
|
||||||
environment: Dict[str, str] = Field(default_factory=dict)
|
|
||||||
project: Optional[str] = None
|
|
||||||
project_name: Optional[str] = None
|
|
||||||
created_at: str
|
|
||||||
ports: Dict[int, int] = Field(default_factory=dict)
|
ports: Dict[int, int] = Field(default_factory=dict)
|
||||||
mcps: List[str] = Field(default_factory=list)
|
|
||||||
run_command: Optional[str] = None
|
|
||||||
uid: Optional[int] = None
|
|
||||||
gid: Optional[int] = None
|
|
||||||
model: Optional[str] = None
|
|
||||||
provider: Optional[str] = None
|
|
||||||
ssh: bool = False
|
|
||||||
|
|
||||||
|
|
||||||
class Config(BaseModel):
|
class Config(BaseModel):
|
||||||
|
|||||||
@@ -88,16 +88,12 @@ def mock_session_manager():
|
|||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def mock_container_manager():
|
def mock_container_manager():
|
||||||
"""Mock the ContainerManager class with proper initialization."""
|
"""Mock the ContainerManager class with proper initialization."""
|
||||||
timestamp = "2023-01-01T00:00:00Z" # Use fixed timestamp for reproducibility
|
|
||||||
mock_session = Session(
|
mock_session = Session(
|
||||||
id="test-session-id",
|
id="test-session-id",
|
||||||
name="test-session",
|
name="test-session",
|
||||||
driver="goose",
|
driver="goose",
|
||||||
status=SessionStatus.RUNNING,
|
status=SessionStatus.RUNNING,
|
||||||
ports={"8080": "8080"},
|
ports={"8080": "8080"},
|
||||||
project=None,
|
|
||||||
created_at=timestamp,
|
|
||||||
mcps=[],
|
|
||||||
)
|
)
|
||||||
|
|
||||||
with patch("mcontainer.cli.container_manager") as mock_manager:
|
with patch("mcontainer.cli.container_manager") as mock_manager:
|
||||||
|
|||||||
Reference in New Issue
Block a user