From d20c5823b2a748cfd1fcc2f210d06f837ee44f3e Mon Sep 17 00:00:00 2001 From: AnuragNagpure <145100366+AnuragNagpure@users.noreply.github.com> Date: Tue, 12 Dec 2023 21:35:14 +0530 Subject: [PATCH] fix(name): return clientClientId instead of serviceAccount name (#380) Return clientClientId instead of the serviceAccount name for endpoint: GET /api/Services/{serviceId}/subscription/{subscriptionID}/provider ------------------------- Refs: CPLP-3505 Reviewed-By: Phil Schneider --- .../Models/OfferSubscriptionDetailData.cs | 2 +- .../Repositories/OfferSubscriptionsRepository.cs | 2 +- .../OfferSubscriptionRepositoryTest.cs | 3 ++- .../Seeder/Data/company_service_accounts.test.json | 3 ++- .../Seeder/Data/identity_assigned_roles.test.json | 5 +++++ .../PortalBackend.DBAccess.Tests/UserRepositoryTests.cs | 2 +- 6 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/portalbackend/PortalBackend.DBAccess/Models/OfferSubscriptionDetailData.cs b/src/portalbackend/PortalBackend.DBAccess/Models/OfferSubscriptionDetailData.cs index 411b6e3e3e..893f01aa99 100644 --- a/src/portalbackend/PortalBackend.DBAccess/Models/OfferSubscriptionDetailData.cs +++ b/src/portalbackend/PortalBackend.DBAccess/Models/OfferSubscriptionDetailData.cs @@ -25,7 +25,7 @@ namespace Org.Eclipse.TractusX.Portal.Backend.PortalBackend.DBAccess.Models; public record SubscriptionTechnicalUserData( Guid Id, - string Name, + string? Name, IEnumerable Permissions ); diff --git a/src/portalbackend/PortalBackend.DBAccess/Repositories/OfferSubscriptionsRepository.cs b/src/portalbackend/PortalBackend.DBAccess/Repositories/OfferSubscriptionsRepository.cs index 9fb76f297e..e5aa42c4a6 100644 --- a/src/portalbackend/PortalBackend.DBAccess/Repositories/OfferSubscriptionsRepository.cs +++ b/src/portalbackend/PortalBackend.DBAccess/Repositories/OfferSubscriptionsRepository.cs @@ -209,7 +209,7 @@ public OfferSubscription AttachAndModifyOfferSubscription(Guid offerSubscription x.Company!.Name, x.Company.BusinessPartnerNumber, x.Company.Identities.Where(x => x.IdentityTypeId == IdentityTypeId.COMPANY_USER).Select(i => i.CompanyUser!).Where(cu => cu.Email != null && cu.Identity!.IdentityAssignedRoles.Select(ur => ur.UserRole!).Any(ur => userRoleIds.Contains(ur.Id))).Select(cu => cu.Email!), - x.Subscription.CompanyServiceAccounts.Select(sa => new SubscriptionTechnicalUserData(sa.Id, sa.Name, sa.Identity!.IdentityAssignedRoles.Select(ur => ur.UserRole!).Select(ur => ur.UserRoleText)))) + x.Subscription.CompanyServiceAccounts.Select(sa => new SubscriptionTechnicalUserData(sa.Id, sa.ClientClientId, sa.Identity!.IdentityAssignedRoles.Select(ur => ur.UserRole!).Select(ur => ur.UserRoleText)))) : null)) .SingleOrDefaultAsync(); diff --git a/tests/portalbackend/PortalBackend.DBAccess.Tests/OfferSubscriptionRepositoryTest.cs b/tests/portalbackend/PortalBackend.DBAccess.Tests/OfferSubscriptionRepositoryTest.cs index 52551a61c4..42f513be92 100644 --- a/tests/portalbackend/PortalBackend.DBAccess.Tests/OfferSubscriptionRepositoryTest.cs +++ b/tests/portalbackend/PortalBackend.DBAccess.Tests/OfferSubscriptionRepositoryTest.cs @@ -243,7 +243,8 @@ public async Task GetSubscriptionDetailForProviderAsync_ReturnsExpected() x.Name == "SDE with EDC" && x.Customer == "Catena-X" && x.Contact.SequenceEqual(new[] { "tobeadded@cx.com" }) && - x.OfferSubscriptionStatus == OfferSubscriptionStatusId.ACTIVE); + x.OfferSubscriptionStatus == OfferSubscriptionStatusId.ACTIVE + && x.TechnicalUserData.All(x => x.Id == new Guid("d0c8ae19-d4f3-49cc-9cb4-6c766d4680f2") && x.Name == "sa-x-4")); } [Fact] diff --git a/tests/portalbackend/PortalBackend.DBAccess.Tests/Seeder/Data/company_service_accounts.test.json b/tests/portalbackend/PortalBackend.DBAccess.Tests/Seeder/Data/company_service_accounts.test.json index 781ab3aebb..863a10bfbc 100644 --- a/tests/portalbackend/PortalBackend.DBAccess.Tests/Seeder/Data/company_service_accounts.test.json +++ b/tests/portalbackend/PortalBackend.DBAccess.Tests/Seeder/Data/company_service_accounts.test.json @@ -5,7 +5,8 @@ "description": "SA for offer subscription", "company_service_account_type_id": 2, "offer_subscription_id": "3DE6A31F-A5D1-4F60-AA3A-4B1A769BECBF", - "company_id": "2dc4249f-b5ca-4d42-bef1-7a7a950a4f87" + "company_id": "2dc4249f-b5ca-4d42-bef1-7a7a950a4f87", + "client_client_id":"sa-x-4" }, { "id": "d0c8ae19-d4f3-49cc-9cb4-6c766d4680f3", diff --git a/tests/portalbackend/PortalBackend.DBAccess.Tests/Seeder/Data/identity_assigned_roles.test.json b/tests/portalbackend/PortalBackend.DBAccess.Tests/Seeder/Data/identity_assigned_roles.test.json index 340403cb31..678b849b29 100644 --- a/tests/portalbackend/PortalBackend.DBAccess.Tests/Seeder/Data/identity_assigned_roles.test.json +++ b/tests/portalbackend/PortalBackend.DBAccess.Tests/Seeder/Data/identity_assigned_roles.test.json @@ -58,5 +58,10 @@ "identity_id": "8b42e6de-7b59-4217-a63c-198e83d93776", "user_role_id": "aabcdfeb-6669-4c74-89f0-19cda090873e", "last_editor_id": null + } , + { + "identity_id": "d0c8ae19-d4f3-49cc-9cb4-6c766d4680f2", + "user_role_id": "aabcdfeb-6669-4c74-89f0-19cda090873e", + "last_editor_id": null } ] diff --git a/tests/portalbackend/PortalBackend.DBAccess.Tests/UserRepositoryTests.cs b/tests/portalbackend/PortalBackend.DBAccess.Tests/UserRepositoryTests.cs index 34b3650c0d..c2e2adf8e0 100644 --- a/tests/portalbackend/PortalBackend.DBAccess.Tests/UserRepositoryTests.cs +++ b/tests/portalbackend/PortalBackend.DBAccess.Tests/UserRepositoryTests.cs @@ -447,7 +447,7 @@ public async Task GetNextServiceAccountsWithoutUserEntityId_ReturnsExpectedResul results.Should().HaveCount(2) .And.Satisfy( x => x.ClientClientId == "sa-x-2" && x.ServiceAccountId == new Guid("93eecd4e-ca47-4dd2-85bf-775ea72eb009"), - x => x.ClientClientId == "sa-x-1" && x.ServiceAccountId == new Guid("d0c8ae19-d4f3-49cc-9cb4-6c766d4680f4")); + x => x.ClientClientId == "sa-x-4" && x.ServiceAccountId == new Guid("d0c8ae19-d4f3-49cc-9cb4-6c766d4680f2")); } #endregion