Loading src/open_exposure_gateway/application/services/traffic_influence_service.py +3 −1 Changes for src/open_exposure_gateway/application/services/traffic_influence_service.py: 3 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -134,6 +134,7 @@ class TrafficInfluenceService: async def _resolve_zone_id( self, request: PostTrafficInfluence, app_provider_id: str, x_correlator: Optional[str], ) -> str | None: if request.edgeCloudZoneId is not None: Loading @@ -151,6 +152,7 @@ class TrafficInfluenceService: return zones[0].id if request.appInstanceId is not None: instances = await self.srm_client.get_app_instances( app_provider_id=app_provider_id, app_id=None, app_instance_id=request.appInstanceId, region=None, Loading Loading @@ -222,7 +224,7 @@ class TrafficInfluenceService: # edgeCloudRegion has no SRM field of its own (srm/canonical-parameters-schema.md # has no "region" concept); it's resolved locally to a zone before the command # is built, same zones lookup EAM already uses. zone_id = await self._resolve_zone_id(request, x_correlator) zone_id = await self._resolve_zone_id(request, app_provider_id, x_correlator) command = build_activate_command( request=request, Loading tests/unit/test_traffic_influence_flows.py +13 −5 Changes for tests/unit/test_traffic_influence_flows.py: 13 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -80,7 +80,7 @@ def registered_app(app_registration_repo: FakeAppRegistrationRepository) -> None app_registration_repo.rows[TI_APP_REGISTRATION_ID] = AppRegistration( app_registration_id=TI_APP_REGISTRATION_ID, app_id=UUID(TI_BODY["appId"]), tenant_id="placeholder", tenant_id="test_tenant", name="traffic-influence-app", version="1.0.0", package_type=PackageType.HELM, Loading Loading @@ -192,7 +192,7 @@ class TestTrafficInfluenceCreateFlow: service_instance_id=app_instance_id, service_specification_id=TI_BODY["appId"], state="active", app_provider_id="provider-1", app_provider_id="test_app_provider", zone_id=instance_zone_id, ) body = { Loading Loading @@ -856,7 +856,15 @@ class TestTrafficInfluenceTenantScope: f"{TI_BASE}/traffic-influences", json=TI_BODY ).json()["trafficInfluenceID"] app.dependency_overrides[get_caller_context] = lambda: CallerContext( x_correlator=None, tenant_id="other-tenant", app_provider_id="other-provider" x_correlator=None, tenant_id="other-tenant", app_provider_id="other-provider", roles=["app-provider"], scopes=[ "traffic-influence:traffic-influences:read", "traffic-influence:traffic-influences:write", "traffic-influence:traffic-influences:delete", ], ) return traffic_influence_id Loading Loading @@ -1289,8 +1297,8 @@ class TestTrafficInfluenceIdempotency: operation_repo.rows[clashing_operation_id] = Operation( operation_id=clashing_operation_id, correlation_id="corr-existing", tenant_id="placeholder", app_provider_id="placeholder", tenant_id="test_tenant", app_provider_id="test_app_provider", operation_type=OperationType.DEPLOY, status=OperationStatus.COMPLETED, subject="command.srm.service.deploy", Loading Loading
src/open_exposure_gateway/application/services/traffic_influence_service.py +3 −1 Changes for src/open_exposure_gateway/application/services/traffic_influence_service.py: 3 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -134,6 +134,7 @@ class TrafficInfluenceService: async def _resolve_zone_id( self, request: PostTrafficInfluence, app_provider_id: str, x_correlator: Optional[str], ) -> str | None: if request.edgeCloudZoneId is not None: Loading @@ -151,6 +152,7 @@ class TrafficInfluenceService: return zones[0].id if request.appInstanceId is not None: instances = await self.srm_client.get_app_instances( app_provider_id=app_provider_id, app_id=None, app_instance_id=request.appInstanceId, region=None, Loading Loading @@ -222,7 +224,7 @@ class TrafficInfluenceService: # edgeCloudRegion has no SRM field of its own (srm/canonical-parameters-schema.md # has no "region" concept); it's resolved locally to a zone before the command # is built, same zones lookup EAM already uses. zone_id = await self._resolve_zone_id(request, x_correlator) zone_id = await self._resolve_zone_id(request, app_provider_id, x_correlator) command = build_activate_command( request=request, Loading
tests/unit/test_traffic_influence_flows.py +13 −5 Changes for tests/unit/test_traffic_influence_flows.py: 13 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -80,7 +80,7 @@ def registered_app(app_registration_repo: FakeAppRegistrationRepository) -> None app_registration_repo.rows[TI_APP_REGISTRATION_ID] = AppRegistration( app_registration_id=TI_APP_REGISTRATION_ID, app_id=UUID(TI_BODY["appId"]), tenant_id="placeholder", tenant_id="test_tenant", name="traffic-influence-app", version="1.0.0", package_type=PackageType.HELM, Loading Loading @@ -192,7 +192,7 @@ class TestTrafficInfluenceCreateFlow: service_instance_id=app_instance_id, service_specification_id=TI_BODY["appId"], state="active", app_provider_id="provider-1", app_provider_id="test_app_provider", zone_id=instance_zone_id, ) body = { Loading Loading @@ -856,7 +856,15 @@ class TestTrafficInfluenceTenantScope: f"{TI_BASE}/traffic-influences", json=TI_BODY ).json()["trafficInfluenceID"] app.dependency_overrides[get_caller_context] = lambda: CallerContext( x_correlator=None, tenant_id="other-tenant", app_provider_id="other-provider" x_correlator=None, tenant_id="other-tenant", app_provider_id="other-provider", roles=["app-provider"], scopes=[ "traffic-influence:traffic-influences:read", "traffic-influence:traffic-influences:write", "traffic-influence:traffic-influences:delete", ], ) return traffic_influence_id Loading Loading @@ -1289,8 +1297,8 @@ class TestTrafficInfluenceIdempotency: operation_repo.rows[clashing_operation_id] = Operation( operation_id=clashing_operation_id, correlation_id="corr-existing", tenant_id="placeholder", app_provider_id="placeholder", tenant_id="test_tenant", app_provider_id="test_app_provider", operation_type=OperationType.DEPLOY, status=OperationStatus.COMPLETED, subject="command.srm.service.deploy", Loading