diff --git a/search-service/config/detekt/baseline.xml b/search-service/config/detekt/baseline.xml index 06b12920f..8d3bb22bc 100644 --- a/search-service/config/detekt/baseline.xml +++ b/search-service/config/detekt/baseline.xml @@ -5,7 +5,7 @@ ClassNaming:V0_29_JsonLd_migrationTests.kt$V0_29_JsonLd_migrationTests ClassNaming:V0_29__JsonLd_migration.kt$V0_29__JsonLd_migration : BaseJavaMigration ComplexCondition:EntitiesQueryUtils.kt$geoQuery == null && q.isNullOrEmpty() && typeSelection.isNullOrEmpty() && attrs.isEmpty() - ComplexCondition:EntityPayloadService.kt$EntityPayloadService$it && !inverse || !it && inverse + ComplexCondition:EntityService.kt$EntityService$it && !inverse || !it && inverse Filename:V0_29__JsonLd_migration.kt$db.migration.V0_29__JsonLd_migration.kt LongMethod:AttributeInstanceService.kt$AttributeInstanceService$@Transactional suspend fun create(attributeInstance: AttributeInstance): Either<APIException, Unit> LongMethod:EnabledAuthorizationServiceTests.kt$EnabledAuthorizationServiceTests$@Test fun `it should return serialized access control entities with other rigths if user is owner`() @@ -31,6 +31,6 @@ MaximumLineLength:TemporalEntityOperationsHandlerTests.kt$TemporalEntityOperationsHandlerTests$ NestedBlockDepth:V0_29__JsonLd_migration.kt$V0_29__JsonLd_migration$override fun migrate(context: Context) SwallowedException:TemporalQueryUtils.kt$e: IllegalArgumentException - TooManyFunctions:EntityPayloadService.kt$EntityPayloadService + TooManyFunctions:EntityService.kt$EntityService diff --git a/search-service/src/main/kotlin/com/egm/stellio/search/authorization/listener/IAMListener.kt b/search-service/src/main/kotlin/com/egm/stellio/search/authorization/listener/IAMListener.kt index ef21964f6..26c8f6f8c 100644 --- a/search-service/src/main/kotlin/com/egm/stellio/search/authorization/listener/IAMListener.kt +++ b/search-service/src/main/kotlin/com/egm/stellio/search/authorization/listener/IAMListener.kt @@ -11,7 +11,7 @@ import com.egm.stellio.search.authorization.service.EntityAccessRightsService import com.egm.stellio.search.authorization.service.SubjectReferentialService import com.egm.stellio.search.common.config.SearchProperties import com.egm.stellio.search.entity.service.EntityEventService -import com.egm.stellio.search.entity.service.EntityPayloadService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.shared.model.* import com.egm.stellio.shared.util.AuthContextModel.AUTH_TERM_IS_MEMBER_OF import com.egm.stellio.shared.util.AuthContextModel.AUTH_TERM_ROLES @@ -39,7 +39,7 @@ class IAMListener( private val subjectReferentialService: SubjectReferentialService, private val searchProperties: SearchProperties, private val entityAccessRightsService: EntityAccessRightsService, - private val entityPayloadService: EntityPayloadService, + private val entityService: EntityService, private val entityEventService: EntityEventService ) { @@ -120,7 +120,7 @@ class IAMListener( val entitiesIds = entityAccessRightsService.getEntitiesIdsOwnedBySubject(sub).getOrNull() entitiesIds?.let { entityAccessRightsService.deleteAllAccessRightsOnEntities(it) } entitiesIds?.forEach { entityId -> - entityPayloadService.deleteEntity(entityId).getOrNull()?.also { + entityService.deleteEntity(entityId).getOrNull()?.also { entityEventService.publishEntityDeleteEvent(null, it) } } diff --git a/search-service/src/main/kotlin/com/egm/stellio/search/authorization/service/EntityAccessRightsService.kt b/search-service/src/main/kotlin/com/egm/stellio/search/authorization/service/EntityAccessRightsService.kt index 3bb1d5838..c3254c452 100644 --- a/search-service/src/main/kotlin/com/egm/stellio/search/authorization/service/EntityAccessRightsService.kt +++ b/search-service/src/main/kotlin/com/egm/stellio/search/authorization/service/EntityAccessRightsService.kt @@ -5,7 +5,7 @@ import arrow.core.raise.either import com.egm.stellio.search.authorization.model.EntityAccessRights import com.egm.stellio.search.authorization.model.EntityAccessRights.SubjectRightInfo import com.egm.stellio.search.common.util.* -import com.egm.stellio.search.entity.service.EntityPayloadService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.shared.config.ApplicationProperties import com.egm.stellio.shared.model.* import com.egm.stellio.shared.util.* @@ -32,7 +32,7 @@ class EntityAccessRightsService( private val applicationProperties: ApplicationProperties, private val databaseClient: DatabaseClient, private val subjectReferentialService: SubjectReferentialService, - private val entityPayloadService: EntityPayloadService + private val entityService: EntityService ) { @Transactional suspend fun setReadRoleOnEntity(sub: Sub, entityId: URI): Either = @@ -144,7 +144,7 @@ class EntityAccessRightsService( subjectReferentialService.hasStellioAdminRole(subjectUuids) .flatMap { if (!it) - entityPayloadService.hasSpecificAccessPolicies(entityId, specificAccessPolicies) + entityService.hasSpecificAccessPolicies(entityId, specificAccessPolicies) else true.right() }.flatMap { if (!it) diff --git a/search-service/src/main/kotlin/com/egm/stellio/search/authorization/web/EntityAccessControlHandler.kt b/search-service/src/main/kotlin/com/egm/stellio/search/authorization/web/EntityAccessControlHandler.kt index a3bacc360..687812ea0 100644 --- a/search-service/src/main/kotlin/com/egm/stellio/search/authorization/web/EntityAccessControlHandler.kt +++ b/search-service/src/main/kotlin/com/egm/stellio/search/authorization/web/EntityAccessControlHandler.kt @@ -8,7 +8,7 @@ import com.egm.stellio.search.entity.model.NotUpdatedDetails import com.egm.stellio.search.entity.model.UpdateAttributeResult import com.egm.stellio.search.entity.model.UpdateOperationResult import com.egm.stellio.search.entity.model.updateResultFromDetailedResult -import com.egm.stellio.search.entity.service.EntityPayloadService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.search.entity.util.composeEntitiesQuery import com.egm.stellio.shared.config.ApplicationProperties import com.egm.stellio.shared.model.* @@ -40,7 +40,7 @@ import kotlin.collections.flatten class EntityAccessControlHandler( private val applicationProperties: ApplicationProperties, private val entityAccessRightsService: EntityAccessRightsService, - private val entityPayloadService: EntityPayloadService, + private val entityService: EntityService, private val authorizationService: AuthorizationService ) : BaseHandler() { @@ -302,7 +302,7 @@ class EntityAccessControlHandler( val ngsiLdAttribute = expandedAttribute.toNgsiLdAttribute().bind() - entityPayloadService.updateSpecificAccessPolicy(entityId, ngsiLdAttribute).bind() + entityService.updateSpecificAccessPolicy(entityId, ngsiLdAttribute).bind() ResponseEntity.status(HttpStatus.NO_CONTENT).build() }.fold( @@ -318,7 +318,7 @@ class EntityAccessControlHandler( authorizationService.userCanAdminEntity(entityId, sub).bind() - entityPayloadService.removeSpecificAccessPolicy(entityId).bind() + entityService.removeSpecificAccessPolicy(entityId).bind() ResponseEntity.status(HttpStatus.NO_CONTENT).build() }.fold( diff --git a/search-service/src/main/kotlin/com/egm/stellio/search/entity/listener/ObservationEventListener.kt b/search-service/src/main/kotlin/com/egm/stellio/search/entity/listener/ObservationEventListener.kt index b99220462..7ea31de4f 100644 --- a/search-service/src/main/kotlin/com/egm/stellio/search/entity/listener/ObservationEventListener.kt +++ b/search-service/src/main/kotlin/com/egm/stellio/search/entity/listener/ObservationEventListener.kt @@ -4,7 +4,7 @@ import arrow.core.Either import arrow.core.left import arrow.core.raise.either import com.egm.stellio.search.entity.service.EntityEventService -import com.egm.stellio.search.entity.service.EntityPayloadService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.shared.model.* import com.egm.stellio.shared.util.JsonLdUtils.expandAttribute import com.egm.stellio.shared.util.JsonLdUtils.expandJsonLdEntity @@ -23,7 +23,7 @@ import reactor.core.publisher.Mono @Component class ObservationEventListener( - private val entityPayloadService: EntityPayloadService, + private val entityService: EntityService, private val entityEventService: EntityEventService ) { private val logger = LoggerFactory.getLogger(javaClass) @@ -70,7 +70,7 @@ class ObservationEventListener( val ngsiLdEntity = expandedEntity.toNgsiLdEntity().bind() mono { - entityPayloadService.createEntity( + entityService.createEntity( ngsiLdEntity, expandedEntity, observationEvent.sub @@ -95,7 +95,7 @@ class ObservationEventListener( ) mono { - entityPayloadService.partialUpdateAttribute( + entityService.partialUpdateAttribute( observationEvent.entityId, expandedAttribute, observationEvent.sub @@ -132,7 +132,7 @@ class ObservationEventListener( ) mono { - entityPayloadService.appendAttributes( + entityService.appendAttributes( observationEvent.entityId, expandedAttribute.toExpandedAttributes(), !observationEvent.overwrite, diff --git a/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityEventService.kt b/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityEventService.kt index 8dc9124fc..4a9bf1ccd 100644 --- a/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityEventService.kt +++ b/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityEventService.kt @@ -21,7 +21,7 @@ import java.net.URI @Component class EntityEventService( private val kafkaTemplate: KafkaTemplate, - private val entityPayloadService: EntityPayloadService + private val entityService: EntityService ) { private val catchAllTopic = "cim.entity._CatchAll" @@ -232,7 +232,7 @@ class EntityEventService( internal suspend fun getSerializedEntity( entityId: URI ): Either, String>> = - entityPayloadService.retrieve(entityId) + entityService.retrieve(entityId) .map { Pair(it.types, it.payload.asString()) } diff --git a/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityOperationService.kt b/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityOperationService.kt index 7b35a8e65..47a21971d 100644 --- a/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityOperationService.kt +++ b/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityOperationService.kt @@ -20,7 +20,7 @@ import java.net.URI */ @Component class EntityOperationService( - private val entityPayloadService: EntityPayloadService, + private val entityService: EntityService, private val entityAttributeService: EntityAttributeService, private val authorizationService: AuthorizationService, private val entityEventService: EntityEventService @@ -49,7 +49,7 @@ class EntityOperationService( extractIdFunc: (T) -> URI ): Pair, List> { val existingEntitiesIds = - entityPayloadService.filterExistingEntitiesAsIds(entities.map { extractIdFunc.invoke(it) }) + entityService.filterExistingEntitiesAsIds(entities.map { extractIdFunc.invoke(it) }) return entities.partition { existingEntitiesIds.contains(extractIdFunc.invoke(it)) } } @@ -86,7 +86,7 @@ class EntityOperationService( ): BatchOperationResult { val creationResults = entities.map { jsonLdNgsiLdEntity -> either { - entityPayloadService.createEntity(jsonLdNgsiLdEntity.second, jsonLdNgsiLdEntity.first, sub) + entityService.createEntity(jsonLdNgsiLdEntity.second, jsonLdNgsiLdEntity.first, sub) .onRight { entityEventService.publishEntityCreateEvent( sub, @@ -116,7 +116,7 @@ class EntityOperationService( val deletionResults = entities.map { entity -> val entityId = entity.entityId either { - entityPayloadService.deleteEntity(entityId) + entityService.deleteEntity(entityId) .onRight { authorizationService.removeRightsOnEntity(entityId) } @@ -235,7 +235,7 @@ class EntityOperationService( ): Either = either { val (jsonLdEntity, ngsiLdEntity) = entity entityAttributeService.deleteTemporalAttributesOfEntity(ngsiLdEntity.id).bind() - entityPayloadService.appendAttributes( + entityService.appendAttributes( ngsiLdEntity.id, jsonLdEntity.getModifiableMembers(), disallowOverwrite, @@ -255,7 +255,7 @@ class EntityOperationService( sub: Sub? ): Either = either { val (jsonLdEntity, ngsiLdEntity) = entity - entityPayloadService.appendAttributes( + entityService.appendAttributes( ngsiLdEntity.id, jsonLdEntity.getModifiableMembers(), disallowOverwrite, @@ -278,7 +278,7 @@ class EntityOperationService( sub: Sub? ): Either = either { val (jsonLdEntity, ngsiLdEntity) = entity - entityPayloadService.mergeEntity( + entityService.mergeEntity( ngsiLdEntity.id, jsonLdEntity.getModifiableMembers(), null, diff --git a/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityQueryService.kt b/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityQueryService.kt index fd8012b99..a11b54205 100644 --- a/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityQueryService.kt +++ b/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityQueryService.kt @@ -13,11 +13,11 @@ import java.net.URI @Service class EntityQueryService( - private val entityPayloadService: EntityPayloadService, + private val entityService: EntityService, ) { suspend fun queryEntity(entityId: URI): Either = either { - val entityPayload = entityPayloadService.retrieve(entityId).bind() + val entityPayload = entityService.retrieve(entityId).bind() toJsonLdEntity(entityPayload) } @@ -25,14 +25,14 @@ class EntityQueryService( entitiesQuery: EntitiesQuery, accessRightFilter: () -> String? ): Either, Int>> = either { - val entitiesIds = entityPayloadService.queryEntities(entitiesQuery, accessRightFilter) - val count = entityPayloadService.queryEntitiesCount(entitiesQuery, accessRightFilter).bind() + val entitiesIds = entityService.queryEntities(entitiesQuery, accessRightFilter) + val count = entityService.queryEntitiesCount(entitiesQuery, accessRightFilter).bind() // we can have an empty list of entities with a non-zero count (e.g., offset too high) if (entitiesIds.isEmpty()) return@either Pair, Int>(emptyList(), count) - val entitiesPayloads = entityPayloadService.retrieve(entitiesIds).map { toJsonLdEntity(it) } + val entitiesPayloads = entityService.retrieve(entitiesIds).map { toJsonLdEntity(it) } Pair(entitiesPayloads, count).right().bind() } diff --git a/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityPayloadService.kt b/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityService.kt similarity index 99% rename from search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityPayloadService.kt rename to search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityService.kt index a0ab386b2..d0b811924 100644 --- a/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityPayloadService.kt +++ b/search-service/src/main/kotlin/com/egm/stellio/search/entity/service/EntityService.kt @@ -29,7 +29,7 @@ import java.time.ZoneOffset import java.time.ZonedDateTime @Service -class EntityPayloadService( +class EntityService( private val databaseClient: DatabaseClient, private val entityAttributeService: EntityAttributeService, private val scopeService: ScopeService diff --git a/search-service/src/main/kotlin/com/egm/stellio/search/entity/web/EntityHandler.kt b/search-service/src/main/kotlin/com/egm/stellio/search/entity/web/EntityHandler.kt index 044d76875..322d1c5ab 100644 --- a/search-service/src/main/kotlin/com/egm/stellio/search/entity/web/EntityHandler.kt +++ b/search-service/src/main/kotlin/com/egm/stellio/search/entity/web/EntityHandler.kt @@ -6,8 +6,8 @@ import arrow.core.raise.either import arrow.core.right import com.egm.stellio.search.authorization.service.AuthorizationService import com.egm.stellio.search.entity.service.EntityEventService -import com.egm.stellio.search.entity.service.EntityPayloadService import com.egm.stellio.search.entity.service.EntityQueryService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.search.entity.util.composeEntitiesQuery import com.egm.stellio.search.entity.util.validateMinimalQueryEntitiesParameters import com.egm.stellio.shared.config.ApplicationProperties @@ -35,7 +35,7 @@ import java.util.Optional @RequestMapping("/ngsi-ld/v1/entities") class EntityHandler( private val applicationProperties: ApplicationProperties, - private val entityPayloadService: EntityPayloadService, + private val entityService: EntityService, private val queryService: EntityQueryService, private val authorizationService: AuthorizationService, private val entityEventService: EntityEventService @@ -56,9 +56,9 @@ class EntityHandler( val ngsiLdEntity = expandedEntity.toNgsiLdEntity().bind() authorizationService.userCanCreateEntities(sub).bind() - entityPayloadService.checkEntityExistence(ngsiLdEntity.id, true).bind() + entityService.checkEntityExistence(ngsiLdEntity.id, true).bind() - entityPayloadService.createEntity( + entityService.createEntity( ngsiLdEntity, expandedEntity, sub.getOrNull() @@ -91,7 +91,7 @@ class EntityHandler( ): ResponseEntity<*> = either { val sub = getSubFromSecurityContext() - entityPayloadService.checkEntityExistence(entityId).bind() + entityService.checkEntityExistence(entityId).bind() authorizationService.userCanUpdateEntity(entityId, sub).bind() val (body, contexts) = @@ -103,7 +103,7 @@ class EntityHandler( val expandedAttributes = expandAttributes(body, contexts) - val updateResult = entityPayloadService.mergeEntity( + val updateResult = entityService.mergeEntity( entityId, expandedAttributes, observedAt, @@ -149,14 +149,14 @@ class EntityHandler( val expandedEntity = expandJsonLdEntity(body, contexts) val ngsiLdEntity = expandedEntity.toNgsiLdEntity().bind() - entityPayloadService.checkEntityExistence(entityId).bind() + entityService.checkEntityExistence(entityId).bind() authorizationService.userCanUpdateEntity(entityId, sub).bind() if (ngsiLdEntity.id != entityId) BadRequestDataException("The id contained in the body is not the same as the one provided in the URL") .left().bind>() - entityPayloadService.replaceEntity( + entityService.replaceEntity( entityId, ngsiLdEntity, expandedEntity, @@ -239,7 +239,7 @@ class EntityHandler( contexts ).bind() - entityPayloadService.checkEntityExistence(entityId).bind() + entityService.checkEntityExistence(entityId).bind() authorizationService.userCanReadEntity(entityId, sub).bind() @@ -269,11 +269,11 @@ class EntityHandler( ): ResponseEntity<*> = either { val sub = getSubFromSecurityContext() - entityPayloadService.checkEntityExistence(entityId).bind() + entityService.checkEntityExistence(entityId).bind() authorizationService.userCanAdminEntity(entityId, sub).bind() - val entity = entityPayloadService.retrieve(entityId).bind() - entityPayloadService.deleteEntity(entityId).bind() + val entity = entityService.retrieve(entityId).bind() + entityService.deleteEntity(entityId).bind() authorizationService.removeRightsOnEntity(entityId).bind() entityEventService.publishEntityDeleteEvent(sub.getOrNull(), entity) @@ -298,7 +298,7 @@ class EntityHandler( val sub = getSubFromSecurityContext() val disallowOverwrite = options.map { it == QUERY_PARAM_OPTIONS_NOOVERWRITE_VALUE }.orElse(false) - entityPayloadService.checkEntityExistence(entityId).bind() + entityService.checkEntityExistence(entityId).bind() val (body, contexts) = extractPayloadAndContexts(requestBody, httpHeaders, applicationProperties.contexts.core).bind() @@ -306,7 +306,7 @@ class EntityHandler( authorizationService.userCanUpdateEntity(entityId, sub).bind() - val updateResult = entityPayloadService.appendAttributes( + val updateResult = entityService.appendAttributes( entityId, expandedAttributes, disallowOverwrite, @@ -354,10 +354,10 @@ class EntityHandler( extractPayloadAndContexts(requestBody, httpHeaders, applicationProperties.contexts.core).bind() val expandedAttributes = expandAttributes(body, contexts) - entityPayloadService.checkEntityExistence(entityId).bind() + entityService.checkEntityExistence(entityId).bind() authorizationService.userCanUpdateEntity(entityId, sub).bind() - val updateResult = entityPayloadService.updateAttributes( + val updateResult = entityService.updateAttributes( entityId, expandedAttributes, sub.getOrNull() @@ -402,7 +402,7 @@ class EntityHandler( ): ResponseEntity<*> = either { val sub = getSubFromSecurityContext() - entityPayloadService.checkEntityExistence(entityId).bind() + entityService.checkEntityExistence(entityId).bind() authorizationService.userCanUpdateEntity(entityId, sub).bind() // We expect an NGSI-LD Attribute Fragment which should be a JSON-LD Object (see 5.4) @@ -411,7 +411,7 @@ class EntityHandler( val expandedAttribute = expandAttribute(attrId, body, contexts) - entityPayloadService.partialUpdateAttribute( + entityService.partialUpdateAttribute( entityId, expandedAttribute, sub.getOrNull() @@ -460,7 +460,7 @@ class EntityHandler( authorizationService.userCanUpdateEntity(entityId, sub).bind() - entityPayloadService.deleteAttribute( + entityService.deleteAttribute( entityId, expandedAttrId, datasetId, @@ -498,12 +498,12 @@ class EntityHandler( val (body, contexts) = extractPayloadAndContexts(requestBody, httpHeaders, applicationProperties.contexts.core).bind() - entityPayloadService.checkEntityExistence(entityId).bind() + entityService.checkEntityExistence(entityId).bind() authorizationService.userCanUpdateEntity(entityId, sub).bind() val expandedAttribute = expandAttribute(attrId, body, contexts) - entityPayloadService.replaceAttribute(entityId, expandedAttribute, sub.getOrNull()).bind() + entityService.replaceAttribute(entityId, expandedAttribute, sub.getOrNull()).bind() .let { if (it.updated.isEmpty()) ResourceNotFoundException(it.notUpdated[0].reason).left() diff --git a/search-service/src/main/kotlin/com/egm/stellio/search/entity/web/EntityOperationHandler.kt b/search-service/src/main/kotlin/com/egm/stellio/search/entity/web/EntityOperationHandler.kt index 3681077dc..ec280e598 100644 --- a/search-service/src/main/kotlin/com/egm/stellio/search/entity/web/EntityOperationHandler.kt +++ b/search-service/src/main/kotlin/com/egm/stellio/search/entity/web/EntityOperationHandler.kt @@ -5,8 +5,8 @@ import arrow.core.raise.either import com.egm.stellio.search.authorization.service.AuthorizationService import com.egm.stellio.search.common.model.Query import com.egm.stellio.search.entity.service.EntityOperationService -import com.egm.stellio.search.entity.service.EntityPayloadService import com.egm.stellio.search.entity.service.EntityQueryService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.search.entity.util.composeEntitiesQueryFromPostRequest import com.egm.stellio.search.entity.util.validateMinimalQueryEntitiesParameters import com.egm.stellio.shared.config.ApplicationProperties @@ -33,7 +33,7 @@ import java.util.Optional class EntityOperationHandler( private val applicationProperties: ApplicationProperties, private val entityOperationService: EntityOperationService, - private val entityPayloadService: EntityPayloadService, + private val entityService: EntityService, private val queryService: EntityQueryService, private val authorizationService: AuthorizationService ) { @@ -239,7 +239,7 @@ class EntityOperationHandler( val entitiesBeforeDelete = if (entitiesUserCanDelete.isNotEmpty()) - entityPayloadService.retrieve(entitiesUserCanDelete.toList()) + entityService.retrieve(entitiesUserCanDelete.toList()) else emptyList() val batchOperationResult = BatchOperationResult().apply { diff --git a/search-service/src/main/kotlin/com/egm/stellio/search/temporal/service/TemporalQueryService.kt b/search-service/src/main/kotlin/com/egm/stellio/search/temporal/service/TemporalQueryService.kt index 7bae98657..596cb88ec 100644 --- a/search-service/src/main/kotlin/com/egm/stellio/search/temporal/service/TemporalQueryService.kt +++ b/search-service/src/main/kotlin/com/egm/stellio/search/temporal/service/TemporalQueryService.kt @@ -7,7 +7,7 @@ import arrow.core.raise.either import arrow.core.right import com.egm.stellio.search.entity.model.TemporalEntityAttribute import com.egm.stellio.search.entity.service.EntityAttributeService -import com.egm.stellio.search.entity.service.EntityPayloadService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.search.scope.ScopeService import com.egm.stellio.search.temporal.model.* import com.egm.stellio.search.temporal.service.TemporalPaginationService.getRangeAndPaginatedTEA @@ -26,7 +26,7 @@ import java.time.ZonedDateTime @Service class TemporalQueryService( - private val entityPayloadService: EntityPayloadService, + private val entityService: EntityService, private val scopeService: ScopeService, private val attributeInstanceService: AttributeInstanceService, private val entityAttributeService: EntityAttributeService @@ -46,7 +46,7 @@ class TemporalQueryService( else it.right() }.bind() - val entityPayload = entityPayloadService.retrieve(entityId).bind() + val entityPayload = entityService.retrieve(entityId).bind() val origin = calculateOldestTimestamp(entityId, temporalEntitiesQuery, temporalEntityAttributes) val scopeHistory = @@ -111,8 +111,8 @@ class TemporalQueryService( accessRightFilter: () -> String? ): Either, Int, Range?>> = either { val attrs = temporalEntitiesQuery.entitiesQuery.attrs - val entitiesIds = entityPayloadService.queryEntities(temporalEntitiesQuery.entitiesQuery, accessRightFilter) - val count = entityPayloadService.queryEntitiesCount(temporalEntitiesQuery.entitiesQuery, accessRightFilter) + val entitiesIds = entityService.queryEntities(temporalEntitiesQuery.entitiesQuery, accessRightFilter) + val count = entityService.queryEntitiesCount(temporalEntitiesQuery.entitiesQuery, accessRightFilter) .getOrElse { 0 } // we can have an empty list of entities with a non-zero count (e.g., offset too high) @@ -146,7 +146,7 @@ class TemporalQueryService( // then, group them by entity it.first.entityId }.mapKeys { - entityPayloadService.retrieve(it.key).bind() + entityService.retrieve(it.key).bind() } .mapValues { it.value.toMap() diff --git a/search-service/src/main/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandler.kt b/search-service/src/main/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandler.kt index 1c5a43b59..eecfc6185 100644 --- a/search-service/src/main/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandler.kt +++ b/search-service/src/main/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandler.kt @@ -6,7 +6,7 @@ import arrow.core.raise.either import arrow.core.right import com.egm.stellio.search.authorization.service.AuthorizationService import com.egm.stellio.search.entity.service.EntityAttributeService -import com.egm.stellio.search.entity.service.EntityPayloadService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.search.temporal.service.AttributeInstanceService import com.egm.stellio.search.temporal.service.TemporalQueryService import com.egm.stellio.search.temporal.util.composeTemporalEntitiesQuery @@ -36,7 +36,7 @@ import java.net.URI @RestController @RequestMapping("/ngsi-ld/v1/temporal/entities") class TemporalEntityHandler( - private val entityPayloadService: EntityPayloadService, + private val entityService: EntityService, private val attributeInstanceService: AttributeInstanceService, private val entityAttributeService: EntityAttributeService, private val temporalQueryService: TemporalQueryService, @@ -58,7 +58,7 @@ class TemporalEntityHandler( val jsonLdTemporalEntity = expandJsonLdEntity(body, contexts) val entityUri = jsonLdTemporalEntity.id.toUri() - val entityDoesNotExist = entityPayloadService.checkEntityExistence(entityUri, true).isRight() + val entityDoesNotExist = entityService.checkEntityExistence(entityUri, true).isRight() val jsonLdInstances = jsonLdTemporalEntity.getAttributes() jsonLdInstances.checkTemporalAttributeInstance().bind() @@ -75,8 +75,8 @@ class TemporalEntityHandler( ) val ngsiLdEntity = expandedEntity.toNgsiLdEntity().bind() - entityPayloadService.createEntity(ngsiLdEntity, expandedEntity, sub.getOrNull()).bind() - entityPayloadService.upsertAttributes( + entityService.createEntity(ngsiLdEntity, expandedEntity, sub.getOrNull()).bind() + entityService.upsertAttributes( entityUri, sortedJsonLdInstances.removeFirstInstances(), sub.getOrNull() @@ -88,7 +88,7 @@ class TemporalEntityHandler( .build() } else { authorizationService.userCanUpdateEntity(entityUri, sub).bind() - entityPayloadService.upsertAttributes( + entityService.upsertAttributes( entityUri, sortedJsonLdInstances, sub.getOrNull() @@ -112,7 +112,7 @@ class TemporalEntityHandler( ): ResponseEntity<*> = either { val sub = getSubFromSecurityContext() - entityPayloadService.checkEntityExistence(entityId).bind() + entityService.checkEntityExistence(entityId).bind() authorizationService.userCanUpdateEntity(entityId, sub).bind() val (body, contexts) = @@ -121,7 +121,7 @@ class TemporalEntityHandler( jsonLdInstances.checkTemporalAttributeInstance().bind() val sortedJsonLdInstances = jsonLdInstances.sorted() - entityPayloadService.upsertAttributes( + entityService.upsertAttributes( entityId, sortedJsonLdInstances, sub.getOrNull() @@ -187,7 +187,7 @@ class TemporalEntityHandler( ): ResponseEntity<*> = either { val sub = getSubFromSecurityContext() - entityPayloadService.checkEntityExistence(entityId).bind() + entityService.checkEntityExistence(entityId).bind() val contexts = getContextFromLinkHeaderOrDefault(httpHeaders, applicationProperties.contexts.core).bind() val mediaType = getApplicableMediaType(httpHeaders).bind() @@ -230,7 +230,7 @@ class TemporalEntityHandler( val instanceUri = instanceId.toUri() attrId.checkNameIsNgsiLdSupported().bind() - entityPayloadService.checkEntityExistence(entityId).bind() + entityService.checkEntityExistence(entityId).bind() authorizationService.userCanUpdateEntity(entityId, sub).bind() val expandedAttribute = expandAttribute(attrId, body, contexts) @@ -267,9 +267,9 @@ class TemporalEntityHandler( ): ResponseEntity<*> = either { val sub = getSubFromSecurityContext() - entityPayloadService.checkEntityExistence(entityId).bind() + entityService.checkEntityExistence(entityId).bind() authorizationService.userCanAdminEntity(entityId, sub).bind() - entityPayloadService.deleteEntity(entityId).bind() + entityService.deleteEntity(entityId).bind() authorizationService.removeRightsOnEntity(entityId).bind() ResponseEntity.status(HttpStatus.NO_CONTENT).build() @@ -304,7 +304,7 @@ class TemporalEntityHandler( authorizationService.userCanUpdateEntity(entityId, sub).bind() - entityPayloadService.deleteAttribute( + entityService.deleteAttribute( entityId, expandedAttrId, datasetId, @@ -336,7 +336,7 @@ class TemporalEntityHandler( attrId.checkNameIsNgsiLdSupported().bind() val expandedAttrId = expandJsonLdTerm(attrId, contexts) - entityPayloadService.checkEntityExistence(entityId).bind() + entityService.checkEntityExistence(entityId).bind() authorizationService.userCanUpdateEntity(entityId, sub).bind() diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/authorization/listener/IAMListenerTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/authorization/listener/IAMListenerTests.kt index 4e42fddb8..5c6e01e28 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/authorization/listener/IAMListenerTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/authorization/listener/IAMListenerTests.kt @@ -6,7 +6,7 @@ import com.egm.stellio.search.authorization.service.SubjectReferentialService import com.egm.stellio.search.common.config.SearchProperties import com.egm.stellio.search.entity.model.EntityPayload import com.egm.stellio.search.entity.service.EntityEventService -import com.egm.stellio.search.entity.service.EntityPayloadService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.shared.util.GlobalRole import com.egm.stellio.shared.util.SubjectType import com.egm.stellio.shared.util.loadSampleData @@ -34,7 +34,7 @@ class IAMListenerTests { private lateinit var entityAccessRightsService: EntityAccessRightsService @MockkBean(relaxed = true) - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService @MockkBean(relaxed = true) private lateinit var searchProperties: SearchProperties @@ -355,7 +355,7 @@ class IAMListenerTests { coEvery { entityAccessRightsService.getEntitiesIdsOwnedBySubject("6ad19fe0-fc11-4024-85f2-931c6fa6f7e0") } returns listOf(entityId).right() - coEvery { entityPayloadService.deleteEntity(entityId) } returns mockkClass(EntityPayload::class).right() + coEvery { entityService.deleteEntity(entityId) } returns mockkClass(EntityPayload::class).right() coEvery { entityEventService.publishEntityDeleteEvent(any(), any()) } returns Job() iamListener.dispatchIamMessage(subjectDeleteEvent) @@ -368,7 +368,7 @@ class IAMListenerTests { ) } coVerify { - entityPayloadService.deleteEntity( + entityService.deleteEntity( match { it == entityId } diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/authorization/service/EntityAccessRightsServiceTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/authorization/service/EntityAccessRightsServiceTests.kt index 3bdd458d9..268f7619e 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/authorization/service/EntityAccessRightsServiceTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/authorization/service/EntityAccessRightsServiceTests.kt @@ -8,7 +8,7 @@ import com.egm.stellio.search.authorization.getSubjectInfoForUser import com.egm.stellio.search.authorization.model.SubjectAccessRight import com.egm.stellio.search.authorization.model.SubjectReferential import com.egm.stellio.search.entity.model.EntityPayload -import com.egm.stellio.search.entity.service.EntityPayloadService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.search.support.WithTimescaleContainer import com.egm.stellio.shared.model.AccessDeniedException import com.egm.stellio.shared.model.ExpandedTerm @@ -53,7 +53,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { private lateinit var subjectReferentialService: SubjectReferentialService @SpykBean - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService private val userUuid = "0768A6D5-D87B-4209-9A22-8C40A8961A79" private val groupUuid = "220FC854-3609-404B-BC77-F2DFE332B27B" @@ -79,7 +79,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { @Test fun `it should add a new entity in the allowed list of read entities`() = runTest { - coEvery { entityPayloadService.hasSpecificAccessPolicies(any(), any()) } returns true.right() + coEvery { entityService.hasSpecificAccessPolicies(any(), any()) } returns true.right() entityAccessRightsService.setReadRoleOnEntity(userUuid, entityId01) @@ -89,7 +89,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { @Test fun `it should remove an entity from the allowed list of read entities`() = runTest { - coEvery { entityPayloadService.hasSpecificAccessPolicies(any(), any()) } returns false.right() + coEvery { entityService.hasSpecificAccessPolicies(any(), any()) } returns false.right() entityAccessRightsService.setReadRoleOnEntity(userUuid, entityId01) entityAccessRightsService.removeRoleOnEntity(userUuid, entityId01) @@ -102,7 +102,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { @Test fun `it should remove an entity from the list of known entities`() = runTest { - coEvery { entityPayloadService.hasSpecificAccessPolicies(any(), any()) } returns false.right() + coEvery { entityService.hasSpecificAccessPolicies(any(), any()) } returns false.right() entityAccessRightsService.setReadRoleOnEntity(userUuid, entityId01) @@ -118,7 +118,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { @Test fun `it should allow the owner of entity to administrate the entity`() = runTest { - coEvery { entityPayloadService.hasSpecificAccessPolicies(any(), any()) } returns false.right() + coEvery { entityService.hasSpecificAccessPolicies(any(), any()) } returns false.right() entityAccessRightsService.setOwnerRoleOnEntity(userUuid, entityId01) @@ -133,7 +133,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { @Test fun `it should allow an user having a direct read role on a entity`() = runTest { - coEvery { entityPayloadService.hasSpecificAccessPolicies(any(), any()) } returns false.right() + coEvery { entityService.hasSpecificAccessPolicies(any(), any()) } returns false.right() entityAccessRightsService.setReadRoleOnEntity(userUuid, entityId01) entityAccessRightsService.setWriteRoleOnEntity(userUuid, "urn:ngsi-ld:Entity:6666".toUri()) @@ -153,7 +153,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { @Test fun `it should allow an user having a read role on a entity via a group membership`() = runTest { - coEvery { entityPayloadService.hasSpecificAccessPolicies(any(), any()) } returns false.right() + coEvery { entityService.hasSpecificAccessPolicies(any(), any()) } returns false.right() coEvery { subjectReferentialService.getSubjectAndGroupsUUID(Some(userUuid)) } returns listOf(groupUuid, userUuid).right() @@ -178,7 +178,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { subjectReferentialService.getSubjectAndGroupsUUID(Some(userUuid)) } answers { listOf(groupUuid, userUuid).right() } coEvery { subjectReferentialService.hasStellioAdminRole(any()) } returns false.right() - coEvery { entityPayloadService.hasSpecificAccessPolicies(any(), any()) } returns false.right() + coEvery { entityService.hasSpecificAccessPolicies(any(), any()) } returns false.right() entityAccessRightsService.setReadRoleOnEntity(groupUuid, entityId01) entityAccessRightsService.setReadRoleOnEntity(userUuid, entityId01) @@ -217,7 +217,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { @Test fun `it should allow user who have read right on entity`() = runTest { - coEvery { entityPayloadService.hasSpecificAccessPolicies(any(), any()) } returns false.right() + coEvery { entityService.hasSpecificAccessPolicies(any(), any()) } returns false.right() entityAccessRightsService.setReadRoleOnEntity(userUuid, entityId01) @@ -226,7 +226,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { @Test fun `it should allow user who have write right on entity`() = runTest { - coEvery { entityPayloadService.hasSpecificAccessPolicies(any(), any()) } returns false.right() + coEvery { entityService.hasSpecificAccessPolicies(any(), any()) } returns false.right() entityAccessRightsService.setWriteRoleOnEntity(userUuid, entityId01) @@ -236,7 +236,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { @Test fun `it should not allow user who have not read right on entity and entity has not a specific access policy`() = runTest { - coEvery { entityPayloadService.hasSpecificAccessPolicies(any(), any()) } returns false.right() + coEvery { entityService.hasSpecificAccessPolicies(any(), any()) } returns false.right() runBlocking { entityAccessRightsService.canReadEntity(Some(userUuid), entityId01).fold( @@ -249,7 +249,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { @Test fun `it should not allow user who have not write right on entity and entity has not a specific access policy`() = runTest { - coEvery { entityPayloadService.hasSpecificAccessPolicies(any(), any()) } returns false.right() + coEvery { entityService.hasSpecificAccessPolicies(any(), any()) } returns false.right() entityAccessRightsService.canWriteEntity(Some(userUuid), entityId01).fold( { assertEquals("User forbidden write access to entity $entityId01", it.message) }, @@ -259,7 +259,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { @Test fun `it should allow user it has no right on entity but entity has a specific access policy`() = runTest { - coEvery { entityPayloadService.hasSpecificAccessPolicies(any(), any()) } returns true.right() + coEvery { entityService.hasSpecificAccessPolicies(any(), any()) } returns true.right() entityAccessRightsService.canWriteEntity(Some(userUuid), entityId01).shouldSucceed() entityAccessRightsService.canReadEntity(Some(userUuid), entityId01).shouldSucceed() @@ -650,7 +650,7 @@ class EntityAccessRightsServiceTests : WithTimescaleContainer { loadMinimalEntityWithSap(entityId, types, specificAccessPolicy, AUTHZ_TEST_COMPOUND_CONTEXTS) else loadMinimalEntity(entityId, types) rawEntity.sampleDataToNgsiLdEntity().map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( ngsiLdEntity = it.second, expandedEntity = it.first, createdAt = ngsiLdDateTime() diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/authorization/web/AnonymousUserHandlerTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/authorization/web/AnonymousUserHandlerTests.kt index f618d7631..0e6ab6a91 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/authorization/web/AnonymousUserHandlerTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/authorization/web/AnonymousUserHandlerTests.kt @@ -4,8 +4,8 @@ import com.egm.stellio.search.authorization.service.AuthorizationService import com.egm.stellio.search.common.config.SearchProperties import com.egm.stellio.search.entity.service.EntityAttributeService import com.egm.stellio.search.entity.service.EntityEventService -import com.egm.stellio.search.entity.service.EntityPayloadService import com.egm.stellio.search.entity.service.EntityQueryService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.search.entity.web.EntityHandler import com.egm.stellio.search.temporal.service.TemporalQueryService import com.egm.stellio.shared.config.ApplicationProperties @@ -30,7 +30,7 @@ class AnonymousUserHandlerTests { private lateinit var webClient: WebTestClient @MockkBean - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService @MockkBean private lateinit var entityAttributeService: EntityAttributeService diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/authorization/web/EntityAccessControlHandlerTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/authorization/web/EntityAccessControlHandlerTests.kt index d3efd953c..67c4a6cd0 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/authorization/web/EntityAccessControlHandlerTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/authorization/web/EntityAccessControlHandlerTests.kt @@ -7,7 +7,7 @@ import com.egm.stellio.search.authorization.model.User import com.egm.stellio.search.authorization.service.AuthorizationService import com.egm.stellio.search.authorization.service.EntityAccessRightsService import com.egm.stellio.search.common.config.SearchProperties -import com.egm.stellio.search.entity.service.EntityPayloadService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.shared.config.ApplicationProperties import com.egm.stellio.shared.model.* import com.egm.stellio.shared.util.* @@ -61,7 +61,7 @@ class EntityAccessControlHandlerTests { private lateinit var entityAccessRightsService: EntityAccessRightsService @MockkBean(relaxed = true) - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService @MockkBean(relaxed = true) private lateinit var authorizationService: AuthorizationService @@ -405,7 +405,7 @@ class EntityAccessControlHandlerTests { """.trimIndent() coEvery { authorizationService.userCanAdminEntity(any(), any()) } returns Unit.right() - coEvery { entityPayloadService.updateSpecificAccessPolicy(any(), any()) } returns Unit.right() + coEvery { entityService.updateSpecificAccessPolicy(any(), any()) } returns Unit.right() webClient.post() .uri("/ngsi-ld/v1/entityAccessControl/$entityUri1/attrs/specificAccessPolicy") @@ -418,7 +418,7 @@ class EntityAccessControlHandlerTests { coVerify { authorizationService.userCanAdminEntity(eq(entityUri1), eq(sub)) - entityPayloadService.updateSpecificAccessPolicy( + entityService.updateSpecificAccessPolicy( eq(entityUri1), match { it.getAttributeInstances().size == 1 && @@ -442,7 +442,7 @@ class EntityAccessControlHandlerTests { """.trimIndent() coEvery { authorizationService.userCanAdminEntity(any(), any()) } returns Unit.right() - coEvery { entityPayloadService.updateSpecificAccessPolicy(any(), any()) } returns Unit.right() + coEvery { entityService.updateSpecificAccessPolicy(any(), any()) } returns Unit.right() webClient.post() .uri("/ngsi-ld/v1/entityAccessControl/$entityUri1/attrs/specificAccessPolicy") @@ -453,7 +453,7 @@ class EntityAccessControlHandlerTests { coVerify { authorizationService.userCanAdminEntity(eq(entityUri1), eq(sub)) - entityPayloadService.updateSpecificAccessPolicy( + entityService.updateSpecificAccessPolicy( eq(entityUri1), match { it.getAttributeInstances().size == 1 && @@ -477,7 +477,7 @@ class EntityAccessControlHandlerTests { """.trimIndent() coEvery { authorizationService.userCanAdminEntity(any(), any()) } returns Unit.right() - coEvery { entityPayloadService.updateSpecificAccessPolicy(any(), any()) } returns Unit.right() + coEvery { entityService.updateSpecificAccessPolicy(any(), any()) } returns Unit.right() val expectedAttr = "https://uri.etsi.org/ngsi-ld/default-context/specificAccessPolicy" @@ -509,7 +509,7 @@ class EntityAccessControlHandlerTests { coEvery { authorizationService.userCanAdminEntity(any(), any()) } returns Unit.right() coEvery { - entityPayloadService.updateSpecificAccessPolicy(any(), any()) + entityService.updateSpecificAccessPolicy(any(), any()) } returns BadRequestDataException("Bad request").left() webClient.post() @@ -533,7 +533,7 @@ class EntityAccessControlHandlerTests { """.trimIndent() coEvery { authorizationService.userCanAdminEntity(any(), any()) } returns Unit.right() - coEvery { entityPayloadService.updateSpecificAccessPolicy(any(), any()) } throws RuntimeException() + coEvery { entityService.updateSpecificAccessPolicy(any(), any()) } throws RuntimeException() webClient.post() .uri("/ngsi-ld/v1/entityAccessControl/$entityUri1/attrs/specificAccessPolicy") @@ -562,7 +562,7 @@ class EntityAccessControlHandlerTests { @Test fun `it should allow an authorized user to delete the specific access policy on an entity`() { coEvery { authorizationService.userCanAdminEntity(any(), any()) } returns Unit.right() - coEvery { entityPayloadService.removeSpecificAccessPolicy(any()) } returns Unit.right() + coEvery { entityService.removeSpecificAccessPolicy(any()) } returns Unit.right() webClient.delete() .uri("/ngsi-ld/v1/entityAccessControl/$entityUri1/attrs/specificAccessPolicy") @@ -573,7 +573,7 @@ class EntityAccessControlHandlerTests { coVerify { authorizationService.userCanAdminEntity(eq(entityUri1), eq(sub)) - entityPayloadService.removeSpecificAccessPolicy(eq(entityUri1)) + entityService.removeSpecificAccessPolicy(eq(entityUri1)) } } diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/entity/listener/ObservationEventListenerTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/entity/listener/ObservationEventListenerTests.kt index 9f5a6dade..6472bdf98 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/entity/listener/ObservationEventListenerTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/entity/listener/ObservationEventListenerTests.kt @@ -6,7 +6,7 @@ import com.egm.stellio.search.entity.model.UpdateOperationResult import com.egm.stellio.search.entity.model.UpdateResult import com.egm.stellio.search.entity.model.UpdatedDetails import com.egm.stellio.search.entity.service.EntityEventService -import com.egm.stellio.search.entity.service.EntityPayloadService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.shared.model.ExpandedEntity import com.egm.stellio.shared.model.NgsiLdEntity import com.egm.stellio.shared.util.BEEHIVE_TYPE @@ -31,7 +31,7 @@ class ObservationEventListenerTests { private lateinit var observationEventListener: ObservationEventListener @MockkBean(relaxed = true) - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService @MockkBean(relaxed = true) private lateinit var entityEventService: EntityEventService @@ -44,14 +44,14 @@ class ObservationEventListenerTests { val observationEvent = loadSampleData("events/entity/entityCreateEvent.json") coEvery { - entityPayloadService.createEntity(any(), any(), any()) + entityService.createEntity(any(), any(), any()) } returns Unit.right() coEvery { entityEventService.publishEntityCreateEvent(any(), any(), any()) } returns Job() observationEventListener.dispatchObservationMessage(observationEvent) coVerify { - entityPayloadService.createEntity( + entityService.createEntity( any(), any(), eq("0123456789-1234-5678-987654321") @@ -72,7 +72,7 @@ class ObservationEventListenerTests { val observationEvent = loadSampleData("events/entity/attributeUpdateNumericPropDatasetIdEvent.json") coEvery { - entityPayloadService.partialUpdateAttribute(any(), any(), any()) + entityService.partialUpdateAttribute(any(), any(), any()) } returns UpdateResult( updated = arrayListOf( UpdatedDetails( @@ -91,7 +91,7 @@ class ObservationEventListenerTests { observationEventListener.dispatchObservationMessage(observationEvent) coVerify { - entityPayloadService.partialUpdateAttribute( + entityService.partialUpdateAttribute( expectedEntityId, match { it.first == TEMPERATURE_PROPERTY }, null @@ -118,7 +118,7 @@ class ObservationEventListenerTests { val observationEvent = loadSampleData("events/entity/attributeUpdateNumericPropDatasetIdEvent.json") coEvery { - entityPayloadService.partialUpdateAttribute(any(), any(), any()) + entityService.partialUpdateAttribute(any(), any(), any()) } returns UpdateResult( emptyList(), listOf(NotUpdatedDetails(TEMPERATURE_PROPERTY, "Property does not exist")) @@ -134,7 +134,7 @@ class ObservationEventListenerTests { val observationEvent = loadSampleData("events/entity/attributeAppendNumericPropDatasetIdEvent.json") coEvery { - entityPayloadService.appendAttributes(any(), any(), any(), any()) + entityService.appendAttributes(any(), any(), any(), any()) } returns UpdateResult( listOf( UpdatedDetails( @@ -154,7 +154,7 @@ class ObservationEventListenerTests { observationEventListener.dispatchObservationMessage(observationEvent) coVerify { - entityPayloadService.appendAttributes( + entityService.appendAttributes( expectedEntityId, any(), false, @@ -184,7 +184,7 @@ class ObservationEventListenerTests { val observationEvent = loadSampleData("events/entity/attributeAppendNumericPropDatasetIdEvent.json") coEvery { - entityPayloadService.appendAttributes(any(), any(), any(), any()) + entityService.appendAttributes(any(), any(), any(), any()) } returns UpdateResult( emptyList(), listOf(NotUpdatedDetails(TEMPERATURE_PROPERTY, "Property could not be appended")) @@ -208,7 +208,7 @@ class ObservationEventListenerTests { observationEventListener.dispatchObservationMessage(invalidObservationEvent) } - verify { entityPayloadService wasNot called } + verify { entityService wasNot called } verify { entityEventService wasNot called } } @@ -225,7 +225,7 @@ class ObservationEventListenerTests { observationEventListener.dispatchObservationMessage(invalidObservationEvent) } - verify { entityPayloadService wasNot called } + verify { entityService wasNot called } verify { entityEventService wasNot called } } } diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityEventServiceTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityEventServiceTests.kt index 4f768c839..cf9f8a94f 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityEventServiceTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityEventServiceTests.kt @@ -35,7 +35,7 @@ class EntityEventServiceTests { private lateinit var kafkaTemplate: KafkaTemplate @MockkBean(relaxed = true) - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService private val breedingServiceUri = "urn:ngsi-ld:BreedingService:0214".toUri() private val breedingServiceType = "https://ontology.eglobalmark.com/aquac#BreedingService" @@ -128,7 +128,7 @@ class EntityEventServiceTests { @Test fun `it should publish a single ATTRIBUTE_APPEND event if an attribute was appended`() = runTest { val entityPayload = mockk(relaxed = true) - coEvery { entityPayloadService.retrieve(breedingServiceUri) } returns entityPayload.right() + coEvery { entityService.retrieve(breedingServiceUri) } returns entityPayload.right() every { entityPayload.types } returns listOf(breedingServiceType) val expandedAttribute = @@ -163,7 +163,7 @@ class EntityEventServiceTests { @Test fun `it should publish a single ATTRIBUTE_REPLACE event if an attribute was replaced`() = runTest { val entityPayload = mockk(relaxed = true) - coEvery { entityPayloadService.retrieve(breedingServiceUri) } returns entityPayload.right() + coEvery { entityService.retrieve(breedingServiceUri) } returns entityPayload.right() every { entityPayload.types } returns listOf(breedingServiceType) val expandedAttribute = @@ -215,7 +215,7 @@ class EntityEventServiceTests { emptyList() ) - coEvery { entityPayloadService.retrieve(breedingServiceUri) } returns entityPayload.right() + coEvery { entityService.retrieve(breedingServiceUri) } returns entityPayload.right() every { entityPayload.types } returns listOf(breedingServiceType) entityEventService.publishAttributeChangeEvents( @@ -280,7 +280,7 @@ class EntityEventServiceTests { notUpdated = arrayListOf() ) - coEvery { entityPayloadService.retrieve(breedingServiceUri) } returns entityPayload.right() + coEvery { entityService.retrieve(breedingServiceUri) } returns entityPayload.right() every { entityPayload.types } returns listOf(breedingServiceType) entityEventService.publishAttributeChangeEvents( @@ -339,7 +339,7 @@ class EntityEventServiceTests { notUpdated = arrayListOf() ) - coEvery { entityPayloadService.retrieve(breedingServiceUri) } returns entityPayload.right() + coEvery { entityService.retrieve(breedingServiceUri) } returns entityPayload.right() every { entityPayload.types } returns listOf(breedingServiceType) entityEventService.publishAttributeChangeEvents( @@ -387,7 +387,7 @@ class EntityEventServiceTests { UpdatedDetails(fishNameProperty, fishName1DatasetUri, UpdateOperationResult.UPDATED) ) - coEvery { entityPayloadService.retrieve(breedingServiceUri) } returns entityPayload.right() + coEvery { entityService.retrieve(breedingServiceUri) } returns entityPayload.right() every { entityPayload.types } returns listOf(breedingServiceType) entityEventService.publishAttributeChangeEvents( @@ -418,7 +418,7 @@ class EntityEventServiceTests { runTest { val entityPayload = mockk(relaxed = true) - coEvery { entityPayloadService.retrieve(breedingServiceUri) } returns entityPayload.right() + coEvery { entityService.retrieve(breedingServiceUri) } returns entityPayload.right() every { entityPayload.types } returns listOf(breedingServiceType) entityEventService.publishAttributeDeleteEvent( @@ -448,7 +448,7 @@ class EntityEventServiceTests { fun `it should publish ATTRIBUTE_DELETE event if an instance of an attribute is deleted`() = runTest { val entityPayload = mockk(relaxed = true) - coEvery { entityPayloadService.retrieve(breedingServiceUri) } returns entityPayload.right() + coEvery { entityService.retrieve(breedingServiceUri) } returns entityPayload.right() every { entityPayload.types } returns listOf(breedingServiceType) entityEventService.publishAttributeDeleteEvent( diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityOperationServiceTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityOperationServiceTests.kt index 9736309fc..004492bee 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityOperationServiceTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityOperationServiceTests.kt @@ -32,7 +32,7 @@ import org.springframework.test.context.ActiveProfiles class EntityOperationServiceTests { @MockkBean - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService @MockkBean(relaxed = true) private lateinit var entityAttributeService: EntityAttributeService @@ -74,7 +74,7 @@ class EntityOperationServiceTests { @Test fun `splitEntitiesByExistence should split entities per existence`() = runTest { coEvery { - entityPayloadService.filterExistingEntitiesAsIds(listOf(firstEntityURI, secondEntityURI)) + entityService.filterExistingEntitiesAsIds(listOf(firstEntityURI, secondEntityURI)) } returns listOf(firstEntityURI) val (exist, doNotExist) = entityOperationService.splitEntitiesByExistence( @@ -91,7 +91,7 @@ class EntityOperationServiceTests { @Test fun `splitEntitiesByExistence should split entities per existence with ids`() = runTest { coEvery { - entityPayloadService.filterExistingEntitiesAsIds(listOf(firstEntityURI, secondEntityURI)) + entityService.filterExistingEntitiesAsIds(listOf(firstEntityURI, secondEntityURI)) } returns listOf(firstEntityURI) val (exist, doNotExist) = @@ -127,10 +127,10 @@ class EntityOperationServiceTests { @Test fun `processEntities should count as error a process which raises a BadRequestDataException`() = runTest { coEvery { - entityPayloadService.appendAttributes(firstEntityURI, any(), any(), any()) + entityService.appendAttributes(firstEntityURI, any(), any(), any()) } returns EMPTY_UPDATE_RESULT.right() coEvery { - entityPayloadService.appendAttributes(secondEntityURI, any(), any(), any()) + entityService.appendAttributes(secondEntityURI, any(), any(), any()) } returns BadRequestDataException("error").left() coEvery { entityEventService.publishAttributeChangeEvents(any(), any(), any(), any(), any()) } returns Job() @@ -183,10 +183,10 @@ class EntityOperationServiceTests { ) ) coEvery { - entityPayloadService.appendAttributes(firstEntityURI, any(), any(), any()) + entityService.appendAttributes(firstEntityURI, any(), any(), any()) } returns EMPTY_UPDATE_RESULT.right() coEvery { - entityPayloadService.appendAttributes(secondEntityURI, any(), any(), any()) + entityService.appendAttributes(secondEntityURI, any(), any(), any()) } returns updateResult.right() coEvery { entityEventService.publishAttributeChangeEvents(any(), any(), any(), any(), any()) } returns Job() @@ -217,7 +217,7 @@ class EntityOperationServiceTests { @Test fun `batch create should ask to create all provided entities`() = runTest { - coEvery { entityPayloadService.createEntity(any(), any(), any()) } returns Unit.right() + coEvery { entityService.createEntity(any(), any(), any()) } returns Unit.right() coEvery { entityEventService.publishEntityCreateEvent(any(), any(), any()) } returns Job() val batchOperationResult = entityOperationService.create( @@ -235,10 +235,10 @@ class EntityOperationServiceTests { assertTrue(batchOperationResult.errors.isEmpty()) coVerify { - entityPayloadService.createEntity(firstEntity, firstExpandedEntity, sub) + entityService.createEntity(firstEntity, firstExpandedEntity, sub) } coVerify { - entityPayloadService.createEntity(secondEntity, secondExpandedEntity, sub) + entityService.createEntity(secondEntity, secondExpandedEntity, sub) } coVerify(exactly = 2) { entityEventService.publishEntityCreateEvent(any(), any(), any()) @@ -247,9 +247,9 @@ class EntityOperationServiceTests { @Test fun `batch create should ask to create entities and transmit back any error`() = runTest { - coEvery { entityPayloadService.createEntity(firstEntity, any(), any()) } returns Unit.right() + coEvery { entityService.createEntity(firstEntity, any(), any()) } returns Unit.right() coEvery { - entityPayloadService.createEntity(secondEntity, any(), any()) + entityService.createEntity(secondEntity, any(), any()) } returns BadRequestDataException("Invalid entity").left() coEvery { entityEventService.publishEntityCreateEvent(any(), any(), any()) } returns Job() @@ -276,7 +276,7 @@ class EntityOperationServiceTests { @Test fun `batch update should ask to update attributes of entities`() = runTest { coEvery { - entityPayloadService.appendAttributes(any(), any(), any(), any()) + entityService.appendAttributes(any(), any(), any(), any()) } returns EMPTY_UPDATE_RESULT.right() coEvery { entityEventService.publishAttributeChangeEvents(any(), any(), any(), any(), any()) } returns Job() @@ -295,10 +295,10 @@ class EntityOperationServiceTests { ) coVerify { - entityPayloadService.appendAttributes(eq(firstEntityURI), any(), false, sub) + entityService.appendAttributes(eq(firstEntityURI), any(), false, sub) } coVerify { - entityPayloadService.appendAttributes(eq(secondEntityURI), any(), false, sub) + entityService.appendAttributes(eq(secondEntityURI), any(), false, sub) } coVerify(exactly = 2) { entityEventService.publishAttributeChangeEvents(any(), any(), any(), any(), any()) @@ -311,7 +311,7 @@ class EntityOperationServiceTests { entityAttributeService.deleteTemporalAttributesOfEntity(any()) } returns Unit.right() coEvery { - entityPayloadService.appendAttributes(any(), any(), any(), any()) + entityService.appendAttributes(any(), any(), any(), any()) } returns EMPTY_UPDATE_RESULT.right() coEvery { entityEventService.publishEntityReplaceEvent(any(), any(), any()) } returns Job() @@ -332,10 +332,10 @@ class EntityOperationServiceTests { coVerify { entityAttributeService.deleteTemporalAttributesOfEntity(firstEntityURI) } coVerify { entityAttributeService.deleteTemporalAttributesOfEntity(secondEntityURI) } coVerify { - entityPayloadService.appendAttributes(eq(firstEntityURI), any(), false, sub) + entityService.appendAttributes(eq(firstEntityURI), any(), false, sub) } coVerify { - entityPayloadService.appendAttributes(eq(secondEntityURI), any(), false, sub) + entityService.appendAttributes(eq(secondEntityURI), any(), false, sub) } coVerify(exactly = 2) { entityEventService.publishEntityReplaceEvent(any(), any(), any()) @@ -344,7 +344,7 @@ class EntityOperationServiceTests { @Test fun `batch delete should return the list of deleted entity ids when deletion is successful`() = runTest { - coEvery { entityPayloadService.deleteEntity(any()) } returns mockkClass(EntityPayload::class).right() + coEvery { entityService.deleteEntity(any()) } returns mockkClass(EntityPayload::class).right() coEvery { authorizationService.removeRightsOnEntity(any()) } returns Unit.right() coEvery { entityEventService.publishEntityDeleteEvent(any(), any()) } returns Job() @@ -363,8 +363,8 @@ class EntityOperationServiceTests { assertEquals(emptyList(), batchOperationResult.errors) coVerify { - entityPayloadService.deleteEntity(firstEntityURI) - entityPayloadService.deleteEntity(secondEntityURI) + entityService.deleteEntity(firstEntityURI) + entityService.deleteEntity(secondEntityURI) authorizationService.removeRightsOnEntity(firstEntityURI) authorizationService.removeRightsOnEntity(secondEntityURI) } @@ -377,10 +377,10 @@ class EntityOperationServiceTests { fun `batch delete should return deleted entity ids and in errors when deletion is partially successful`() = runTest { coEvery { - entityPayloadService.deleteEntity(firstEntityURI) + entityService.deleteEntity(firstEntityURI) } returns mockkClass(EntityPayload::class).right() coEvery { - entityPayloadService.deleteEntity(secondEntityURI) + entityService.deleteEntity(secondEntityURI) } returns InternalErrorException("Something went wrong during deletion").left() coEvery { authorizationService.removeRightsOnEntity(any()) } returns Unit.right() coEvery { entityEventService.publishEntityDeleteEvent(any(), any()) } returns Job() @@ -417,7 +417,7 @@ class EntityOperationServiceTests { val deleteEntityErrorMessage = "Something went wrong with deletion request" coEvery { - entityPayloadService.deleteEntity(any()) + entityService.deleteEntity(any()) } returns InternalErrorException(deleteEntityErrorMessage).left() val batchOperationResult = entityOperationService.delete( @@ -443,15 +443,15 @@ class EntityOperationServiceTests { batchOperationResult.errors ) - coVerify { entityPayloadService.deleteEntity(firstEntityURI) } - coVerify { entityPayloadService.deleteEntity(secondEntityURI) } + coVerify { entityService.deleteEntity(firstEntityURI) } + coVerify { entityService.deleteEntity(secondEntityURI) } coVerify { entityEventService.publishEntityDeleteEvent(any(), any()) wasNot Called } } @Test fun `batch merge should ask to merge attributes of entities`() = runTest { coEvery { - entityPayloadService.mergeEntity(any(), any(), any(), any()) + entityService.mergeEntity(any(), any(), any(), any()) } returns EMPTY_UPDATE_RESULT.right() coEvery { entityEventService.publishAttributeChangeEvents(any(), any(), any(), any(), any()) } returns Job() @@ -469,8 +469,8 @@ class EntityOperationServiceTests { ) coVerify { - entityPayloadService.mergeEntity(eq(firstEntityURI), any(), null, sub) - entityPayloadService.mergeEntity(eq(secondEntityURI), any(), null, sub) + entityService.mergeEntity(eq(firstEntityURI), any(), null, sub) + entityService.mergeEntity(eq(secondEntityURI), any(), null, sub) } coVerify(exactly = 2) { entityEventService.publishAttributeChangeEvents(any(), any(), any(), any(), any()) diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityQueryServiceTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityQueryServiceTests.kt index 9c51a6175..84ec7d0c4 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityQueryServiceTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityQueryServiceTests.kt @@ -25,13 +25,13 @@ class EntityQueryServiceTests { private lateinit var queryService: EntityQueryService @MockkBean - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService private val entityUri = "urn:ngsi-ld:BeeHive:TESTC".toUri() @Test fun `it should return a JSON-LD entity when querying by id`() = runTest { - coEvery { entityPayloadService.retrieve(any()) } returns gimmeEntityPayload().right() + coEvery { entityService.retrieve(any()) } returns gimmeEntityPayload().right() queryService.queryEntity(entityUri) .shouldSucceedWith { @@ -43,7 +43,7 @@ class EntityQueryServiceTests { @Test fun `it should return an API exception if no entity exists with the given id`() = runTest { - coEvery { entityPayloadService.retrieve(any()) } returns ResourceNotFoundException("").left() + coEvery { entityService.retrieve(any()) } returns ResourceNotFoundException("").left() queryService.queryEntity(entityUri) .shouldFail { @@ -53,9 +53,9 @@ class EntityQueryServiceTests { @Test fun `it should return a list of JSON-LD entities when querying entities`() = runTest { - coEvery { entityPayloadService.queryEntities(any(), any()) } returns listOf(entityUri) - coEvery { entityPayloadService.queryEntitiesCount(any(), any()) } returns 1.right() - coEvery { entityPayloadService.retrieve(any>()) } returns listOf(gimmeEntityPayload()) + coEvery { entityService.queryEntities(any(), any()) } returns listOf(entityUri) + coEvery { entityService.queryEntitiesCount(any(), any()) } returns 1.right() + coEvery { entityService.retrieve(any>()) } returns listOf(gimmeEntityPayload()) queryService.queryEntities(buildDefaultQueryParams()) { null } .shouldSucceedWith { @@ -68,8 +68,8 @@ class EntityQueryServiceTests { @Test fun `it should return an empty list if no entity matched the query`() = runTest { - coEvery { entityPayloadService.queryEntities(any(), any()) } returns emptyList() - coEvery { entityPayloadService.queryEntitiesCount(any(), any()) } returns 0.right() + coEvery { entityService.queryEntities(any(), any()) } returns emptyList() + coEvery { entityService.queryEntitiesCount(any(), any()) } returns 0.right() queryService.queryEntities(buildDefaultQueryParams()) { null } .shouldSucceedWith { diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityPayloadServiceQueryTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityServiceQueryTests.kt similarity index 93% rename from search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityPayloadServiceQueryTests.kt rename to search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityServiceQueryTests.kt index 8faec4ac6..55a1bd276 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityPayloadServiceQueryTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityServiceQueryTests.kt @@ -34,10 +34,10 @@ import java.net.URI @SpringBootTest @ActiveProfiles("test") @EnableConfigurationProperties(SearchProperties::class) -class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContainer { +class EntityServiceQueryTests : WithTimescaleContainer, WithKafkaContainer { @Autowired - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService @MockkBean(relaxed = true) private lateinit var attributeInstanceService: AttributeInstanceService @@ -64,7 +64,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine runBlocking { listOf(firstRawEntity, secondRawEntity, thirdRawEntity, fourthRawEntity, fifthRawEntity).forEach { val (expandedEntity, ngsiLdEntity) = it.sampleDataToNgsiLdEntity().shouldSucceedAndResult() - entityPayloadService.createEntity(ngsiLdEntity, expandedEntity) + entityService.createEntity(ngsiLdEntity, expandedEntity) } } } @@ -72,11 +72,11 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine @AfterAll fun deleteEntities() { runBlocking { - entityPayloadService.deleteEntity(entity01Uri) - entityPayloadService.deleteEntity(entity02Uri) - entityPayloadService.deleteEntity(entity03Uri) - entityPayloadService.deleteEntity(entity04Uri) - entityPayloadService.deleteEntity(entity05Uri) + entityService.deleteEntity(entity01Uri) + entityService.deleteEntity(entity02Uri) + entityService.deleteEntity(entity03Uri) + entityService.deleteEntity(entity04Uri) + entityService.deleteEntity(entity05Uri) } } @@ -98,7 +98,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine expectedListOfEntities: String? ) = runTest { val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( typeSelection = types, paginationQuery = PaginationQuery(limit = 30, offset = 0), @@ -126,7 +126,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine expectedListOfEntities: String? ) = runTest { val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( typeSelection = BEEHIVE_TYPE, scopeQ = scopeQ, @@ -143,7 +143,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine @Test fun `it should retrieve entities according to ids and a type`() = runTest { val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( ids = setOf(entity02Uri), typeSelection = BEEHIVE_TYPE, @@ -159,7 +159,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine @Test fun `it should retrieve entities according to ids and a selection of types`() = runTest { val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( ids = setOf(entity02Uri, entity05Uri), typeSelection = "$APIARY_TYPE|$BEEHIVE_TYPE", @@ -175,7 +175,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine @Test fun `it should retrieve entities according to attrs and types`() = runTest { val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( typeSelection = BEEHIVE_TYPE, paginationQuery = PaginationQuery(limit = 2, offset = 0), @@ -191,7 +191,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine @Test fun `it should retrieve entities by a list of ids`() = runTest { val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( ids = setOf(entity02Uri), typeSelection = BEEHIVE_TYPE, @@ -207,7 +207,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine @Test fun `it should retrieve entities with respect to limit and offset`() = runTest { val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( typeSelection = BEEHIVE_TYPE, paginationQuery = PaginationQuery(limit = 1, offset = 0), @@ -221,7 +221,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine @Test fun `it should retrieve entities with respect to idPattern`() = runTest { val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( typeSelection = BEEHIVE_TYPE, idPattern = ".*urn:ngsi-ld:BeeHive:01.*", @@ -280,7 +280,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine expectedListOfEntities: String? ) = runTest { val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( q = q, paginationQuery = PaginationQuery(limit = 2, offset = 0), @@ -313,7 +313,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine expectedCount: Int ) = runTest { val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( paginationQuery = PaginationQuery(limit = 2, offset = 0), geoQuery = GeoQuery( @@ -335,7 +335,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine @Test fun `it should retrieve entities according to access rights`() = runTest { val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( typeSelection = BEEHIVE_TYPE, paginationQuery = PaginationQuery(limit = 30, offset = 0), @@ -360,7 +360,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine updateSpecificAccessPolicy(entity01Uri, AuthContextModel.SpecificAccessPolicy.AUTH_READ) val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( typeSelection = BEEHIVE_TYPE, paginationQuery = PaginationQuery(limit = 30, offset = 0), @@ -387,7 +387,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine updateSpecificAccessPolicy(entity01Uri, AuthContextModel.SpecificAccessPolicy.AUTH_READ) val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( typeSelection = BEEHIVE_TYPE, paginationQuery = PaginationQuery(limit = 30, offset = 0), @@ -411,7 +411,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine @Test fun `it should retrieve the count of entities`() = runTest { - entityPayloadService.queryEntitiesCount( + entityService.queryEntitiesCount( EntitiesQuery( typeSelection = BEEHIVE_TYPE, paginationQuery = PaginationQuery(limit = 30, offset = 0), @@ -422,7 +422,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine @Test fun `it should retrieve the count of entities according to access rights`() = runTest { - entityPayloadService.queryEntitiesCount( + entityService.queryEntitiesCount( EntitiesQuery( ids = setOf(entity02Uri, entity01Uri), typeSelection = BEEHIVE_TYPE, @@ -436,7 +436,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine @Test fun `it should return an empty list if no entity matches the requested type`() = runTest { val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( ids = setOf(entity02Uri, entity01Uri), typeSelection = "https://ontology.eglobalmark.com/apic#UnknownType", @@ -451,7 +451,7 @@ class EntityPayloadServiceQueryTests : WithTimescaleContainer, WithKafkaContaine @Test fun `it should return an empty list if no entitiy matched the requested attributes`() = runTest { val entitiesIds = - entityPayloadService.queryEntities( + entityService.queryEntities( EntitiesQuery( typeSelection = BEEHIVE_TYPE, paginationQuery = PaginationQuery(limit = 2, offset = 10), diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityPayloadServiceTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityServiceTests.kt similarity index 82% rename from search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityPayloadServiceTests.kt rename to search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityServiceTests.kt index b969f777a..f4f680dd2 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityPayloadServiceTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/entity/service/EntityServiceTests.kt @@ -37,10 +37,10 @@ import java.time.ZonedDateTime @SpringBootTest @ActiveProfiles("test") -class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { +class EntityServiceTests : WithTimescaleContainer, WithKafkaContainer { @Autowired - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService @MockkBean private lateinit var entityAttributeService: EntityAttributeService @@ -65,7 +65,7 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntity(entity01Uri, setOf(BEEHIVE_TYPE)) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now @@ -76,7 +76,7 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { @Test fun `it should create an entity payload from an NGSI-LD Entity if none existed yet`() = runTest { val (jsonLdEntity, ngsiLdEntity) = loadSampleData().sampleDataToNgsiLdEntity().shouldSucceedAndResult() - entityPayloadService.createEntityPayload(ngsiLdEntity, jsonLdEntity, now) + entityService.createEntityPayload(ngsiLdEntity, jsonLdEntity, now) .shouldSucceed() } @@ -85,7 +85,7 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntityWithSap(entity01Uri, setOf(BEEHIVE_TYPE), AUTH_READ, AUTHZ_TEST_COMPOUND_CONTEXTS) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now @@ -94,26 +94,26 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntityWithSap(entity02Uri, setOf(BEEHIVE_TYPE), AUTH_WRITE, AUTHZ_TEST_COMPOUND_CONTEXTS) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now ) } - entityPayloadService.hasSpecificAccessPolicies( + entityService.hasSpecificAccessPolicies( entity01Uri, listOf(AUTH_READ) ).shouldSucceedWith { assertTrue(it) } - entityPayloadService.hasSpecificAccessPolicies( + entityService.hasSpecificAccessPolicies( entity01Uri, listOf(AUTH_WRITE) ).shouldSucceedWith { assertFalse(it) } - entityPayloadService.hasSpecificAccessPolicies( + entityService.hasSpecificAccessPolicies( entity02Uri, listOf(AUTH_READ) ).shouldSucceedWith { assertFalse(it) } - entityPayloadService.hasSpecificAccessPolicies( + entityService.hasSpecificAccessPolicies( entity02Uri, listOf(AUTH_WRITE) ).shouldSucceedWith { assertTrue(it) } @@ -124,17 +124,17 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { val (jsonLdEntity, ngsiLdEntity) = loadSampleData("beehive_with_sap.jsonld").sampleDataToNgsiLdEntity().shouldSucceedAndResult() - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( ngsiLdEntity, jsonLdEntity, now ) - entityPayloadService.hasSpecificAccessPolicies( + entityService.hasSpecificAccessPolicies( beehiveTestCId, listOf(AUTH_READ) ).shouldSucceedWith { assertTrue(it) } - entityPayloadService.hasSpecificAccessPolicies( + entityService.hasSpecificAccessPolicies( beehiveTestCId, listOf(AUTH_WRITE) ).shouldSucceedWith { assertFalse(it) } @@ -149,13 +149,13 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { val (expandedEntity, ngsiLdEntity) = loadAndPrepareSampleData("beehive_minimal.jsonld").shouldSucceedAndResult() - entityPayloadService.createEntity( + entityService.createEntity( ngsiLdEntity, expandedEntity, "0123456789-1234-5678-987654321" ).shouldSucceed() - entityPayloadService.retrieve(beehiveTestCId) + entityService.retrieve(beehiveTestCId) .shouldSucceedWith { assertEquals("urn:ngsi-ld:BeeHive:TESTC".toUri(), it.entityId) assertEquals(listOf(BEEHIVE_TYPE), it.types) @@ -176,14 +176,14 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { fun `it should not create an entity payload if one already existed`() = runTest { val (jsonLdEntity, ngsiLdEntity) = loadMinimalEntity(entity01Uri, setOf(BEEHIVE_TYPE)).sampleDataToNgsiLdEntity().shouldSucceedAndResult() - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( ngsiLdEntity, jsonLdEntity, now, ) assertThrows { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( ngsiLdEntity, jsonLdEntity, now, @@ -209,7 +209,7 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { val (expandedEntity, ngsiLdEntity) = loadAndPrepareSampleData("beehive_minimal.jsonld").shouldSucceedAndResult() - entityPayloadService.createEntity( + entityService.createEntity( ngsiLdEntity, expandedEntity, "0123456789-1234-5678-987654321" @@ -217,14 +217,14 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { val (jsonLdEntity, _) = loadSampleData().sampleDataToNgsiLdEntity().shouldSucceedAndResult() - entityPayloadService.mergeEntity( + entityService.mergeEntity( beehiveTestCId, jsonLdEntity.getModifiableMembers(), now, "0123456789-1234-5678-987654321" ).shouldSucceed() - entityPayloadService.retrieve(beehiveTestCId) + entityService.retrieve(beehiveTestCId) .shouldSucceedWith { assertTrue(it.modifiedAt != null) } @@ -271,7 +271,7 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { val (expandedEntity, ngsiLdEntity) = loadAndPrepareSampleData("beehive_minimal.jsonld").shouldSucceedAndResult() - entityPayloadService.createEntity( + entityService.createEntity( ngsiLdEntity, expandedEntity, "0123456789-1234-5678-987654321" @@ -282,14 +282,14 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { APIC_COMPOUND_CONTEXTS ) - entityPayloadService.mergeEntity( + entityService.mergeEntity( beehiveTestCId, expandedAttributes, now, "0123456789-1234-5678-987654321" ).shouldSucceed() - entityPayloadService.retrieve(beehiveTestCId) + entityService.retrieve(beehiveTestCId) .shouldSucceedWith { assertTrue(it.types.containsAll(setOf(BEEHIVE_TYPE, NGSILD_DEFAULT_VOCAB + "Distribution"))) } @@ -316,7 +316,7 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { val (expandedEntity, ngsiLdEntity) = loadAndPrepareSampleData("beehive_minimal.jsonld").shouldSucceedAndResult() - entityPayloadService.createEntity( + entityService.createEntity( ngsiLdEntity, expandedEntity, "0123456789-1234-5678-987654321" @@ -327,14 +327,14 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { APIC_COMPOUND_CONTEXTS ) - entityPayloadService.mergeEntity( + entityService.mergeEntity( beehiveTestCId, expandedAttributes, now, "0123456789-1234-5678-987654321" ).shouldSucceed() - entityPayloadService.retrieve(beehiveTestCId) + entityService.retrieve(beehiveTestCId) .shouldSucceedWith { assertTrue(it.types.containsAll(setOf(BEEHIVE_TYPE, NGSILD_DEFAULT_VOCAB + "Distribution"))) assertTrue(it.scopes?.containsAll(setOf("/Nantes/BottiereChenaie", "/Agri/Beekeeping")) ?: false) @@ -344,9 +344,9 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { @Test fun `it should replace an entity payload if entity previously existed`() = runTest { val (jsonLdEntity, ngsiLdEntity) = loadSampleData().sampleDataToNgsiLdEntity().shouldSucceedAndResult() - entityPayloadService.createEntityPayload(ngsiLdEntity, jsonLdEntity, now).shouldSucceed() + entityService.createEntityPayload(ngsiLdEntity, jsonLdEntity, now).shouldSucceed() - entityPayloadService.replaceEntityPayload(ngsiLdEntity, jsonLdEntity, now).shouldSucceed() + entityService.replaceEntityPayload(ngsiLdEntity, jsonLdEntity, now).shouldSucceed() } @Test @@ -360,7 +360,7 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { val (expandedEntity, ngsiLdEntity) = loadAndPrepareSampleData("beehive_minimal.jsonld").shouldSucceedAndResult() - entityPayloadService.createEntity( + entityService.createEntity( ngsiLdEntity, expandedEntity, "0123456789-1234-5678-987654321" @@ -368,14 +368,14 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { val (newExpandedEntity, newNgsiLdEntity) = loadSampleData().sampleDataToNgsiLdEntity().shouldSucceedAndResult() - entityPayloadService.replaceEntity( + entityService.replaceEntity( beehiveURI, newNgsiLdEntity, newExpandedEntity, "0123456789-1234-5678-987654321" ).shouldSucceed() - entityPayloadService.retrieve(beehiveTestCId) + entityService.retrieve(beehiveTestCId) .shouldSucceedWith { assertTrue(it.modifiedAt != null) assertEquals(8, it.payload.deserializeAsMap().size) @@ -404,14 +404,14 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { ).right() val (jsonLdEntity, ngsiLdEntity) = loadSampleData().sampleDataToNgsiLdEntity().shouldSucceedAndResult() - entityPayloadService.createEntityPayload(ngsiLdEntity, jsonLdEntity, now).shouldSucceed() + entityService.createEntityPayload(ngsiLdEntity, jsonLdEntity, now).shouldSucceed() val expandedAttribute = expandAttribute( loadSampleData("fragments/beehive_new_incoming_property.json"), APIC_COMPOUND_CONTEXTS ) - entityPayloadService.replaceAttribute(beehiveTestCId, expandedAttribute, "0123456789-1234-5678-987654321") + entityService.replaceAttribute(beehiveTestCId, expandedAttribute, "0123456789-1234-5678-987654321") .shouldSucceedWith { it.updated.size == 1 && it.notUpdated.isEmpty() && @@ -425,14 +425,14 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntity(entity01Uri, setOf(BEEHIVE_TYPE)) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now, ).shouldSucceed() } - entityPayloadService.retrieve(entity01Uri) + entityService.retrieve(entity01Uri) .shouldSucceedWith { assertThat(it) .hasFieldOrPropertyWithValue("entityId", entity01Uri) @@ -448,14 +448,14 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntityWithSap(entity01Uri, setOf(BEEHIVE_TYPE), AUTH_READ, AUTHZ_TEST_COMPOUND_CONTEXTS) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now ) } - entityPayloadService.retrieve(entity01Uri) + entityService.retrieve(entity01Uri) .shouldSucceedWith { assertThat(it) .hasFieldOrPropertyWithValue("specificAccessPolicy", AUTH_READ) @@ -466,14 +466,14 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { fun `it should retrieve a list of entity payloads`() = runTest { val expandedPayload = loadSampleData("beehive_expanded.jsonld") expandedPayload.sampleDataToNgsiLdEntity().map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, ZonedDateTime.parse("2023-08-20T15:44:10.381090Z") ) } - val entityPayloads = entityPayloadService.retrieve(listOf(beehiveTestCId)) + val entityPayloads = entityService.retrieve(listOf(beehiveTestCId)) assertEquals(1, entityPayloads.size) assertEquals(beehiveTestCId, entityPayloads[0].entityId) assertJsonPayloadsAreEqual(expandedPayload, entityPayloads[0].payload.asString()) @@ -484,19 +484,19 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntity(entity01Uri, setOf(BEEHIVE_TYPE)) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now ) } - entityPayloadService.checkEntityExistence(entity01Uri).shouldSucceed() - entityPayloadService.checkEntityExistence(entity02Uri) + entityService.checkEntityExistence(entity01Uri).shouldSucceed() + entityService.checkEntityExistence(entity02Uri) .shouldFail { assert(it is ResourceNotFoundException) } - entityPayloadService.checkEntityExistence(entity01Uri, true) + entityService.checkEntityExistence(entity01Uri, true) .shouldFail { assert(it is AlreadyExistsException) } - entityPayloadService.checkEntityExistence(entity02Uri, true).shouldSucceed() + entityService.checkEntityExistence(entity02Uri, true).shouldSucceed() } @Test @@ -504,21 +504,21 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntity(entity01Uri, setOf(BEEHIVE_TYPE)) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now ) } - val existingEntities = entityPayloadService.filterExistingEntitiesAsIds(listOf(entity01Uri, entity02Uri)) + val existingEntities = entityService.filterExistingEntitiesAsIds(listOf(entity01Uri, entity02Uri)) assertEquals(1, existingEntities.size) assertEquals(entity01Uri, existingEntities[0]) } @Test fun `it should return an empty list if no ids are provided to the filter on existence`() = runTest { - val existingEntities = entityPayloadService.filterExistingEntitiesAsIds(emptyList()) + val existingEntities = entityService.filterExistingEntitiesAsIds(emptyList()) assertTrue(existingEntities.isEmpty()) } @@ -527,14 +527,14 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntity(entity01Uri, setOf(BEEHIVE_TYPE, APIARY_TYPE)) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now ) } - entityPayloadService.getTypes(entity01Uri) + entityService.getTypes(entity01Uri) .shouldSucceedWith { assertThatList(it).containsAll(listOf(BEEHIVE_TYPE, APIARY_TYPE)) } @@ -542,7 +542,7 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { @Test fun `it should return an error if trying to get the type of a non-existent entity`() = runTest { - entityPayloadService.getTypes(entity01Uri) + entityService.getTypes(entity01Uri) .shouldFail { assertTrue(it is ResourceNotFoundException) } } @@ -550,14 +550,14 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { fun `it should add a type to an entity`() = runTest { val expandedPayload = loadSampleData("beehive_expanded.jsonld") expandedPayload.sampleDataToNgsiLdEntity().map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now ) } - entityPayloadService.updateTypes(beehiveTestCId, listOf(BEEHIVE_TYPE, APIARY_TYPE), ngsiLdDateTime(), false) + entityService.updateTypes(beehiveTestCId, listOf(BEEHIVE_TYPE, APIARY_TYPE), ngsiLdDateTime(), false) .shouldSucceedWith { assertTrue(it.isSuccessful()) assertEquals(1, it.updated.size) @@ -566,7 +566,7 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { assertEquals(UpdateOperationResult.APPENDED, updatedDetails.updateOperationResult) } - entityPayloadService.retrieve(beehiveTestCId) + entityService.retrieve(beehiveTestCId) .shouldSucceedWith { assertEquals(listOf(BEEHIVE_TYPE, APIARY_TYPE), it.types) assertEquals( @@ -581,16 +581,16 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntity(entity01Uri, setOf(BEEHIVE_TYPE)) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now ) } - entityPayloadService.updateTypes(entity01Uri, listOf(APIARY_TYPE), ngsiLdDateTime(), false) + entityService.updateTypes(entity01Uri, listOf(APIARY_TYPE), ngsiLdDateTime(), false) .shouldSucceed() - entityPayloadService.retrieve(entity01Uri) + entityService.retrieve(entity01Uri) .shouldSucceedWith { assertEquals(listOf(BEEHIVE_TYPE, APIARY_TYPE), it.types) assertEquals( @@ -605,14 +605,14 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntity(entity01Uri, setOf(BEEHIVE_TYPE)) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now ) } - entityPayloadService.upsertEntityPayload(entity01Uri, EMPTY_PAYLOAD) + entityService.upsertEntityPayload(entity01Uri, EMPTY_PAYLOAD) .shouldSucceed() } @@ -621,7 +621,7 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntityWithSap(entity01Uri, setOf(BEEHIVE_TYPE), AUTH_READ) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now @@ -630,27 +630,27 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntityWithSap(entity02Uri, setOf(BEEHIVE_TYPE), AUTH_READ) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now ) } - entityPayloadService.updateSpecificAccessPolicy( + entityService.updateSpecificAccessPolicy( entity01Uri, buildSapAttribute(AUTH_WRITE) ).shouldSucceed() - entityPayloadService.hasSpecificAccessPolicies( + entityService.hasSpecificAccessPolicies( entity01Uri, listOf(AUTH_READ) ).shouldSucceedWith { assertFalse(it) } - entityPayloadService.hasSpecificAccessPolicies( + entityService.hasSpecificAccessPolicies( entity01Uri, listOf(AUTH_WRITE) ).shouldSucceedWith { assertTrue(it) } - entityPayloadService.hasSpecificAccessPolicies( + entityService.hasSpecificAccessPolicies( entity02Uri, listOf(AUTH_WRITE) ).shouldSucceedWith { assertFalse(it) } @@ -663,14 +663,14 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntity(entity01Uri, setOf(BEEHIVE_TYPE)) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now ) } - entityPayloadService.deleteEntity(entity01Uri) + entityService.deleteEntity(entity01Uri) .shouldSucceedWith { assertEquals(entity01Uri, it.entityId) assertNotNull(it.payload) @@ -680,7 +680,7 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntity(entity01Uri, setOf(BEEHIVE_TYPE)) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now @@ -700,17 +700,17 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadSampleData("beehive_with_scope.jsonld") .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now ) } - entityPayloadService.deleteAttribute(beehiveTestCId, NGSILD_SCOPE_PROPERTY, null) + entityService.deleteAttribute(beehiveTestCId, NGSILD_SCOPE_PROPERTY, null) .shouldSucceed() - entityPayloadService.retrieve(beehiveTestCId) + entityService.retrieve(beehiveTestCId) .shouldSucceedWith { assertNull(it.scopes) } @@ -721,19 +721,19 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { loadMinimalEntityWithSap(entity01Uri, setOf(BEEHIVE_TYPE), AUTH_READ, AUTHZ_TEST_COMPOUND_CONTEXTS) .sampleDataToNgsiLdEntity() .map { - entityPayloadService.createEntityPayload( + entityService.createEntityPayload( it.second, it.first, now ) } - entityPayloadService.hasSpecificAccessPolicies( + entityService.hasSpecificAccessPolicies( entity01Uri, listOf(AUTH_READ) ).shouldSucceedWith { assertTrue(it) } - entityPayloadService.removeSpecificAccessPolicy(entity01Uri).shouldSucceed() - entityPayloadService.hasSpecificAccessPolicies( + entityService.removeSpecificAccessPolicy(entity01Uri).shouldSucceed() + entityService.hasSpecificAccessPolicies( entity01Uri, listOf(AUTH_READ) ).shouldSucceedWith { assertFalse(it) } @@ -741,7 +741,7 @@ class EntityPayloadServiceTests : WithTimescaleContainer, WithKafkaContainer { @Test fun `it should return nothing when specific access policy list is empty`() = runTest { - entityPayloadService.hasSpecificAccessPolicies(entity01Uri, emptyList()) + entityService.hasSpecificAccessPolicies(entity01Uri, emptyList()) .shouldSucceedWith { assertFalse(it) } } } diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/entity/web/EntityHandlerTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/entity/web/EntityHandlerTests.kt index da66d79be..2cad6ea0e 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/entity/web/EntityHandlerTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/entity/web/EntityHandlerTests.kt @@ -6,8 +6,8 @@ import com.egm.stellio.search.authorization.service.AuthorizationService import com.egm.stellio.search.common.config.SearchProperties import com.egm.stellio.search.entity.model.* import com.egm.stellio.search.entity.service.EntityEventService -import com.egm.stellio.search.entity.service.EntityPayloadService import com.egm.stellio.search.entity.service.EntityQueryService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.shared.config.ApplicationProperties import com.egm.stellio.shared.model.* import com.egm.stellio.shared.util.* @@ -59,7 +59,7 @@ class EntityHandlerTests { private lateinit var applicationProperties: ApplicationProperties @MockkBean - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService @MockkBean private lateinit var queryService: EntityQueryService @@ -94,9 +94,9 @@ class EntityHandlerTests { val breedingServiceId = "urn:ngsi-ld:BreedingService:0214".toUri() coEvery { authorizationService.userCanCreateEntities(sub) } returns Unit.right() - coEvery { entityPayloadService.checkEntityExistence(any(), any()) } returns Unit.right() + coEvery { entityService.checkEntityExistence(any(), any()) } returns Unit.right() coEvery { - entityPayloadService.createEntity(any(), any(), any()) + entityService.createEntity(any(), any(), any()) } returns Unit.right() coEvery { authorizationService.createOwnerRight(any(), any()) } returns Unit.right() coEvery { entityEventService.publishEntityCreateEvent(any(), any(), any()) } returns Job() @@ -110,8 +110,8 @@ class EntityHandlerTests { coVerify { authorizationService.userCanCreateEntities(sub) - entityPayloadService.checkEntityExistence(any(), true) - entityPayloadService.createEntity( + entityService.checkEntityExistence(any(), true) + entityService.createEntity( match { it.id == breedingServiceId }, @@ -135,7 +135,7 @@ class EntityHandlerTests { coEvery { authorizationService.userCanCreateEntities(sub) } returns Unit.right() coEvery { - entityPayloadService.checkEntityExistence(any(), any()) + entityService.checkEntityExistence(any(), any()) } returns AlreadyExistsException("Already Exists").left() webClient.post() @@ -157,9 +157,9 @@ class EntityHandlerTests { val jsonLdFile = ClassPathResource("/ngsild/aquac/breedingService.jsonld") coEvery { authorizationService.userCanCreateEntities(sub) } returns Unit.right() - coEvery { entityPayloadService.checkEntityExistence(any(), any()) } returns Unit.right() + coEvery { entityService.checkEntityExistence(any(), any()) } returns Unit.right() coEvery { - entityPayloadService.createEntity(any(), any(), any()) + entityService.createEntity(any(), any(), any()) } throws InternalErrorException("Internal Server Exception") webClient.post() @@ -229,10 +229,10 @@ class EntityHandlerTests { val jsonLdFile = ClassPathResource("/ngsild/aquac/breedingService.jsonld") coEvery { authorizationService.userCanCreateEntities(sub) } returns Unit.right() - coEvery { entityPayloadService.checkEntityExistence(any(), any()) } returns Unit.right() + coEvery { entityService.checkEntityExistence(any(), any()) } returns Unit.right() // reproduce the runtime behavior where the raised exception is wrapped in an UndeclaredThrowableException coEvery { - entityPayloadService.createEntity(any(), any(), any()) + entityService.createEntity(any(), any(), any()) } throws UndeclaredThrowableException(BadRequestDataException("Target entity does not exist")) webClient.post() @@ -276,8 +276,8 @@ class EntityHandlerTests { } private fun mockkDefaultBehaviorForGetEntityById() { - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() coEvery { authorizationService.userCanReadEntity(beehiveId, sub) } returns Unit.right() } @@ -820,7 +820,7 @@ class EntityHandlerTests { @Test fun `get entity by id should return 404 when entity does not exist`() { coEvery { - entityPayloadService.checkEntityExistence(any()) + entityService.checkEntityExistence(any()) } returns ResourceNotFoundException(entityNotFoundMessage("urn:ngsi-ld:BeeHive:TEST")).left() webClient.get() @@ -837,8 +837,8 @@ class EntityHandlerTests { @Test fun `get entity by id should return 403 if user is not authorized to read an entity`() { - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() coEvery { authorizationService.userCanReadEntity("urn:ngsi-ld:BeeHive:TEST".toUri(), sub) } returns AccessDeniedException("User forbidden read access to entity urn:ngsi-ld:BeeHive:TEST").left() @@ -1131,10 +1131,10 @@ class EntityHandlerTests { val jsonLdFile = ClassPathResource("/ngsild/aquac/breedingService.jsonld") val breedingServiceId = "urn:ngsi-ld:BreedingService:0214".toUri() - coEvery { entityPayloadService.checkEntityExistence(breedingServiceId) } returns Unit.right() + coEvery { entityService.checkEntityExistence(breedingServiceId) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(breedingServiceId, sub) } returns Unit.right() coEvery { - entityPayloadService.replaceEntity(any(), any(), any(), any()) + entityService.replaceEntity(any(), any(), any(), any()) } returns Unit.right() coEvery { entityEventService.publishEntityReplaceEvent(any(), any(), any()) } returns Job() @@ -1146,8 +1146,8 @@ class EntityHandlerTests { coVerify { authorizationService.userCanUpdateEntity(breedingServiceId, sub) - entityPayloadService.checkEntityExistence(breedingServiceId) - entityPayloadService.replaceEntity( + entityService.checkEntityExistence(breedingServiceId) + entityService.replaceEntity( eq(breedingServiceId), match { it.id == breedingServiceId @@ -1170,7 +1170,7 @@ class EntityHandlerTests { val jsonLdFile = ClassPathResource("/ngsild/aquac/breedingService.jsonld") val breedingServiceId = "urn:ngsi-ld:BreedingService:0214".toUri() - coEvery { entityPayloadService.checkEntityExistence(breedingServiceId) } returns Unit.right() + coEvery { entityService.checkEntityExistence(breedingServiceId) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(breedingServiceId, sub) } returns AccessDeniedException("User forbidden to modify entity").left() @@ -1197,7 +1197,7 @@ class EntityHandlerTests { val breedingServiceId = "urn:ngsi-ld:BreedingService:0214".toUri() coEvery { - entityPayloadService.checkEntityExistence(eq(breedingServiceId)) + entityService.checkEntityExistence(eq(breedingServiceId)) } returns ResourceNotFoundException(entityNotFoundMessage(breedingServiceId.toString())).left() webClient.put() .uri("/ngsi-ld/v1/entities/$breedingServiceId") @@ -1205,7 +1205,7 @@ class EntityHandlerTests { .exchange() .expectStatus().isNotFound - coVerify { entityPayloadService.checkEntityExistence(eq(breedingServiceId)) } + coVerify { entityService.checkEntityExistence(eq(breedingServiceId)) } } @Test @@ -1213,7 +1213,7 @@ class EntityHandlerTests { val jsonLdFile = ClassPathResource("/ngsild/aquac/breedingService.jsonld") val breedingServiceId = "urn:ngsi-ld:BreedingService:0215".toUri() - coEvery { entityPayloadService.checkEntityExistence(breedingServiceId) } returns Unit.right() + coEvery { entityService.checkEntityExistence(breedingServiceId) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(breedingServiceId, sub) } returns Unit.right() webClient.put() @@ -1250,8 +1250,8 @@ class EntityHandlerTests { } private fun mockkDefaultBehaviorForAppendAttribute() { - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(breedingServiceType).right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.getTypes(any()) } returns listOf(breedingServiceType).right() coEvery { authorizationService.userCanUpdateEntity(any(), sub) } returns Unit.right() @@ -1277,7 +1277,7 @@ class EntityHandlerTests { mockkDefaultBehaviorForAppendAttribute() coEvery { - entityPayloadService.appendAttributes(any(), any(), any(), any()) + entityService.appendAttributes(any(), any(), any(), any()) } returns appendResult.right() webClient.post() @@ -1289,9 +1289,9 @@ class EntityHandlerTests { .expectStatus().isNoContent coVerify { - entityPayloadService.checkEntityExistence(eq(entityId)) + entityService.checkEntityExistence(eq(entityId)) authorizationService.userCanUpdateEntity(eq(entityId), eq(sub)) - entityPayloadService.appendAttributes( + entityService.appendAttributes( eq(entityId), any(), eq(false), @@ -1326,7 +1326,7 @@ class EntityHandlerTests { mockkDefaultBehaviorForAppendAttribute() coEvery { - entityPayloadService.appendAttributes(any(), any(), any(), any()) + entityService.appendAttributes(any(), any(), any(), any()) } returns appendResult.right() webClient.post() @@ -1346,8 +1346,8 @@ class EntityHandlerTests { ) coVerify { - entityPayloadService.checkEntityExistence(eq(entityId)) - entityPayloadService.appendAttributes( + entityService.checkEntityExistence(eq(entityId)) + entityService.appendAttributes( eq(entityId), any(), eq(false), @@ -1376,7 +1376,7 @@ class EntityHandlerTests { mockkDefaultBehaviorForAppendAttribute() coEvery { - entityPayloadService.appendAttributes(any(), any(), any(), any()) + entityService.appendAttributes(any(), any(), any(), any()) } returns appendTypeResult.right() webClient.post() @@ -1388,8 +1388,8 @@ class EntityHandlerTests { .expectStatus().isEqualTo(HttpStatus.NO_CONTENT) coVerify { - entityPayloadService.checkEntityExistence(eq(entityId)) - entityPayloadService.appendAttributes( + entityService.checkEntityExistence(eq(entityId)) + entityService.appendAttributes( eq(entityId), any(), eq(false), @@ -1422,7 +1422,7 @@ class EntityHandlerTests { mockkDefaultBehaviorForAppendAttribute() coEvery { - entityPayloadService.appendAttributes(any(), any(), any(), any()) + entityService.appendAttributes(any(), any(), any(), any()) } returns appendTypeResult.mergeWith(appendResult).right() webClient.post() @@ -1461,7 +1461,7 @@ class EntityHandlerTests { val entityId = "urn:ngsi-ld:BreedingService:0214".toUri() coEvery { - entityPayloadService.checkEntityExistence(eq(entityId)) + entityService.checkEntityExistence(eq(entityId)) } returns ResourceNotFoundException(entityNotFoundMessage(entityId.toString())).left() webClient.post() @@ -1477,7 +1477,7 @@ class EntityHandlerTests { ) coVerify { - entityPayloadService.checkEntityExistence(eq(entityId)) + entityService.checkEntityExistence(eq(entityId)) } verify { entityEventService wasNot called @@ -1497,10 +1497,10 @@ class EntityHandlerTests { } """.trimIndent() - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns Unit.right() coEvery { - entityPayloadService.appendAttributes(any(), any(), any(), any()) + entityService.appendAttributes(any(), any(), any(), any()) } returns BadRequestDataException( "Relationship https://ontology.eglobalmark.com/egm#connectsTo does not have an object field" ).left() @@ -1528,8 +1528,8 @@ class EntityHandlerTests { val jsonLdFile = ClassPathResource("/ngsild/aquac/fragments/BreedingService_newProperty.json") val entityId = "urn:ngsi-ld:BreedingService:0214".toUri() - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(breedingServiceType).right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.getTypes(any()) } returns listOf(breedingServiceType).right() coEvery { authorizationService.userCanUpdateEntity(entityId, sub) } returns AccessDeniedException("User forbidden write access to entity urn:ngsi-ld:BreedingService:0214").left() @@ -1555,8 +1555,8 @@ class EntityHandlerTests { } private fun mockkDefaultBehaviorForPartialUpdateAttribute() { - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(deadFishesType).right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.getTypes(any()) } returns listOf(deadFishesType).right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns Unit.right() } @@ -1574,7 +1574,7 @@ class EntityHandlerTests { mockkDefaultBehaviorForPartialUpdateAttribute() coEvery { - entityPayloadService.partialUpdateAttribute(any(), any(), any()) + entityService.partialUpdateAttribute(any(), any(), any()) } returns updateResult.right() coEvery { entityEventService.publishAttributeChangeEvents(any(), any(), any(), any(), any()) @@ -1589,9 +1589,9 @@ class EntityHandlerTests { .expectStatus().isNoContent coVerify { - entityPayloadService.checkEntityExistence(eq(entityId)) + entityService.checkEntityExistence(eq(entityId)) authorizationService.userCanUpdateEntity(eq(entityId), eq(sub)) - entityPayloadService.partialUpdateAttribute(eq(entityId), any(), sub.getOrNull()) + entityService.partialUpdateAttribute(eq(entityId), any(), sub.getOrNull()) } coVerify { entityEventService.publishAttributeChangeEvents( @@ -1611,7 +1611,7 @@ class EntityHandlerTests { val attrId = "fishNumber" coEvery { - entityPayloadService.checkEntityExistence(any()) + entityService.checkEntityExistence(any()) } returns ResourceNotFoundException(entityNotFoundMessage(entityId.toString())).left() webClient.patch() @@ -1622,7 +1622,7 @@ class EntityHandlerTests { .exchange() .expectStatus().isNotFound - coVerify { entityPayloadService.checkEntityExistence(eq(entityId)) } + coVerify { entityService.checkEntityExistence(eq(entityId)) } } @Test @@ -1633,7 +1633,7 @@ class EntityHandlerTests { mockkDefaultBehaviorForPartialUpdateAttribute() coEvery { - entityPayloadService.partialUpdateAttribute(any(), any(), any()) + entityService.partialUpdateAttribute(any(), any(), any()) } returns UpdateResult( updated = arrayListOf(), notUpdated = arrayListOf( @@ -1653,7 +1653,7 @@ class EntityHandlerTests { .expectStatus().isNotFound coVerify { - entityPayloadService.partialUpdateAttribute(eq(entityId), any(), sub.getOrNull()) + entityService.partialUpdateAttribute(eq(entityId), any(), sub.getOrNull()) } } @@ -1663,8 +1663,8 @@ class EntityHandlerTests { val entityId = "urn:ngsi-ld:DeadFishes:019BN".toUri() val attrId = "fishNumber" - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(deadFishesType).right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.getTypes(any()) } returns listOf(deadFishesType).right() coEvery { authorizationService.userCanUpdateEntity(any(), sub) } returns AccessDeniedException("User forbidden write access to entity urn:ngsi-ld:DeadFishes:019BN").left() @@ -1690,8 +1690,8 @@ class EntityHandlerTests { } private fun mockkDefaultBehaviorForUpdateAttribute() { - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(deadFishesType).right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.getTypes(any()) } returns listOf(deadFishesType).right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns Unit.right() } @@ -1715,10 +1715,10 @@ class EntityHandlerTests { notUpdated = emptyList() ) - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns Unit.right() coEvery { - entityPayloadService.mergeEntity(any(), any(), any(), any()) + entityService.mergeEntity(any(), any(), any(), any()) } returns updateResult.right() coEvery { entityEventService.publishAttributeChangeEvents(any(), any(), any(), any(), true) @@ -1733,9 +1733,9 @@ class EntityHandlerTests { .expectStatus().isNoContent coVerify { - entityPayloadService.checkEntityExistence(eq(entityId)) + entityService.checkEntityExistence(eq(entityId)) authorizationService.userCanUpdateEntity(eq(entityId), eq(sub)) - entityPayloadService.mergeEntity(eq(entityId), any(), any(), any()) + entityService.mergeEntity(eq(entityId), any(), any(), any()) } coVerify { entityEventService.publishAttributeChangeEvents( @@ -1768,10 +1768,10 @@ class EntityHandlerTests { notUpdated = emptyList() ) - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns Unit.right() coEvery { - entityPayloadService.mergeEntity(any(), any(), any(), any()) + entityService.mergeEntity(any(), any(), any(), any()) } returns updateResult.right() coEvery { entityEventService.publishAttributeChangeEvents(any(), any(), any(), any(), true) @@ -1786,9 +1786,9 @@ class EntityHandlerTests { .expectStatus().isNoContent coVerify { - entityPayloadService.checkEntityExistence(eq(entityId)) + entityService.checkEntityExistence(eq(entityId)) authorizationService.userCanUpdateEntity(eq(entityId), eq(sub)) - entityPayloadService.mergeEntity( + entityService.mergeEntity( eq(entityId), any(), eq(ZonedDateTime.parse("2019-12-04T12:00:00.00Z")), @@ -1811,7 +1811,7 @@ class EntityHandlerTests { val jsonLdFile = ClassPathResource("/ngsild/aquac/fragments/DeadFishes_mergeEntity.json") val entityId = "urn:ngsi-ld:DeadFishes:019BN".toUri() - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns Unit.right() webClient.patch() @@ -1837,7 +1837,7 @@ class EntityHandlerTests { val entityId = "urn:ngsi-ld:DeadFishes:019BN".toUri() coEvery { - entityPayloadService.checkEntityExistence(any()) + entityService.checkEntityExistence(any()) } returns ResourceNotFoundException(entityNotFoundMessage(entityId.toString())).left() webClient.patch() @@ -1861,7 +1861,7 @@ class EntityHandlerTests { val jsonLdFile = ClassPathResource("/ngsild/aquac/fragments/DeadFishes_mergeEntity.json") val entityId = "urn:ngsi-ld:DeadFishes:019BN".toUri() - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns AccessDeniedException("User forbidden write access to entity urn:ngsi-ld:DeadFishes:019BN").left() @@ -1923,7 +1923,7 @@ class EntityHandlerTests { mockkDefaultBehaviorForUpdateAttribute() coEvery { - entityPayloadService.updateAttributes(any(), any(), any()) + entityService.updateAttributes(any(), any(), any()) } returns updateResult.right() coEvery { entityEventService.publishAttributeChangeEvents(any(), any(), any(), any(), true) @@ -1938,9 +1938,9 @@ class EntityHandlerTests { .expectStatus().isNoContent coVerify { - entityPayloadService.checkEntityExistence(eq(entityId)) + entityService.checkEntityExistence(eq(entityId)) authorizationService.userCanUpdateEntity(eq(entityId), eq(sub)) - entityPayloadService.updateAttributes(eq(entityId), any(), any()) + entityService.updateAttributes(eq(entityId), any(), any()) } coVerify { entityEventService.publishAttributeChangeEvents( @@ -1963,7 +1963,7 @@ class EntityHandlerTests { mockkDefaultBehaviorForUpdateAttribute() coEvery { - entityPayloadService.updateAttributes(any(), any(), any()) + entityService.updateAttributes(any(), any(), any()) } returns UpdateResult( updated = arrayListOf( UpdatedDetails(fishNumberAttribute, null, UpdateOperationResult.REPLACED) @@ -1992,7 +1992,7 @@ class EntityHandlerTests { mockkDefaultBehaviorForUpdateAttribute() coEvery { - entityPayloadService.updateAttributes(any(), any(), any()) + entityService.updateAttributes(any(), any(), any()) } returns UpdateResult( updated = emptyList(), notUpdated = listOf(NotUpdatedDetails("type", "A type cannot be removed")) @@ -2010,7 +2010,7 @@ class EntityHandlerTests { .expectStatus().isEqualTo(HttpStatus.MULTI_STATUS) coVerify { - entityPayloadService.updateAttributes(eq(entityId), any(), any()) + entityService.updateAttributes(eq(entityId), any(), any()) } } @@ -2058,7 +2058,7 @@ class EntityHandlerTests { """.trimIndent() coEvery { - entityPayloadService.checkEntityExistence(any()) + entityService.checkEntityExistence(any()) } returns ResourceNotFoundException(entityNotFoundMessage(beehiveId.toString())).left() webClient.patch() @@ -2078,8 +2078,8 @@ class EntityHandlerTests { val jsonLdFile = ClassPathResource("/ngsild/aquac/fragments/DeadFishes_updateEntityAttribute.json") val entityId = "urn:ngsi-ld:Sensor:0022CCC".toUri() - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(deadFishesType).right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.getTypes(any()) } returns listOf(deadFishesType).right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns AccessDeniedException("User forbidden write access to entity urn:ngsi-ld:Sensor:0022CCC").left() @@ -2106,11 +2106,11 @@ class EntityHandlerTests { fun `delete entity should return a 204 if an entity has been successfully deleted`() { val entity = mockkClass(EntityPayload::class, relaxed = true) - coEvery { entityPayloadService.checkEntityExistence(beehiveId) } returns Unit.right() - coEvery { entityPayloadService.retrieve(any()) } returns entity.right() + coEvery { entityService.checkEntityExistence(beehiveId) } returns Unit.right() + coEvery { entityService.retrieve(any()) } returns entity.right() every { entity.types } returns listOf(BEEHIVE_TYPE) coEvery { authorizationService.userCanAdminEntity(beehiveId, sub) } returns Unit.right() - coEvery { entityPayloadService.deleteEntity(any()) } returns mockkClass(EntityPayload::class).right() + coEvery { entityService.deleteEntity(any()) } returns mockkClass(EntityPayload::class).right() coEvery { authorizationService.removeRightsOnEntity(any()) } returns Unit.right() coEvery { entityEventService.publishEntityDeleteEvent(any(), any()) } returns Job() @@ -2121,10 +2121,10 @@ class EntityHandlerTests { .expectBody().isEmpty coVerify { - entityPayloadService.checkEntityExistence(beehiveId) - entityPayloadService.retrieve(eq(beehiveId)) + entityService.checkEntityExistence(beehiveId) + entityService.retrieve(eq(beehiveId)) authorizationService.userCanAdminEntity(eq(beehiveId), eq(sub)) - entityPayloadService.deleteEntity(eq(beehiveId)) + entityService.deleteEntity(eq(beehiveId)) authorizationService.removeRightsOnEntity(eq(beehiveId)) } coVerify { @@ -2138,7 +2138,7 @@ class EntityHandlerTests { @Test fun `delete entity should return a 404 if entity to be deleted has not been found`() { coEvery { - entityPayloadService.checkEntityExistence(beehiveId) + entityService.checkEntityExistence(beehiveId) } returns ResourceNotFoundException(entityNotFoundMessage(beehiveId.toString())).left() webClient.delete() @@ -2161,12 +2161,12 @@ class EntityHandlerTests { @Test fun `delete entity should return a 500 if entity could not be deleted`() { val entity = mockkClass(EntityPayload::class, relaxed = true) - coEvery { entityPayloadService.checkEntityExistence(beehiveId) } returns Unit.right() - coEvery { entityPayloadService.retrieve(any()) } returns entity.right() + coEvery { entityService.checkEntityExistence(beehiveId) } returns Unit.right() + coEvery { entityService.retrieve(any()) } returns entity.right() every { entity.types } returns listOf(BEEHIVE_TYPE) coEvery { authorizationService.userCanAdminEntity(beehiveId, sub) } returns Unit.right() coEvery { - entityPayloadService.deleteEntity(any()) + entityService.deleteEntity(any()) } throws RuntimeException("Unexpected server error") webClient.delete() @@ -2187,8 +2187,8 @@ class EntityHandlerTests { @Test fun `delete entity should return a 403 is user is not authorized to delete an entity`() { val entity = mockkClass(EntityPayload::class, relaxed = true) - coEvery { entityPayloadService.checkEntityExistence(beehiveId) } returns Unit.right() - coEvery { entityPayloadService.retrieve(beehiveId) } returns entity.right() + coEvery { entityService.checkEntityExistence(beehiveId) } returns Unit.right() + coEvery { entityService.retrieve(beehiveId) } returns entity.right() every { entity.types } returns listOf(BEEHIVE_TYPE) coEvery { authorizationService.userCanAdminEntity(beehiveId, sub) @@ -2211,7 +2211,7 @@ class EntityHandlerTests { } private fun mockkDefaultBehaviorForDeleteAttribute() { - coEvery { entityPayloadService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() + coEvery { entityService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() coEvery { authorizationService.userCanUpdateEntity(any(), sub) } returns Unit.right() coEvery { entityEventService.publishAttributeDeleteEvent(any(), any(), any(), any(), any()) @@ -2222,7 +2222,7 @@ class EntityHandlerTests { fun `delete entity attribute should return a 204 if the attribute has been successfully deleted`() { mockkDefaultBehaviorForDeleteAttribute() coEvery { - entityPayloadService.deleteAttribute(any(), any(), any()) + entityService.deleteAttribute(any(), any(), any()) } returns Unit.right() webClient.method(HttpMethod.DELETE) @@ -2235,7 +2235,7 @@ class EntityHandlerTests { coVerify { authorizationService.userCanUpdateEntity(eq(beehiveId), eq(sub)) - entityPayloadService.deleteAttribute( + entityService.deleteAttribute( eq(beehiveId), eq(TEMPERATURE_PROPERTY), null @@ -2256,7 +2256,7 @@ class EntityHandlerTests { fun `delete entity attribute should delete all instances if deleteAll flag is true`() { mockkDefaultBehaviorForDeleteAttribute() coEvery { - entityPayloadService.deleteAttribute(any(), any(), any(), any()) + entityService.deleteAttribute(any(), any(), any(), any()) } returns Unit.right() webClient.method(HttpMethod.DELETE) @@ -2268,7 +2268,7 @@ class EntityHandlerTests { .expectBody().isEmpty coVerify { - entityPayloadService.deleteAttribute( + entityService.deleteAttribute( eq(beehiveId), eq(TEMPERATURE_PROPERTY), null, @@ -2291,7 +2291,7 @@ class EntityHandlerTests { val datasetId = "urn:ngsi-ld:Dataset:temperature:1" mockkDefaultBehaviorForDeleteAttribute() coEvery { - entityPayloadService.deleteAttribute(any(), any(), any()) + entityService.deleteAttribute(any(), any(), any()) } returns Unit.right() webClient.method(HttpMethod.DELETE) @@ -2303,7 +2303,7 @@ class EntityHandlerTests { .expectBody().isEmpty coVerify { - entityPayloadService.deleteAttribute( + entityService.deleteAttribute( eq(beehiveId), eq(TEMPERATURE_PROPERTY), eq(datasetId.toUri()) @@ -2324,7 +2324,7 @@ class EntityHandlerTests { fun `delete entity attribute should return a 404 if the entity is not found`() { mockkDefaultBehaviorForDeleteAttribute() coEvery { - entityPayloadService.deleteAttribute(any(), any(), any(), any()) + entityService.deleteAttribute(any(), any(), any(), any()) } returns ResourceNotFoundException(entityNotFoundMessage(beehiveId.toString())).left() webClient.method(HttpMethod.DELETE) @@ -2346,7 +2346,7 @@ class EntityHandlerTests { fun `delete entity attribute should return a 404 if the attribute is not found`() { mockkDefaultBehaviorForDeleteAttribute() coEvery { - entityPayloadService.deleteAttribute(any(), any(), any(), any()) + entityService.deleteAttribute(any(), any(), any(), any()) } throws ResourceNotFoundException("Attribute Not Found") webClient.method(HttpMethod.DELETE) @@ -2368,7 +2368,7 @@ class EntityHandlerTests { fun `delete entity attribute should return a 400 if the request is not correct`() { mockkDefaultBehaviorForDeleteAttribute() coEvery { - entityPayloadService.deleteAttribute(any(), any(), any()) + entityService.deleteAttribute(any(), any(), any()) } returns BadRequestDataException("Something is wrong with the request").left() webClient.method(HttpMethod.DELETE) @@ -2392,7 +2392,7 @@ class EntityHandlerTests { @Test fun `delete entity attribute should return a 403 if user is not allowed to update entity`() { - coEvery { entityPayloadService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() + coEvery { entityService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() coEvery { authorizationService.userCanUpdateEntity(any(), sub) } returns AccessDeniedException("User forbidden write access to entity $beehiveId").left() @@ -2416,7 +2416,7 @@ class EntityHandlerTests { } private fun mockkDefaultBehaviorForReplaceAttribute() { - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(any(), sub) } returns Unit.right() coEvery { entityEventService.publishAttributeChangeEvents(any(), any(), any(), any(), any()) @@ -2428,7 +2428,7 @@ class EntityHandlerTests { mockkDefaultBehaviorForReplaceAttribute() val attributeFragment = ClassPathResource("/ngsild/fragments/beehive_new_incoming_property.json") coEvery { - entityPayloadService.replaceAttribute(any(), any(), any()) + entityService.replaceAttribute(any(), any(), any()) } returns UpdateResult( updated = arrayListOf( UpdatedDetails(INCOMING_PROPERTY, null, UpdateOperationResult.REPLACED) @@ -2445,7 +2445,7 @@ class EntityHandlerTests { .expectStatus().isNoContent coVerify { - entityPayloadService.replaceAttribute( + entityService.replaceAttribute( beehiveId, match { it.first == INCOMING_PROPERTY @@ -2460,7 +2460,7 @@ class EntityHandlerTests { mockkDefaultBehaviorForReplaceAttribute() val attributeFragment = ClassPathResource("/ngsild/fragments/beehive_new_incoming_property.json") coEvery { - entityPayloadService.replaceAttribute(any(), any(), any()) + entityService.replaceAttribute(any(), any(), any()) } returns UpdateResult( updated = emptyList(), notUpdated = arrayListOf( diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/entity/web/EntityOperationHandlerTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/entity/web/EntityOperationHandlerTests.kt index 304fa39e0..ec7f39c39 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/entity/web/EntityOperationHandlerTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/entity/web/EntityOperationHandlerTests.kt @@ -8,8 +8,8 @@ import com.egm.stellio.search.entity.model.EMPTY_UPDATE_RESULT import com.egm.stellio.search.entity.model.EntityPayload import com.egm.stellio.search.entity.model.UpdateResult import com.egm.stellio.search.entity.service.EntityOperationService -import com.egm.stellio.search.entity.service.EntityPayloadService import com.egm.stellio.search.entity.service.EntityQueryService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.shared.config.ApplicationProperties import com.egm.stellio.shared.model.AccessDeniedException import com.egm.stellio.shared.model.ExpandedEntity @@ -48,7 +48,7 @@ class EntityOperationHandlerTests { private lateinit var entityOperationService: EntityOperationService @MockkBean - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService @MockkBean private lateinit var queryService: EntityQueryService @@ -792,7 +792,7 @@ class EntityOperationHandlerTests { mutableListOf() ) - coEvery { entityPayloadService.retrieve(any>()) } returns + coEvery { entityService.retrieve(any>()) } returns listOf( mockkClass(EntityPayload::class, relaxed = true) { every { entityId } returns dissolvedOxygenSensorUri @@ -828,7 +828,7 @@ class EntityOperationHandlerTests { performBatchDeleteAndCheck207Response(ENTITY_DOES_NOT_EXIST_MESSAGE) coVerify { entityOperationService.splitEntitiesIdsByExistence(allEntitiesUris) } - coVerify { entityPayloadService wasNot called } + coVerify { entityService wasNot called } coVerify { entityOperationService.delete(any(), any()) wasNot Called } } @@ -855,7 +855,7 @@ class EntityOperationHandlerTests { coEvery { entityOperationService.splitEntitiesIdsByExistence(any()) } answers { Pair(allEntitiesUris, emptyList()) } - coEvery { entityPayloadService.retrieve(any>()) } returns + coEvery { entityService.retrieve(any>()) } returns listOf( mockkClass(EntityPayload::class, relaxed = true) { every { entityId } returns dissolvedOxygenSensorUri diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/scope/ScopeServiceTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/scope/ScopeServiceTests.kt index 3ba52d1e7..145c3f488 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/scope/ScopeServiceTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/scope/ScopeServiceTests.kt @@ -3,7 +3,7 @@ package com.egm.stellio.search.scope import com.egm.stellio.search.entity.model.EntitiesQuery import com.egm.stellio.search.entity.model.EntityPayload import com.egm.stellio.search.entity.model.OperationType -import com.egm.stellio.search.entity.service.EntityPayloadService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.search.support.WithKafkaContainer import com.egm.stellio.search.support.WithTimescaleContainer import com.egm.stellio.search.support.buildDefaultTestTemporalQuery @@ -37,7 +37,7 @@ class ScopeServiceTests : WithTimescaleContainer, WithKafkaContainer { private lateinit var scopeService: ScopeService @Autowired - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService @Autowired private lateinit var r2dbcEntityTemplate: R2dbcEntityTemplate @@ -94,7 +94,7 @@ class ScopeServiceTests : WithTimescaleContainer, WithKafkaContainer { ) = runTest { loadSampleData(initialEntity) .sampleDataToNgsiLdEntity() - .map { entityPayloadService.createEntityPayload(it.second, it.first, ngsiLdDateTime()) } + .map { entityService.createEntityPayload(it.second, it.first, ngsiLdDateTime()) } val expandedAttributes = JsonLdUtils.expandAttributes( """ @@ -112,7 +112,7 @@ class ScopeServiceTests : WithTimescaleContainer, WithKafkaContainer { operationType ).shouldSucceed() - entityPayloadService.retrieve(beehiveTestCId) + entityService.retrieve(beehiveTestCId) .shouldSucceedWith { assertEquals(expectedScopes, it.scopes) val scopesInEntity = it.payload.toExpandedAttributeInstance().getScopes() @@ -123,7 +123,7 @@ class ScopeServiceTests : WithTimescaleContainer, WithKafkaContainer { private suspend fun createScopeHistory() { loadSampleData("beehive_with_scope.jsonld") .sampleDataToNgsiLdEntity() - .map { entityPayloadService.createEntityPayload(it.second, it.first, ngsiLdDateTime()) } + .map { entityService.createEntityPayload(it.second, it.first, ngsiLdDateTime()) } scopeService.addHistoryEntry( beehiveTestCId, listOf("/A", "/B/C"), @@ -328,7 +328,7 @@ class ScopeServiceTests : WithTimescaleContainer, WithKafkaContainer { fun `it should delete scope and its history`() = runTest { loadSampleData("beehive_with_scope.jsonld") .sampleDataToNgsiLdEntity() - .map { entityPayloadService.createEntityPayload(it.second, it.first, ngsiLdDateTime()) } + .map { entityService.createEntityPayload(it.second, it.first, ngsiLdDateTime()) } scopeService.delete(beehiveTestCId).shouldSucceed() diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/temporal/service/TemporalQueryServiceTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/temporal/service/TemporalQueryServiceTests.kt index b09cef33b..780c37995 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/temporal/service/TemporalQueryServiceTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/temporal/service/TemporalQueryServiceTests.kt @@ -4,7 +4,7 @@ import arrow.core.right import com.egm.stellio.search.entity.model.EntitiesQuery import com.egm.stellio.search.entity.model.TemporalEntityAttribute import com.egm.stellio.search.entity.service.EntityAttributeService -import com.egm.stellio.search.entity.service.EntityPayloadService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.search.scope.ScopeInstanceResult import com.egm.stellio.search.scope.ScopeService import com.egm.stellio.search.support.* @@ -37,7 +37,7 @@ class TemporalQueryServiceTests { private lateinit var queryService: TemporalQueryService @MockkBean - private lateinit var entityPayloadService: EntityPayloadService + private lateinit var entityService: EntityService @MockkBean private lateinit var scopeService: ScopeService @@ -98,7 +98,7 @@ class TemporalQueryServiceTests { } coEvery { entityAttributeService.getForEntity(any(), any(), any()) } returns teas - coEvery { entityPayloadService.retrieve(any()) } returns gimmeEntityPayload().right() + coEvery { entityService.retrieve(any()) } returns gimmeEntityPayload().right() coEvery { scopeService.retrieveHistory(any(), any()) } returns emptyList().right() coEvery { attributeInstanceService.search(any(), any>()) @@ -222,13 +222,13 @@ class TemporalQueryServiceTests { payload = EMPTY_JSON_PAYLOAD ) - coEvery { entityPayloadService.queryEntities(any(), any()) } returns listOf(entityUri) + coEvery { entityService.queryEntities(any(), any()) } returns listOf(entityUri) coEvery { entityAttributeService.getForTemporalEntities(any(), any()) } returns listOf(temporalEntityAttribute) - coEvery { entityPayloadService.queryEntitiesCount(any(), any()) } returns 1.right() + coEvery { entityService.queryEntitiesCount(any(), any()) } returns 1.right() coEvery { scopeService.retrieveHistory(any(), any()) } returns emptyList().right() - coEvery { entityPayloadService.retrieve(any()) } returns gimmeEntityPayload().right() + coEvery { entityService.retrieve(any()) } returns gimmeEntityPayload().right() coEvery { attributeInstanceService.search(any(), any>()) } returns @@ -275,7 +275,7 @@ class TemporalQueryServiceTests { }, any>() ) - entityPayloadService.queryEntitiesCount( + entityService.queryEntitiesCount( EntitiesQuery( typeSelection = "$BEEHIVE_TYPE,$APIARY_TYPE", paginationQuery = PaginationQuery(limit = 2, offset = 2), @@ -297,7 +297,7 @@ class TemporalQueryServiceTests { payload = EMPTY_JSON_PAYLOAD ) - coEvery { entityPayloadService.queryEntities(any(), any()) } returns listOf(entityUri) + coEvery { entityService.queryEntities(any(), any()) } returns listOf(entityUri) coEvery { entityAttributeService.getForTemporalEntities(any(), any()) } returns listOf(temporalEntityAttribute) @@ -305,8 +305,8 @@ class TemporalQueryServiceTests { coEvery { attributeInstanceService.search(any(), any>()) } returns emptyList().right() - coEvery { entityPayloadService.retrieve(any()) } returns gimmeEntityPayload().right() - coEvery { entityPayloadService.queryEntitiesCount(any(), any()) } returns 1.right() + coEvery { entityService.retrieve(any()) } returns gimmeEntityPayload().right() + coEvery { entityService.queryEntitiesCount(any(), any()) } returns 1.right() queryService.queryTemporalEntities( TemporalEntitiesQuery( diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandlerPaginationTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandlerPaginationTests.kt index 89b4c33ac..3cc7363c5 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandlerPaginationTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandlerPaginationTests.kt @@ -50,8 +50,8 @@ class TemporalEntityHandlerPaginationTests : TemporalEntityHandlerTestCommon() { "/temporal/beehive_create_temporal_entity.jsonld" ) coEvery { authorizationService.userCanReadEntity(any(), any()) } returns Unit.right() - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() coEvery { temporalQueryService.queryTemporalEntity(any(), any()) } returns Either.Right( diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandlerTestCommon.kt b/search-service/src/test/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandlerTestCommon.kt index 5e7c45bff..3423aaa3f 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandlerTestCommon.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandlerTestCommon.kt @@ -3,7 +3,7 @@ package com.egm.stellio.search.temporal.web import com.egm.stellio.search.authorization.service.AuthorizationService import com.egm.stellio.search.common.config.SearchProperties import com.egm.stellio.search.entity.service.EntityAttributeService -import com.egm.stellio.search.entity.service.EntityPayloadService +import com.egm.stellio.search.entity.service.EntityService import com.egm.stellio.search.temporal.service.AttributeInstanceService import com.egm.stellio.search.temporal.service.TemporalQueryService import com.egm.stellio.shared.config.ApplicationProperties @@ -30,7 +30,7 @@ open class TemporalEntityHandlerTestCommon { protected lateinit var temporalQueryService: TemporalQueryService @MockkBean - protected lateinit var entityPayloadService: EntityPayloadService + protected lateinit var entityService: EntityService @MockkBean protected lateinit var attributeInstanceService: AttributeInstanceService diff --git a/search-service/src/test/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandlerTests.kt b/search-service/src/test/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandlerTests.kt index bd41cd458..3857df479 100644 --- a/search-service/src/test/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandlerTests.kt +++ b/search-service/src/test/kotlin/com/egm/stellio/search/temporal/web/TemporalEntityHandlerTests.kt @@ -42,8 +42,8 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { private val attributeInstanceId = "urn:ngsi-ld:Instance:01".toUri() private fun buildDefaultMockResponsesForAddAttributes() { - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns Unit.right() } @@ -51,10 +51,10 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { fun `create temporal entity should return a 201`() = runTest { val jsonLdFile = ClassPathResource("/ngsild/temporal/beehive_create_temporal_entity.jsonld") - coEvery { entityPayloadService.checkEntityExistence(any(), any()) } returns Unit.right() + coEvery { entityService.checkEntityExistence(any(), any()) } returns Unit.right() coEvery { authorizationService.userCanCreateEntities(sub) } returns Unit.right() - coEvery { entityPayloadService.createEntity(any(), any(), any()) } returns Unit.right() - coEvery { entityPayloadService.upsertAttributes(any(), any(), any()) } returns Unit.right() + coEvery { entityService.createEntity(any(), any(), any()) } returns Unit.right() + coEvery { entityService.upsertAttributes(any(), any(), any()) } returns Unit.right() coEvery { authorizationService.createOwnerRight(any(), any()) } returns Unit.right() val data = @@ -73,16 +73,16 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { .expectHeader().value("Location", Is.`is`("/ngsi-ld/v1/temporal/entities/$entityUri")) coVerify { authorizationService.userCanCreateEntities(eq(sub)) } - coVerify { entityPayloadService.checkEntityExistence(eq(entityUri), true) } + coVerify { entityService.checkEntityExistence(eq(entityUri), true) } coVerify { - entityPayloadService.createEntity( + entityService.createEntity( any(), eq(expandedEntity), eq(sub.value) ) } coVerify { - entityPayloadService.upsertAttributes( + entityService.upsertAttributes( eq(entityUri), eq(jsonInstances), eq(sub.value) @@ -97,9 +97,9 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { coEvery { authorizationService.userCanUpdateEntity(entityUri, sub) } returns Unit.right() coEvery { - entityPayloadService.checkEntityExistence(any(), any()) + entityService.checkEntityExistence(any(), any()) } returns ResourceNotFoundException(entityNotFoundMessage("urn:ngsi-ld:BeeHive:TESTC")).left() - coEvery { entityPayloadService.upsertAttributes(any(), any(), any()) } returns Unit.right() + coEvery { entityService.upsertAttributes(any(), any(), any()) } returns Unit.right() val expectedInstancesFilePath = "/temporal/beehive_update_temporal_entity_without_mandatory_fields_expanded.jsonld" @@ -114,7 +114,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { coVerify { authorizationService.userCanUpdateEntity(eq(entityUri), eq(sub)) } coVerify { - entityPayloadService.upsertAttributes( + entityService.upsertAttributes( eq(entityUri), eq(jsonInstances), eq(sub.value) @@ -128,7 +128,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { loadSampleData("fragments/temporal_entity_fragment_one_attribute_one_instance.jsonld") buildDefaultMockResponsesForAddAttributes() - coEvery { entityPayloadService.upsertAttributes(any(), any(), any()) } returns Unit.right() + coEvery { entityService.upsertAttributes(any(), any(), any()) } returns Unit.right() webClient.post() .uri("/ngsi-ld/v1/temporal/entities/$entityUri/attrs") @@ -139,7 +139,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { .expectStatus().isNoContent coVerify { - entityPayloadService.upsertAttributes( + entityService.upsertAttributes( eq(entityUri), match { it.size == 1 @@ -155,7 +155,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { loadSampleData("fragments/temporal_entity_fragment_one_attribute_many_instances.jsonld") buildDefaultMockResponsesForAddAttributes() - coEvery { entityPayloadService.upsertAttributes(any(), any(), any()) } returns Unit.right() + coEvery { entityService.upsertAttributes(any(), any(), any()) } returns Unit.right() webClient.post() .uri("/ngsi-ld/v1/temporal/entities/$entityUri/attrs") @@ -166,7 +166,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { .expectStatus().isNoContent coVerify { - entityPayloadService.upsertAttributes( + entityService.upsertAttributes( eq(entityUri), match { it.size == 1 @@ -182,7 +182,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { loadSampleData("fragments/temporal_entity_fragment_many_attributes_one_instance.jsonld") buildDefaultMockResponsesForAddAttributes() - coEvery { entityPayloadService.upsertAttributes(any(), any(), any()) } returns Unit.right() + coEvery { entityService.upsertAttributes(any(), any(), any()) } returns Unit.right() webClient.post() .uri("/ngsi-ld/v1/temporal/entities/$entityUri/attrs") @@ -193,7 +193,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { .expectStatus().isNoContent coVerify { - entityPayloadService.upsertAttributes( + entityService.upsertAttributes( eq(entityUri), match { it.size == 2 @@ -209,7 +209,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { loadSampleData("fragments/temporal_entity_fragment_many_attributes_many_instances.jsonld") buildDefaultMockResponsesForAddAttributes() - coEvery { entityPayloadService.upsertAttributes(any(), any(), any()) } returns Unit.right() + coEvery { entityService.upsertAttributes(any(), any(), any()) } returns Unit.right() webClient.post() .uri("/ngsi-ld/v1/temporal/entities/$entityUri/attrs") @@ -220,7 +220,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { .expectStatus().isNoContent coVerify { - entityPayloadService.upsertAttributes( + entityService.upsertAttributes( eq(entityUri), match { it.size == 2 @@ -257,8 +257,8 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { val entityTemporalFragment = loadSampleData("fragments/temporal_entity_fragment_many_attributes_many_instances.jsonld") - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns AccessDeniedException("User forbidden write access to entity $entityUri").left() @@ -276,8 +276,8 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { } private fun buildDefaultMockResponsesForGetEntity() { - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() coEvery { authorizationService.userCanReadEntity(any(), any()) } returns Unit.right() } @@ -1016,7 +1016,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { val instanceTemporalFragment = loadSampleData("fragments/temporal_instance_fragment.jsonld") - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns Unit.right() coEvery { attributeInstanceService.modifyAttributeInstance(any(), any(), any(), any()) } returns Unit.right() @@ -1029,7 +1029,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { .expectStatus().isNoContent .expectBody().isEmpty - coVerify { entityPayloadService.checkEntityExistence(entityUri) } + coVerify { entityService.checkEntityExistence(entityUri) } coVerify { authorizationService.userCanUpdateEntity(entityUri, sub) } coVerify { attributeInstanceService.modifyAttributeInstance( @@ -1046,7 +1046,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { val instanceTemporalFragment = loadSampleData("fragments/temporal_instance_fragment.jsonld") - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(any(), sub) } returns AccessDeniedException("User forbidden write access to entity $entityUri").left() @@ -1068,7 +1068,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { """.trimIndent() ) - coVerify { entityPayloadService.checkEntityExistence(entityUri) } + coVerify { entityService.checkEntityExistence(entityUri) } coVerify { authorizationService.userCanUpdateEntity(entityUri, sub) } } @@ -1078,7 +1078,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { loadSampleData("fragments/temporal_instance_fragment.jsonld") coEvery { - entityPayloadService.checkEntityExistence(any()) + entityService.checkEntityExistence(any()) } returns ResourceNotFoundException(entityNotFoundMessage(entityUri.toString())).left() webClient.patch() @@ -1097,7 +1097,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { } """.trimIndent() ) - coVerify { entityPayloadService.checkEntityExistence(entityUri) } + coVerify { entityService.checkEntityExistence(entityUri) } } @Test @@ -1106,7 +1106,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { loadSampleData("fragments/temporal_instance_fragment.jsonld") val expandedAttr = JsonLdUtils.expandJsonLdTerm(temporalEntityAttributeName, NGSILD_TEST_CORE_CONTEXT) - coEvery { entityPayloadService.checkEntityExistence(any()) } returns Unit.right() + coEvery { entityService.checkEntityExistence(any()) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(any(), sub) } returns Unit.right() coEvery { attributeInstanceService.modifyAttributeInstance(any(), any(), any(), any()) @@ -1131,15 +1131,15 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { """.trimIndent() ) - coVerify { entityPayloadService.checkEntityExistence(entityUri) } + coVerify { entityService.checkEntityExistence(entityUri) } coVerify { authorizationService.userCanUpdateEntity(entityUri, sub) } } @Test fun `delete temporal entity should return a 204 if an entity has been successfully deleted`() { - coEvery { entityPayloadService.checkEntityExistence(entityUri) } returns Unit.right() + coEvery { entityService.checkEntityExistence(entityUri) } returns Unit.right() coEvery { authorizationService.userCanAdminEntity(entityUri, sub) } returns Unit.right() - coEvery { entityPayloadService.deleteEntity(any()) } returns mockkClass(EntityPayload::class).right() + coEvery { entityService.deleteEntity(any()) } returns mockkClass(EntityPayload::class).right() coEvery { authorizationService.removeRightsOnEntity(any()) } returns Unit.right() webClient.delete() @@ -1149,9 +1149,9 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { .expectBody().isEmpty coVerify { - entityPayloadService.checkEntityExistence(entityUri) + entityService.checkEntityExistence(entityUri) authorizationService.userCanAdminEntity(eq(entityUri), eq(sub)) - entityPayloadService.deleteEntity(eq(entityUri)) + entityService.deleteEntity(eq(entityUri)) authorizationService.removeRightsOnEntity(eq(entityUri)) } } @@ -1159,7 +1159,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { @Test fun `delete temporal entity should return a 404 if entity to be deleted has not been found`() { coEvery { - entityPayloadService.checkEntityExistence(entityUri) + entityService.checkEntityExistence(entityUri) } returns ResourceNotFoundException(entityNotFoundMessage(entityUri.toString())).left() webClient.delete() @@ -1204,10 +1204,10 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { @Test fun `delete temporal entity should return a 500 if entity could not be deleted`() { - coEvery { entityPayloadService.checkEntityExistence(entityUri) } returns Unit.right() + coEvery { entityService.checkEntityExistence(entityUri) } returns Unit.right() coEvery { authorizationService.userCanAdminEntity(entityUri, sub) } returns Unit.right() coEvery { - entityPayloadService.deleteEntity(any()) + entityService.deleteEntity(any()) } throws RuntimeException("Unexpected server error") webClient.delete() @@ -1227,7 +1227,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { @Test fun `delete temporal entity should return a 403 is user is not authorized to delete an entity`() { - coEvery { entityPayloadService.checkEntityExistence(entityUri) } returns Unit.right() + coEvery { entityService.checkEntityExistence(entityUri) } returns Unit.right() coEvery { authorizationService.userCanAdminEntity(entityUri, sub) } returns AccessDeniedException("User forbidden admin access to entity $entityUri").left() @@ -1253,7 +1253,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { coEvery { entityAttributeService.checkEntityAndAttributeExistence(any(), any()) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(any(), sub) } returns Unit.right() coEvery { - entityPayloadService.deleteAttribute(any(), any(), any()) + entityService.deleteAttribute(any(), any(), any()) } returns Unit.right() webClient.method(HttpMethod.DELETE) @@ -1267,7 +1267,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { coVerify { entityAttributeService.checkEntityAndAttributeExistence(eq(entityUri), eq(TEMPERATURE_PROPERTY)) authorizationService.userCanUpdateEntity(eq(entityUri), eq(sub)) - entityPayloadService.deleteAttribute( + entityService.deleteAttribute( eq(entityUri), eq(TEMPERATURE_PROPERTY), null @@ -1280,7 +1280,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { coEvery { entityAttributeService.checkEntityAndAttributeExistence(any(), any()) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(any(), sub) } returns Unit.right() coEvery { - entityPayloadService.deleteAttribute(any(), any(), any(), any()) + entityService.deleteAttribute(any(), any(), any(), any()) } returns Unit.right() webClient.method(HttpMethod.DELETE) @@ -1292,7 +1292,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { .expectBody().isEmpty coVerify { - entityPayloadService.deleteAttribute( + entityService.deleteAttribute( eq(entityUri), eq(TEMPERATURE_PROPERTY), null, @@ -1310,7 +1310,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { entityAttributeService.checkEntityAndAttributeExistence(any(), any(), any()) } returns Unit.right() coEvery { - entityPayloadService.deleteAttribute(any(), any(), any()) + entityService.deleteAttribute(any(), any(), any()) } returns Unit.right() webClient.method(HttpMethod.DELETE) @@ -1322,7 +1322,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { .expectBody().isEmpty coVerify { - entityPayloadService.deleteAttribute( + entityService.deleteAttribute( eq(entityUri), eq(TEMPERATURE_PROPERTY), eq(datasetId.toUri()) @@ -1358,7 +1358,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { coEvery { entityAttributeService.checkEntityAndAttributeExistence(any(), any()) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(any(), sub) } returns Unit.right() coEvery { - entityPayloadService.deleteAttribute(any(), any(), any(), any()) + entityService.deleteAttribute(any(), any(), any(), any()) } throws ResourceNotFoundException("Attribute Not Found") webClient.method(HttpMethod.DELETE) @@ -1383,7 +1383,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { coEvery { entityAttributeService.checkEntityAndAttributeExistence(any(), any()) } returns Unit.right() coEvery { authorizationService.userCanUpdateEntity(any(), sub) } returns Unit.right() coEvery { - entityPayloadService.deleteAttribute(any(), any(), any()) + entityService.deleteAttribute(any(), any(), any()) } returns BadRequestDataException("Something is wrong with the request").left() webClient.method(HttpMethod.DELETE) @@ -1457,7 +1457,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { @Test fun `delete attribute temporal should return a 403 if user is not allowed to update entity`() { coEvery { entityAttributeService.checkEntityAndAttributeExistence(any(), any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() + coEvery { entityService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() coEvery { authorizationService.userCanUpdateEntity(any(), sub) } returns AccessDeniedException("User forbidden write access to entity $entityUri").left() @@ -1483,9 +1483,9 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { fun `delete attribute instance temporal should return 204`() { val expandedAttr = JsonLdUtils.expandJsonLdTerm(temporalEntityAttributeName, NGSILD_TEST_CORE_CONTEXT) coEvery { - entityPayloadService.checkEntityExistence(any()) + entityService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() + coEvery { entityService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns Unit.right() coEvery { attributeInstanceService.deleteInstance(any(), any(), any()) @@ -1499,7 +1499,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { .expectStatus().isNoContent .expectBody().isEmpty - coVerify { entityPayloadService.checkEntityExistence(entityUri) } + coVerify { entityService.checkEntityExistence(entityUri) } coVerify { attributeInstanceService.deleteInstance(entityUri, expandedAttr, attributeInstanceId) } @@ -1511,7 +1511,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { @Test fun `delete attribute instance temporal should return 404 if entityId is not found`() { coEvery { - entityPayloadService.checkEntityExistence(any()) + entityService.checkEntityExistence(any()) } returns ResourceNotFoundException(entityNotFoundMessage(entityUri.toString())).left() webClient @@ -1531,9 +1531,9 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { ) coVerify { - entityPayloadService.checkEntityExistence(entityUri) + entityService.checkEntityExistence(entityUri) } - confirmVerified(entityPayloadService) + confirmVerified(entityService) } @Test @@ -1541,9 +1541,9 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { val expandedAttr = JsonLdUtils.expandJsonLdTerm(temporalEntityAttributeName, NGSILD_TEST_CORE_CONTEXT) coEvery { - entityPayloadService.checkEntityExistence(any()) + entityService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() + coEvery { entityService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns Unit.right() coEvery { attributeInstanceService.deleteInstance(any(), any(), any()) @@ -1567,7 +1567,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { """.trimIndent() ) - coVerify { entityPayloadService.checkEntityExistence(entityUri) } + coVerify { entityService.checkEntityExistence(entityUri) } coVerify { attributeInstanceService.deleteInstance(entityUri, expandedAttr, attributeInstanceId) } @@ -1582,9 +1582,9 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { @Test fun `delete attribute instance temporal should return 403 if user is not allowed`() { coEvery { - entityPayloadService.checkEntityExistence(any()) + entityService.checkEntityExistence(any()) } returns Unit.right() - coEvery { entityPayloadService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() + coEvery { entityService.getTypes(any()) } returns listOf(BEEHIVE_TYPE).right() coEvery { authorizationService.userCanUpdateEntity(any(), any()) } returns AccessDeniedException("User forbidden write access to entity $entityUri").left() @@ -1605,7 +1605,7 @@ class TemporalEntityHandlerTests : TemporalEntityHandlerTestCommon() { """.trimIndent() ) - coVerify { entityPayloadService.checkEntityExistence(entityUri) } + coVerify { entityService.checkEntityExistence(entityUri) } coVerify { authorizationService.userCanUpdateEntity( eq(entityUri),