Skip pgmq/redis lazy-import tests when their extras are not installed
``test_pgmq_bus_lazy_import`` and ``test_redis_bus_lazy_import`` import ``pipecat.bus.network.pgmq`` / ``redis`` directly, which raises when the optional ``pgmq`` / ``redis`` packages are missing. Gate each test with ``@unittest.skipUnless`` on a top-level probe of the underlying package so they're skipped (not errored) in environments without the extras. ``test_unknown_attribute_raises`` is unaffected.
This commit is contained in:
@@ -10,14 +10,30 @@ import unittest
|
|||||||
|
|
||||||
import pipecat.bus.network as network
|
import pipecat.bus.network as network
|
||||||
|
|
||||||
|
try:
|
||||||
|
import pgmq # noqa: F401
|
||||||
|
|
||||||
|
PGMQ_AVAILABLE = True
|
||||||
|
except ImportError:
|
||||||
|
PGMQ_AVAILABLE = False
|
||||||
|
|
||||||
|
try:
|
||||||
|
import redis # noqa: F401
|
||||||
|
|
||||||
|
REDIS_AVAILABLE = True
|
||||||
|
except ImportError:
|
||||||
|
REDIS_AVAILABLE = False
|
||||||
|
|
||||||
|
|
||||||
class TestNetworkPackageLazyImports(unittest.TestCase):
|
class TestNetworkPackageLazyImports(unittest.TestCase):
|
||||||
|
@unittest.skipUnless(PGMQ_AVAILABLE, "pgmq extra not installed")
|
||||||
def test_pgmq_bus_lazy_import(self):
|
def test_pgmq_bus_lazy_import(self):
|
||||||
"""``PgmqBus`` is resolved on first attribute access."""
|
"""``PgmqBus`` is resolved on first attribute access."""
|
||||||
from pipecat.bus.network.pgmq import PgmqBus as Direct
|
from pipecat.bus.network.pgmq import PgmqBus as Direct
|
||||||
|
|
||||||
self.assertIs(network.PgmqBus, Direct)
|
self.assertIs(network.PgmqBus, Direct)
|
||||||
|
|
||||||
|
@unittest.skipUnless(REDIS_AVAILABLE, "redis extra not installed")
|
||||||
def test_redis_bus_lazy_import(self):
|
def test_redis_bus_lazy_import(self):
|
||||||
"""``RedisBus`` is resolved on first attribute access."""
|
"""``RedisBus`` is resolved on first attribute access."""
|
||||||
from pipecat.bus.network.redis import RedisBus as Direct
|
from pipecat.bus.network.redis import RedisBus as Direct
|
||||||
|
|||||||
Reference in New Issue
Block a user