71803418e5
Shelly device management app with mDNS/subnet discovery, inventory, configuration, and mass operations for Gen1/Gen2+ devices. Includes .gitignore excluding runtime data (device DB, user config), AI conversation history, build artifacts, and common Python/OS patterns.
46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
"""Shelly internal model code → display names."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from datetime import UTC, datetime
|
|
|
|
from shelly_manager.core.model_names import (
|
|
format_model_for_ui,
|
|
format_model_plain,
|
|
shelly_model_display_name,
|
|
)
|
|
from shelly_manager.core.models import ShellyDevice
|
|
|
|
|
|
def test_snsw_001p16eu_is_plus_1pm() -> None:
|
|
assert shelly_model_display_name("SNSW-001P16EU") == "Plus 1PM"
|
|
|
|
|
|
def test_unknown_model_returns_raw() -> None:
|
|
assert shelly_model_display_name("UNKNOWN-XYZ") == "UNKNOWN-XYZ"
|
|
|
|
|
|
def test_format_model_plain() -> None:
|
|
assert "Plus 1PM" in format_model_plain("SNSW-001P16EU")
|
|
assert "SNSW-001P16EU" in format_model_plain("SNSW-001P16EU")
|
|
|
|
|
|
def test_shelly_device_model_label() -> None:
|
|
d = ShellyDevice(
|
|
id="AABBCCDDEEFF",
|
|
name=None,
|
|
mac="AA:BB:CC:DD:EE:FF",
|
|
ip="192.168.1.1",
|
|
generation=2,
|
|
model="SNSW-001P16EU",
|
|
firmware="1.0",
|
|
online=True,
|
|
last_seen=datetime.now(UTC),
|
|
capabilities=[],
|
|
status={},
|
|
settings={},
|
|
)
|
|
assert d.model_display_name == "Plus 1PM"
|
|
assert "Plus 1PM" in d.model_label
|
|
assert "SNSW-001P16EU" in d.model_label
|