mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-06-04 11:25:52 +08:00
46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
import pytest
|
|
from testcontainers.core.container import Network
|
|
|
|
from fixtures.logger import setup_logger
|
|
|
|
logger = setup_logger(__name__)
|
|
|
|
|
|
@pytest.fixture(name="network", scope="package")
|
|
def network(request: pytest.FixtureRequest, pytestconfig: pytest.Config) -> Network:
|
|
"""
|
|
Package-Scoped fixture for creating a network
|
|
"""
|
|
nw = Network()
|
|
|
|
dev = request.config.getoption("--dev")
|
|
if dev:
|
|
cached_network = pytestconfig.cache.get("network", None)
|
|
if cached_network:
|
|
logger.info("Using cached Network(%s)", cached_network)
|
|
nw.id = cached_network["id"]
|
|
nw.name = cached_network["name"]
|
|
return nw
|
|
|
|
nw.create()
|
|
|
|
def stop():
|
|
dev = request.config.getoption("--dev")
|
|
if dev:
|
|
logger.info(
|
|
"Skipping removal of Network(%s)", {"name": nw.name, "id": nw.id}
|
|
)
|
|
else:
|
|
logger.info("Removing Network(%s)", {"name": nw.name, "id": nw.id})
|
|
nw.remove()
|
|
|
|
request.addfinalizer(stop)
|
|
|
|
cached_network = nw
|
|
if dev:
|
|
pytestconfig.cache.set(
|
|
"network", {"name": cached_network.name, "id": cached_network.id}
|
|
)
|
|
|
|
return cached_network
|