Files
signoz/tests/integration/fixtures/network.py
Vibhu Pandey c122bc09b4 feat(tokenizer|sso): add tokenizer for session management and oidc sso support (#9183)
## 📄 Summary

- Instead of relying on JWT for session management, we are adding another token system: opaque. This gives the benefits of expiration and revocation.

- We are now ensuring that emails are regex checked throughout the backend.

- Support has been added for OIDC protocol
2025-10-16 18:00:38 +05:30

49 lines
1.3 KiB
Python

import docker
import docker.errors
import pytest
from testcontainers.core.network import Network
from fixtures import dev, types
from fixtures.logger import setup_logger
logger = setup_logger(__name__)
@pytest.fixture(name="network", scope="package")
def network(
request: pytest.FixtureRequest, pytestconfig: pytest.Config
) -> types.Network:
"""
Package-Scoped fixture for creating a network
"""
def create() -> types.Network:
nw = Network()
nw.create()
return types.Network(id=nw.id, name=nw.name)
def delete(nw: types.Network):
client = docker.from_env()
try:
client.networks.get(network_id=nw.id).remove()
except docker.errors.NotFound:
logger.info(
"Skipping removal of Network, Network(%s) not found. Maybe it was manually removed?",
{"name": nw.name, "id": nw.id},
)
def restore(existing: dict) -> types.Network:
client = docker.from_env()
nw = client.networks.get(network_id=existing.get("id"))
return types.Network(id=nw.id, name=nw.name)
return dev.wrap(
request,
pytestconfig,
"network",
lambda: types.Network("", ""), # pylint: disable=unnecessary-lambda
create,
delete,
restore,
)