import functools import dotmap from src import suspicions from src.cases import base from src.context import env class NetworkCase(base.BaseCase): def __init__(self, network_name: str, project_id: str, tenant_id: str, *args, **kwargs): super().__init__(*args, **kwargs) self.project_id = project_id self.tenant_id = tenant_id self.network_name = network_name self.namespace = f"{env.STAGE}-{self.project_id}" def build_ctx(self) -> dotmap.DotMap: return dotmap.DotMap({ "project_id": self.project_id, "tenant_id": self.tenant_id, "network_name": self.network_name, "namespace": self.namespace, }) class NetworkDeletingTooLong(NetworkCase): def get_suspicions(self) -> list[type(suspicions.SuspicionABC)]: return [ functools.partial(suspicions.ReconcileFail, obj_name=self.network_name, obj_ns=self.namespace, obj_kind="Network") ]