From 170f2ea6565123db29f626c5d2b973b466670e2c Mon Sep 17 00:00:00 2001 From: Todd Martin Date: Thu, 18 Jan 2024 12:20:31 -0500 Subject: [PATCH 1/2] Removed AcceptOrgUserByOrgId and replaced with existing method. --- .../OrganizationUsersController.cs | 2 +- .../OrganizationUsers/AcceptOrgUserCommand.cs | 24 ------------------- .../Interfaces/IAcceptOrgUserCommand.cs | 1 - 3 files changed, 1 insertion(+), 26 deletions(-) diff --git a/src/Api/AdminConsole/Controllers/OrganizationUsersController.cs b/src/Api/AdminConsole/Controllers/OrganizationUsersController.cs index 1eacab68b832..783bfb3680d4 100644 --- a/src/Api/AdminConsole/Controllers/OrganizationUsersController.cs +++ b/src/Api/AdminConsole/Controllers/OrganizationUsersController.cs @@ -347,7 +347,7 @@ await _organizationService.UpdateUserResetPasswordEnrollmentAsync( var orgUser = await _organizationUserRepository.GetByOrganizationAsync(orgId, user.Id); if (orgUser.Status == OrganizationUserStatusType.Invited) { - await _acceptOrgUserCommand.AcceptOrgUserByOrgIdAsync(orgId, user, _userService); + await _acceptOrgUserCommand.AcceptOrgUserAsync(orgUser, user, _userService); } } diff --git a/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/AcceptOrgUserCommand.cs b/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/AcceptOrgUserCommand.cs index e0c2bada481c..0ad0d563d0a0 100644 --- a/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/AcceptOrgUserCommand.cs +++ b/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/AcceptOrgUserCommand.cs @@ -103,13 +103,6 @@ public async Task AcceptOrgUserByEmailTokenAsync(Guid organiza return organizationUser; } - private bool ValidateOrgUserInviteToken(string orgUserInviteToken, OrganizationUser orgUser) - { - return _orgUserInviteTokenDataFactory.TryUnprotect(orgUserInviteToken, out var decryptedToken) - && decryptedToken.Valid - && decryptedToken.TokenIsValid(orgUser); - } - public async Task AcceptOrgUserByOrgSsoIdAsync(string orgSsoIdentifier, User user, IUserService userService) { var org = await _organizationRepository.GetByIdentifierAsync(orgSsoIdentifier); @@ -127,23 +120,6 @@ public async Task AcceptOrgUserByOrgSsoIdAsync(string orgSsoId return await AcceptOrgUserAsync(orgUser, user, userService); } - public async Task AcceptOrgUserByOrgIdAsync(Guid organizationId, User user, IUserService userService) - { - var org = await _organizationRepository.GetByIdAsync(organizationId); - if (org == null) - { - throw new BadRequestException("Organization invalid."); - } - - var orgUser = await _organizationUserRepository.GetByOrganizationAsync(org.Id, user.Id); - if (orgUser == null) - { - throw new BadRequestException("User not found within organization."); - } - - return await AcceptOrgUserAsync(orgUser, user, userService); - } - public async Task AcceptOrgUserAsync(OrganizationUser orgUser, User user, IUserService userService) { diff --git a/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/Interfaces/IAcceptOrgUserCommand.cs b/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/Interfaces/IAcceptOrgUserCommand.cs index 14cabda52137..ec9d0dcf808e 100644 --- a/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/Interfaces/IAcceptOrgUserCommand.cs +++ b/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/Interfaces/IAcceptOrgUserCommand.cs @@ -13,6 +13,5 @@ public interface IAcceptOrgUserCommand /// The accepted OrganizationUser. Task AcceptOrgUserByEmailTokenAsync(Guid organizationUserId, User user, string emailToken, IUserService userService); Task AcceptOrgUserByOrgSsoIdAsync(string orgIdentifier, User user, IUserService userService); - Task AcceptOrgUserByOrgIdAsync(Guid organizationId, User user, IUserService userService); Task AcceptOrgUserAsync(OrganizationUser orgUser, User user, IUserService userService); } From 4d189764b26ace695339bd681f87a4fd31ab5b65 Mon Sep 17 00:00:00 2001 From: Todd Martin Date: Thu, 18 Jan 2024 12:22:22 -0500 Subject: [PATCH 2/2] Adjusted tests. --- .../OrganizationUsersControllerTests.cs | 4 +- .../AcceptOrgUserCommandTests.cs | 67 +------------------ 2 files changed, 3 insertions(+), 68 deletions(-) diff --git a/test/Api.Test/AdminConsole/Controllers/OrganizationUsersControllerTests.cs b/test/Api.Test/AdminConsole/Controllers/OrganizationUsersControllerTests.cs index baf23bb9c194..85ef4361fd2c 100644 --- a/test/Api.Test/AdminConsole/Controllers/OrganizationUsersControllerTests.cs +++ b/test/Api.Test/AdminConsole/Controllers/OrganizationUsersControllerTests.cs @@ -31,7 +31,7 @@ public async Task PutResetPasswordEnrollment_InivitedUser_AcceptsInvite(Guid org await sutProvider.Sut.PutResetPasswordEnrollment(orgId, userId, model); - await sutProvider.GetDependency().Received(1).AcceptOrgUserByOrgIdAsync(orgId, user, sutProvider.GetDependency()); + await sutProvider.GetDependency().Received(1).AcceptOrgUserAsync(orgUser, user, sutProvider.GetDependency()); } [Theory] @@ -45,7 +45,7 @@ public async Task PutResetPasswordEnrollment_ConfirmedUser_AcceptsInvite(Guid or await sutProvider.Sut.PutResetPasswordEnrollment(orgId, userId, model); - await sutProvider.GetDependency().Received(0).AcceptOrgUserByOrgIdAsync(orgId, user, sutProvider.GetDependency()); + await sutProvider.GetDependency().Received(0).AcceptOrgUserAsync(orgUser, user, sutProvider.GetDependency()); } [Theory] diff --git a/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationUsers/AcceptOrgUserCommandTests.cs b/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationUsers/AcceptOrgUserCommandTests.cs index eca4f449b074..205ac8703735 100644 --- a/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationUsers/AcceptOrgUserCommandTests.cs +++ b/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationUsers/AcceptOrgUserCommandTests.cs @@ -183,7 +183,7 @@ public async Task AcceptOrgUserAsync_UserWithout2FAJoining2FARequiredOrg_ThrowsB } - // AcceptOrgUserByOrgIdAsync tests -------------------------------------------------------------------------------- + // AcceptOrgUserByEmailTokenAsync tests -------------------------------------------------------------------------------- [Theory] [EphemeralDataProtectionAutoData] @@ -482,71 +482,6 @@ public async Task AcceptOrgUserByOrgSsoIdAsync_UserNotInOrg_ThrowsBadRequest(Sut Assert.Equal("User not found within organization.", exception.Message); } - // AcceptOrgUserByOrgIdAsync --------------------------------------------------------------------------------------- - - [Theory] - [BitAutoData] - public async Task AcceptOrgUserByOrgId_ValidData_AcceptsOrgUser( - SutProvider sutProvider, - User user, Organization org, OrganizationUser orgUser, OrganizationUserUserDetails adminUserDetails) - { - // Arrange - SetupCommonAcceptOrgUserMocks(sutProvider, user, org, orgUser, adminUserDetails); - - sutProvider.GetDependency() - .GetByIdAsync(org.Id) - .Returns(org); - - sutProvider.GetDependency() - .GetByOrganizationAsync(org.Id, user.Id) - .Returns(orgUser); - - // Act - var resultOrgUser = await sutProvider.Sut.AcceptOrgUserByOrgIdAsync(org.Id, user, _userService); - - // Assert - AssertValidAcceptedOrgUser(resultOrgUser, orgUser, user); - } - - [Theory] - [BitAutoData] - public async Task AcceptOrgUserByOrgId_InvalidOrg_ThrowsBadRequest(SutProvider sutProvider, - Guid orgId, User user) - { - // Arrange - - sutProvider.GetDependency() - .GetByIdAsync(orgId) - .Returns((Organization)null); - - // Act & Assert - var exception = await Assert.ThrowsAsync( - () => sutProvider.Sut.AcceptOrgUserByOrgIdAsync(orgId, user, _userService)); - - Assert.Equal("Organization invalid.", exception.Message); - } - - [Theory] - [BitAutoData] - public async Task AcceptOrgUserByOrgId_UserNotInOrg_ThrowsBadRequest(SutProvider sutProvider, - Organization org, User user) - { - // Arrange - sutProvider.GetDependency() - .GetByIdAsync(org.Id) - .Returns(org); - - sutProvider.GetDependency() - .GetByOrganizationAsync(org.Id, user.Id) - .Returns((OrganizationUser)null); - - // Act & Assert - var exception = await Assert.ThrowsAsync( - () => sutProvider.Sut.AcceptOrgUserByOrgIdAsync(org.Id, user, _userService)); - - Assert.Equal("User not found within organization.", exception.Message); - } - // Private helpers ------------------------------------------------------------------------------------------------- ///