test_diagnostics.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. """Tests for diagnostics platform"""
  2. from pytest_homeassistant_custom_component.common import MockConfigEntry
  3. import pytest
  4. from unittest.mock import AsyncMock
  5. from custom_components.tuya_local.const import (
  6. DOMAIN,
  7. CONF_DEVICE_ID,
  8. CONF_LOCAL_KEY,
  9. CONF_PROTOCOL_VERSION,
  10. CONF_TYPE,
  11. )
  12. from custom_components.tuya_local.diagnostics import (
  13. async_get_config_entry_diagnostics,
  14. async_get_device_diagnostics,
  15. )
  16. @pytest.mark.asyncio
  17. async def test_config_entry_diagnostics(hass):
  18. entry = MockConfigEntry(
  19. domain=DOMAIN,
  20. data={
  21. CONF_DEVICE_ID: "test_device",
  22. CONF_LOCAL_KEY: "test_key",
  23. CONF_PROTOCOL_VERSION: "auto",
  24. CONF_TYPE: "simple_switch",
  25. },
  26. )
  27. m_device = AsyncMock()
  28. hass.data[DOMAIN] = {"test_device": {"device": m_device}}
  29. diag = await async_get_config_entry_diagnostics(hass, entry)
  30. assert diag
  31. @pytest.mark.asyncio
  32. async def test_device_diagnostics(hass):
  33. entry = MockConfigEntry(
  34. domain=DOMAIN,
  35. data={
  36. CONF_DEVICE_ID: "test_device",
  37. CONF_LOCAL_KEY: "test_key",
  38. CONF_PROTOCOL_VERSION: "auto",
  39. CONF_TYPE: "simple_switch",
  40. },
  41. )
  42. m_device = AsyncMock()
  43. hass.data[DOMAIN] = {"test_device": {"device": m_device}}
  44. diag = await async_get_device_diagnostics(hass, entry, m_device)
  45. assert diag