Add tests.common.ANY (#84240)

This commit is contained in:
Erik Montnemery 2022-12-20 08:20:42 +01:00 committed by GitHub
parent 3405fa60ec
commit 3884e16b46
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 2 deletions

View file

@ -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 "<ANY>"
return repr(self._other)
ANY = _HA_ANY()
def raise_contains_mocks(val):
"""Raise for mocks."""
if isinstance(val, Mock):

View file

@ -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,