From e3ecced2e2bafa08b4c8ffe36d7692fbbe67e0a8 Mon Sep 17 00:00:00 2001 From: Hamid Abubakr Date: Wed, 22 May 2024 13:41:34 +0400 Subject: [PATCH] keep callback bindings on connection close --- tests/api/__init__.py | 2 +- tests/api/test_connect.py | 2 +- zigpy_zboss/api.py | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/api/__init__.py b/tests/api/__init__.py index 9ef26fa..ea431d6 100644 --- a/tests/api/__init__.py +++ b/tests/api/__init__.py @@ -1 +1 @@ -"""Tests for api.""" \ No newline at end of file +"""Tests for api.""" diff --git a/tests/api/test_connect.py b/tests/api/test_connect.py index f3bc685..1c7393f 100644 --- a/tests/api/test_connect.py +++ b/tests/api/test_connect.py @@ -47,7 +47,7 @@ async def test_api_close(connected_zboss, mocker): def dict_minus(d, minus): return {k: v for k, v in d.items() if k not in minus} - ignored_keys = ["_blocking_request_lock", "nvram"] + ignored_keys = ["_blocking_request_lock", "nvram", "_listeners"] # Closing ZBOSS should reset it completely to that of a fresh object # We have to ignore our mocked method and the lock diff --git a/zigpy_zboss/api.py b/zigpy_zboss/api.py index d37a21b..0c8e7b1 100644 --- a/zigpy_zboss/api.py +++ b/zigpy_zboss/api.py @@ -116,7 +116,6 @@ def close(self) -> None: for listener in listeners: listener.cancel() - self._listeners.clear() self.version = None self.capabilities = None