91e75e620b
CI: cua-driver distro-compat matrix / Resolve release version (push) Waiting to run
CI: cua-driver distro-compat matrix / debian:12 (glibc 2.36) (push) Blocked by required conditions
CI: cua-driver distro-compat matrix / fedora:41 (glibc 2.40) (push) Blocked by required conditions
CI: cua-driver distro-compat matrix / rockylinux:9 (glibc 2.34) (push) Blocked by required conditions
CI: cua-driver distro-compat matrix / ubuntu:22.04 (glibc 2.35) (push) Blocked by required conditions
CI: cua-driver distro-compat matrix / ubuntu:24.04 (glibc 2.39) (push) Blocked by required conditions
CI: cua-driver distro-compat matrix / Distro compat summary (push) Blocked by required conditions
CI: Nix Linux Rust source / Nix / compositor build (push) Waiting to run
CI: Nix Linux Rust source / Nix / driver package (push) Waiting to run
CI: Nix Linux Rust source / Nix / Rust unit tests (push) Waiting to run
CI: Rust Linux unit / Rust Linux unit and compile (push) Waiting to run
CI: Rust Windows unit / Rust Windows unit and compile (push) Waiting to run
CI: SPDX Headers / Check SPDX headers (warn-only) (push) Waiting to run
CD: Docs MCP Server / build (linux/amd64) (push) Waiting to run
CD: Docs MCP Server / build (linux/arm64) (push) Waiting to run
CD: Docs MCP Server / merge (push) Blocked by required conditions
68 lines
2.1 KiB
Python
68 lines
2.1 KiB
Python
"""Unit tests for Computer class.
|
|
|
|
This file tests ONLY the Computer class initialization and context manager.
|
|
Following SRP: This file tests ONE class (Computer).
|
|
All external dependencies (providers, interfaces) are mocked.
|
|
"""
|
|
|
|
from unittest.mock import AsyncMock, MagicMock, Mock, patch
|
|
|
|
import pytest
|
|
|
|
|
|
class TestComputerImport:
|
|
"""Test Computer module imports (SRP: Only tests imports)."""
|
|
|
|
def test_computer_class_exists(self):
|
|
"""Test that Computer class can be imported."""
|
|
from computer import Computer
|
|
|
|
assert Computer is not None
|
|
|
|
def test_vm_provider_type_exists(self):
|
|
"""Test that VMProviderType enum can be imported."""
|
|
from computer import VMProviderType
|
|
|
|
assert VMProviderType is not None
|
|
|
|
|
|
class TestComputerInitialization:
|
|
"""Test Computer initialization (SRP: Only tests initialization)."""
|
|
|
|
def test_computer_class_can_be_imported(self, disable_telemetry):
|
|
"""Test that Computer class can be imported without errors."""
|
|
from computer import Computer
|
|
|
|
assert Computer is not None
|
|
|
|
def test_computer_has_required_methods(self, disable_telemetry):
|
|
"""Test that Computer class has required methods."""
|
|
from computer import Computer
|
|
|
|
assert hasattr(Computer, "__aenter__")
|
|
assert hasattr(Computer, "__aexit__")
|
|
|
|
|
|
class TestComputerContextManager:
|
|
"""Test Computer context manager protocol (SRP: Only tests context manager)."""
|
|
|
|
def test_computer_is_async_context_manager(self, disable_telemetry):
|
|
"""Test that Computer has async context manager methods."""
|
|
from computer import Computer
|
|
|
|
assert hasattr(Computer, "__aenter__")
|
|
assert hasattr(Computer, "__aexit__")
|
|
assert callable(Computer.__aenter__)
|
|
assert callable(Computer.__aexit__)
|
|
|
|
|
|
class TestComputerInterface:
|
|
"""Test Computer.interface property (SRP: Only tests interface access)."""
|
|
|
|
def test_computer_class_structure(self, disable_telemetry):
|
|
"""Test that Computer class has expected structure."""
|
|
from computer import Computer
|
|
|
|
# Verify Computer is a class
|
|
assert isinstance(Computer, type)
|