fix: honor tenant validation during plugin imports

This commit is contained in:
2026-08-05 13:28:01 +02:00
parent f558832cd2
commit 7a018807d8
11 changed files with 139 additions and 8 deletions
+26
View File
@@ -0,0 +1,26 @@
from types import SimpleNamespace
from netbox_export.services.plugin_compat import relation_required_before_save
def relation_field(name, related_label):
related_model = SimpleNamespace(_meta=SimpleNamespace(label_lower=related_label))
return SimpleNamespace(name=name, remote_field=SimpleNamespace(model=related_model))
def test_tenant_relation_is_resolved_before_initial_save_when_required():
field = relation_field("tenant", "tenancy.tenant")
assert relation_required_before_save(field, tenant_required=True) is True
def test_tenant_relation_can_still_be_deferred_when_policy_is_disabled():
field = relation_field("tenant", "tenancy.tenant")
assert relation_required_before_save(field, tenant_required=False) is False
def test_unrelated_relation_is_not_affected_by_tenant_policy():
field = relation_field("site", "dcim.site")
assert relation_required_before_save(field, tenant_required=True) is False