diff --git a/src/main/scala/it/pagopa/interop/agreementprocess/api/impl/AgreementApiServiceImpl.scala b/src/main/scala/it/pagopa/interop/agreementprocess/api/impl/AgreementApiServiceImpl.scala index d07a24d3..29c534d5 100644 --- a/src/main/scala/it/pagopa/interop/agreementprocess/api/impl/AgreementApiServiceImpl.scala +++ b/src/main/scala/it/pagopa/interop/agreementprocess/api/impl/AgreementApiServiceImpl.scala @@ -1322,6 +1322,12 @@ final case class AgreementApiServiceImpl( stamps = agreement.stamps.copy(archiving = AgreementManagement.Stamp(uid, offsetDateTimeSupplier.get()).some) ) ) + _ <- authorizationManagementService.updateStateOnClients( + eServiceId = agreement.eserviceId, + consumerId = agreement.consumerId, + agreementId = agreement.id, + state = AuthorizationManagement.ClientComponentState.INACTIVE + ) } yield agreement val result: Future[Agreement] = for { diff --git a/src/test/scala/it/pagopa/interop/agreementprocess/AgreementArchiviationSpec.scala b/src/test/scala/it/pagopa/interop/agreementprocess/AgreementArchiviationSpec.scala index fd98aff8..ae2df95e 100644 --- a/src/test/scala/it/pagopa/interop/agreementprocess/AgreementArchiviationSpec.scala +++ b/src/test/scala/it/pagopa/interop/agreementprocess/AgreementArchiviationSpec.scala @@ -5,10 +5,12 @@ import akka.http.scaladsl.testkit.ScalatestRouteTest import it.pagopa.interop.agreementmanagement.client.{model => AgreementManagement} import it.pagopa.interop.agreementprocess.events.ArchiveEvent import it.pagopa.interop.agreementprocess.common.Adapters._ +import it.pagopa.interop.authorizationmanagement.client.model.ClientComponentState import org.scalatest.matchers.should.Matchers._ import org.scalatest.wordspec.AnyWordSpecLike import java.util.UUID +import scala.concurrent.Future class AgreementArchiviationSpec extends AnyWordSpecLike with SpecHelper with ScalatestRouteTest { @@ -31,6 +33,11 @@ class AgreementArchiviationSpec extends AnyWordSpecLike with SpecHelper with Sca val now = SpecData.when mockAgreementRetrieve(agreement.toPersistent) mockAgreementUpdate(agreement.id, expectedSeed, agreement.copy(stamps = SpecData.archiviationStamps)) + (mockAuthorizationManagementService + .updateStateOnClients(_: UUID, _: UUID, _: UUID, _: ClientComponentState)(_: Seq[(String, String)])) + .expects(agreement.eserviceId, agreement.consumerId, agreement.id, ClientComponentState.INACTIVE, *) + .once() + .returns(Future.unit) mockArchiveEventSending(ArchiveEvent(agreement.id, now)).twice() Get() ~> service.archiveAgreement(agreement.id.toString) ~> check {