mirror of
https://github.com/trycua/lume.git
synced 2026-01-02 02:20:02 -06:00
67 lines
2.2 KiB
Python
67 lines
2.2 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.
|
|
"""
|
|
|
|
import pytest
|
|
from unittest.mock import Mock, AsyncMock, patch, MagicMock
|
|
|
|
|
|
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(getattr(Computer, '__aenter__'))
|
|
assert callable(getattr(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)
|