Loading src/srm/api/rest/router.py +4 −2 Changes for src/srm/api/rest/router.py: 4 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ from srm.api.rest.schemas import ( ErrorResponse, GetServiceSpecificationResponse, ServiceCapabilityRequirementResponseSchema, ServiceDeploymentUnitCreateSchema, ServiceDeploymentUnitResponseSchema, ServiceSpecificationCreateSchema, ) from srm.domain.models.canonical_parameters.parameters import ( Loading Loading @@ -108,7 +108,8 @@ def _build_get_response(saved: ServiceSpecification) -> GetServiceSpecificationR metadata=saved.metadata, ), service_deployment_units=[ ServiceDeploymentUnitCreateSchema( ServiceDeploymentUnitResponseSchema( id=unit.id, ref=unit.ref, name=unit.name, runtime_kind=unit.runtime_kind, Loading @@ -122,6 +123,7 @@ def _build_get_response(saved: ServiceSpecification) -> GetServiceSpecificationR service_capability_requirements=[ ServiceCapabilityRequirementResponseSchema( ref=requirement.ref, deployment_unit_id=requirement.deployment_unit_id, capability_kind=requirement.capability_kind, domain_kind=requirement.domain_kind, is_required=requirement.is_required, Loading src/srm/api/rest/schemas.py +13 −1 Changes for src/srm/api/rest/schemas.py: 13 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -29,6 +29,17 @@ class ServiceDeploymentUnitCreateSchema(DomainModel): metadata: dict[str, Any] = Field(default_factory=dict) class ServiceDeploymentUnitResponseSchema(DomainModel): id: UUID ref: str name: str runtime_kind: RuntimeKind artifact_ref: str | None = None resource_requirements: ComputeRequirements parameters_schema: dict[str, Any] = Field(default_factory=dict) metadata: dict[str, Any] = Field(default_factory=dict) class ServiceCapabilityRequirementCreateSchema(DomainModel): ref: str deployment_unit_ref: str | None = None Loading @@ -42,6 +53,7 @@ class ServiceCapabilityRequirementCreateSchema(DomainModel): class ServiceCapabilityRequirementResponseSchema(DomainModel): ref: str deployment_unit_id: UUID | None = None capability_kind: CapabilityKind domain_kind: DomainKind | None = None is_required: bool = True Loading Loading @@ -83,7 +95,7 @@ class CreateServiceSpecificationResponse(DomainModel): class GetServiceSpecificationResponse(DomainModel): service_specification: ServiceSpecificationCreateSchema service_deployment_units: list[ServiceDeploymentUnitCreateSchema] service_deployment_units: list[ServiceDeploymentUnitResponseSchema] service_capability_requirements: list[ServiceCapabilityRequirementResponseSchema] Loading tests/api/rest/test_catalog.py +5 −0 Changes for tests/api/rest/test_catalog.py: 5 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -140,6 +140,11 @@ async def test_create_then_get_returns_full_specification(client_with_db: AsyncC assert get_body["service_specification"]["ref"] == "video-analytics" assert get_body["service_deployment_units"][0]["ref"] == "main" assert get_body["service_capability_requirements"][0]["ref"] == "compute-capability" assert UUID(get_body["service_deployment_units"][0]["id"]) assert ( get_body["service_capability_requirements"][0]["deployment_unit_id"] == get_body["service_deployment_units"][0]["id"] ) @pytest.mark.integration Loading Loading
src/srm/api/rest/router.py +4 −2 Changes for src/srm/api/rest/router.py: 4 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ from srm.api.rest.schemas import ( ErrorResponse, GetServiceSpecificationResponse, ServiceCapabilityRequirementResponseSchema, ServiceDeploymentUnitCreateSchema, ServiceDeploymentUnitResponseSchema, ServiceSpecificationCreateSchema, ) from srm.domain.models.canonical_parameters.parameters import ( Loading Loading @@ -108,7 +108,8 @@ def _build_get_response(saved: ServiceSpecification) -> GetServiceSpecificationR metadata=saved.metadata, ), service_deployment_units=[ ServiceDeploymentUnitCreateSchema( ServiceDeploymentUnitResponseSchema( id=unit.id, ref=unit.ref, name=unit.name, runtime_kind=unit.runtime_kind, Loading @@ -122,6 +123,7 @@ def _build_get_response(saved: ServiceSpecification) -> GetServiceSpecificationR service_capability_requirements=[ ServiceCapabilityRequirementResponseSchema( ref=requirement.ref, deployment_unit_id=requirement.deployment_unit_id, capability_kind=requirement.capability_kind, domain_kind=requirement.domain_kind, is_required=requirement.is_required, Loading
src/srm/api/rest/schemas.py +13 −1 Changes for src/srm/api/rest/schemas.py: 13 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -29,6 +29,17 @@ class ServiceDeploymentUnitCreateSchema(DomainModel): metadata: dict[str, Any] = Field(default_factory=dict) class ServiceDeploymentUnitResponseSchema(DomainModel): id: UUID ref: str name: str runtime_kind: RuntimeKind artifact_ref: str | None = None resource_requirements: ComputeRequirements parameters_schema: dict[str, Any] = Field(default_factory=dict) metadata: dict[str, Any] = Field(default_factory=dict) class ServiceCapabilityRequirementCreateSchema(DomainModel): ref: str deployment_unit_ref: str | None = None Loading @@ -42,6 +53,7 @@ class ServiceCapabilityRequirementCreateSchema(DomainModel): class ServiceCapabilityRequirementResponseSchema(DomainModel): ref: str deployment_unit_id: UUID | None = None capability_kind: CapabilityKind domain_kind: DomainKind | None = None is_required: bool = True Loading Loading @@ -83,7 +95,7 @@ class CreateServiceSpecificationResponse(DomainModel): class GetServiceSpecificationResponse(DomainModel): service_specification: ServiceSpecificationCreateSchema service_deployment_units: list[ServiceDeploymentUnitCreateSchema] service_deployment_units: list[ServiceDeploymentUnitResponseSchema] service_capability_requirements: list[ServiceCapabilityRequirementResponseSchema] Loading
tests/api/rest/test_catalog.py +5 −0 Changes for tests/api/rest/test_catalog.py: 5 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -140,6 +140,11 @@ async def test_create_then_get_returns_full_specification(client_with_db: AsyncC assert get_body["service_specification"]["ref"] == "video-analytics" assert get_body["service_deployment_units"][0]["ref"] == "main" assert get_body["service_capability_requirements"][0]["ref"] == "compute-capability" assert UUID(get_body["service_deployment_units"][0]["id"]) assert ( get_body["service_capability_requirements"][0]["deployment_unit_id"] == get_body["service_deployment_units"][0]["id"] ) @pytest.mark.integration Loading