From 3884e16b46f438e4a13bcab4fe0df3b2188de767 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Tue, 20 Dec 2022 08:20:42 +0100 Subject: [PATCH] Add tests.common.ANY (#84240) --- tests/common.py | 32 +++++++++++++++++++ .../components/config/test_entity_registry.py | 3 +- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/tests/common.py b/tests/common.py index 638bd5551eb..69c569e445f 100644 --- a/tests/common.py +++ b/tests/common.py @@ -1303,6 +1303,38 @@ def assert_lists_same(a, b): assert i in a +_SENTINEL = object() + + +class _HA_ANY: + """A helper object that compares equal to everything. + + Based on unittest.mock.ANY, but modified to not show up in pytest's equality + assertion diffs. + """ + + _other = _SENTINEL + + def __eq__(self, other): + """Test equal.""" + self._other = other + return True + + def __ne__(self, other): + """Test not equal.""" + self._other = other + return False + + def __repr__(self): + """Return repr() other to not show up in pytest quality diffs.""" + if self._other is _SENTINEL: + return "" + return repr(self._other) + + +ANY = _HA_ANY() + + def raise_contains_mocks(val): """Raise for mocks.""" if isinstance(val, Mock): diff --git a/tests/components/config/test_entity_registry.py b/tests/components/config/test_entity_registry.py index 761636f186e..88fdd988dd5 100644 --- a/tests/components/config/test_entity_registry.py +++ b/tests/components/config/test_entity_registry.py @@ -1,6 +1,4 @@ """Test entity_registry API.""" -from unittest.mock import ANY - import pytest from homeassistant.components.config import entity_registry @@ -15,6 +13,7 @@ from homeassistant.helpers.entity_registry import ( ) from tests.common import ( + ANY, MockConfigEntry, MockEntity, MockEntityPlatform,