1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
from django_pgschemas.log import SchemaContextFilter
from django_pgschemas.routing.info import DomainInfo, HeadersInfo, SessionInfo
from django_pgschemas.schema import Schema
class FakeRecord:
pass
class TestSchemaContextFilter:
def test_filter_with_domain(self):
record = FakeRecord()
scf = SchemaContextFilter()
with Schema.create(
schema_name="some-tenant",
routing=DomainInfo(
domain="some-tenant.some-url.com",
folder="folder1",
),
):
scf.filter(record)
assert record.schema_name == "some-tenant"
assert record.domain == "some-tenant.some-url.com"
assert record.folder == "folder1"
def test_filter_with_session(self):
record = FakeRecord()
scf = SchemaContextFilter()
with Schema.create(
schema_name="some-tenant",
routing=SessionInfo(reference="tenant1"),
):
scf.filter(record)
assert record.schema_name == "some-tenant"
assert record.reference == "tenant1"
def test_filter_with_header(self):
record = FakeRecord()
scf = SchemaContextFilter()
with Schema.create(
schema_name="some-tenant",
routing=HeadersInfo(reference="tenant1"),
):
scf.filter(record)
assert record.schema_name == "some-tenant"
assert record.reference == "tenant1"
|