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
|
||||
|
||||
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):
|
||||
@unittest.skipUnless(PGMQ_AVAILABLE, "pgmq extra not installed")
|
||||
def test_pgmq_bus_lazy_import(self):
|
||||
"""``PgmqBus`` is resolved on first attribute access."""
|
||||
from pipecat.bus.network.pgmq import PgmqBus as Direct
|
||||
|
||||
self.assertIs(network.PgmqBus, Direct)
|
||||
|
||||
@unittest.skipUnless(REDIS_AVAILABLE, "redis extra not installed")
|
||||
def test_redis_bus_lazy_import(self):
|
||||
"""``RedisBus`` is resolved on first attribute access."""
|
||||
from pipecat.bus.network.redis import RedisBus as Direct
|
||||
|
||||
Reference in New Issue
Block a user