mirror of
https://github.com/bitwarden/server
synced 2025-12-16 16:23:31 +00:00
Renamed to validator
This commit is contained in:
@@ -35,7 +35,7 @@ public class AcceptOrgUserCommand : IAcceptOrgUserCommand
|
|||||||
private readonly IDataProtectorTokenFactory<OrgUserInviteTokenable> _orgUserInviteTokenDataFactory;
|
private readonly IDataProtectorTokenFactory<OrgUserInviteTokenable> _orgUserInviteTokenDataFactory;
|
||||||
private readonly IFeatureService _featureService;
|
private readonly IFeatureService _featureService;
|
||||||
private readonly IPolicyRequirementQuery _policyRequirementQuery;
|
private readonly IPolicyRequirementQuery _policyRequirementQuery;
|
||||||
private readonly IAutomaticUserConfirmationPolicyEnforcementQuery _automaticUserConfirmationPolicyEnforcementQuery;
|
private readonly IAutomaticUserConfirmationPolicyEnforcementValidator _automaticUserConfirmationPolicyEnforcementValidator;
|
||||||
|
|
||||||
public AcceptOrgUserCommand(
|
public AcceptOrgUserCommand(
|
||||||
IDataProtectionProvider dataProtectionProvider,
|
IDataProtectionProvider dataProtectionProvider,
|
||||||
@@ -49,7 +49,7 @@ public class AcceptOrgUserCommand : IAcceptOrgUserCommand
|
|||||||
IDataProtectorTokenFactory<OrgUserInviteTokenable> orgUserInviteTokenDataFactory,
|
IDataProtectorTokenFactory<OrgUserInviteTokenable> orgUserInviteTokenDataFactory,
|
||||||
IFeatureService featureService,
|
IFeatureService featureService,
|
||||||
IPolicyRequirementQuery policyRequirementQuery,
|
IPolicyRequirementQuery policyRequirementQuery,
|
||||||
IAutomaticUserConfirmationPolicyEnforcementQuery automaticUserConfirmationPolicyEnforcementQuery)
|
IAutomaticUserConfirmationPolicyEnforcementValidator automaticUserConfirmationPolicyEnforcementValidator)
|
||||||
{
|
{
|
||||||
// TODO: remove data protector when old token validation removed
|
// TODO: remove data protector when old token validation removed
|
||||||
_dataProtector = dataProtectionProvider.CreateProtector(OrgUserInviteTokenable.DataProtectorPurpose);
|
_dataProtector = dataProtectionProvider.CreateProtector(OrgUserInviteTokenable.DataProtectorPurpose);
|
||||||
@@ -63,7 +63,7 @@ public class AcceptOrgUserCommand : IAcceptOrgUserCommand
|
|||||||
_orgUserInviteTokenDataFactory = orgUserInviteTokenDataFactory;
|
_orgUserInviteTokenDataFactory = orgUserInviteTokenDataFactory;
|
||||||
_featureService = featureService;
|
_featureService = featureService;
|
||||||
_policyRequirementQuery = policyRequirementQuery;
|
_policyRequirementQuery = policyRequirementQuery;
|
||||||
_automaticUserConfirmationPolicyEnforcementQuery = automaticUserConfirmationPolicyEnforcementQuery;
|
_automaticUserConfirmationPolicyEnforcementValidator = automaticUserConfirmationPolicyEnforcementValidator;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<OrganizationUser> AcceptOrgUserByEmailTokenAsync(Guid organizationUserId, User user, string emailToken,
|
public async Task<OrganizationUser> AcceptOrgUserByEmailTokenAsync(Guid organizationUserId, User user, string emailToken,
|
||||||
@@ -269,7 +269,7 @@ public class AcceptOrgUserCommand : IAcceptOrgUserCommand
|
|||||||
private async Task ValidateAutomaticUserConfirmationPolicyAsync(OrganizationUser orgUser,
|
private async Task ValidateAutomaticUserConfirmationPolicyAsync(OrganizationUser orgUser,
|
||||||
ICollection<OrganizationUser> allOrgUsers, User user)
|
ICollection<OrganizationUser> allOrgUsers, User user)
|
||||||
{
|
{
|
||||||
var error = (await _automaticUserConfirmationPolicyEnforcementQuery.IsCompliantAsync(
|
var error = (await _automaticUserConfirmationPolicyEnforcementValidator.IsCompliantAsync(
|
||||||
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, allOrgUsers, user)))
|
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, allOrgUsers, user)))
|
||||||
.Match(
|
.Match(
|
||||||
error => error.Message,
|
error => error.Message,
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class AutomaticallyConfirmOrganizationUsersValidator(
|
|||||||
IOrganizationUserRepository organizationUserRepository,
|
IOrganizationUserRepository organizationUserRepository,
|
||||||
ITwoFactorIsEnabledQuery twoFactorIsEnabledQuery,
|
ITwoFactorIsEnabledQuery twoFactorIsEnabledQuery,
|
||||||
IPolicyRequirementQuery policyRequirementQuery,
|
IPolicyRequirementQuery policyRequirementQuery,
|
||||||
IAutomaticUserConfirmationPolicyEnforcementQuery automaticUserConfirmationPolicyEnforcementQuery,
|
IAutomaticUserConfirmationPolicyEnforcementValidator automaticUserConfirmationPolicyEnforcementValidator,
|
||||||
IUserService userService,
|
IUserService userService,
|
||||||
IProviderUserRepository providerUserRepository,
|
IProviderUserRepository providerUserRepository,
|
||||||
IPolicyRepository policyRepository) : IAutomaticallyConfirmOrganizationUsersValidator
|
IPolicyRepository policyRepository) : IAutomaticallyConfirmOrganizationUsersValidator
|
||||||
@@ -112,7 +112,7 @@ public class AutomaticallyConfirmOrganizationUsersValidator(
|
|||||||
|
|
||||||
var user = await userService.GetUserByIdAsync(request.OrganizationUser!.UserId!.Value);
|
var user = await userService.GetUserByIdAsync(request.OrganizationUser!.UserId!.Value);
|
||||||
|
|
||||||
return (await automaticUserConfirmationPolicyEnforcementQuery.IsCompliantAsync(
|
return (await automaticUserConfirmationPolicyEnforcementValidator.IsCompliantAsync(
|
||||||
new AutomaticUserConfirmationPolicyEnforcementRequest(
|
new AutomaticUserConfirmationPolicyEnforcementRequest(
|
||||||
request.OrganizationUser,
|
request.OrganizationUser,
|
||||||
allOrganizationUsersForUser.Where(x => x.OrganizationId != request.OrganizationId),
|
allOrganizationUsersForUser.Where(x => x.OrganizationId != request.OrganizationId),
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public class ConfirmOrganizationUserCommand : IConfirmOrganizationUserCommand
|
|||||||
private readonly IPolicyRequirementQuery _policyRequirementQuery;
|
private readonly IPolicyRequirementQuery _policyRequirementQuery;
|
||||||
private readonly IFeatureService _featureService;
|
private readonly IFeatureService _featureService;
|
||||||
private readonly ICollectionRepository _collectionRepository;
|
private readonly ICollectionRepository _collectionRepository;
|
||||||
private readonly IAutomaticUserConfirmationPolicyEnforcementQuery _automaticUserConfirmationPolicyEnforcementQuery;
|
private readonly IAutomaticUserConfirmationPolicyEnforcementValidator _automaticUserConfirmationPolicyEnforcementValidator;
|
||||||
|
|
||||||
public ConfirmOrganizationUserCommand(
|
public ConfirmOrganizationUserCommand(
|
||||||
IOrganizationRepository organizationRepository,
|
IOrganizationRepository organizationRepository,
|
||||||
@@ -50,7 +50,7 @@ public class ConfirmOrganizationUserCommand : IConfirmOrganizationUserCommand
|
|||||||
IPolicyRequirementQuery policyRequirementQuery,
|
IPolicyRequirementQuery policyRequirementQuery,
|
||||||
IFeatureService featureService,
|
IFeatureService featureService,
|
||||||
ICollectionRepository collectionRepository,
|
ICollectionRepository collectionRepository,
|
||||||
IAutomaticUserConfirmationPolicyEnforcementQuery automaticUserConfirmationPolicyEnforcementQuery)
|
IAutomaticUserConfirmationPolicyEnforcementValidator automaticUserConfirmationPolicyEnforcementValidator)
|
||||||
{
|
{
|
||||||
_organizationRepository = organizationRepository;
|
_organizationRepository = organizationRepository;
|
||||||
_organizationUserRepository = organizationUserRepository;
|
_organizationUserRepository = organizationUserRepository;
|
||||||
@@ -65,7 +65,7 @@ public class ConfirmOrganizationUserCommand : IConfirmOrganizationUserCommand
|
|||||||
_policyRequirementQuery = policyRequirementQuery;
|
_policyRequirementQuery = policyRequirementQuery;
|
||||||
_featureService = featureService;
|
_featureService = featureService;
|
||||||
_collectionRepository = collectionRepository;
|
_collectionRepository = collectionRepository;
|
||||||
_automaticUserConfirmationPolicyEnforcementQuery = automaticUserConfirmationPolicyEnforcementQuery;
|
_automaticUserConfirmationPolicyEnforcementValidator = automaticUserConfirmationPolicyEnforcementValidator;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<OrganizationUser> ConfirmUserAsync(Guid organizationId, Guid organizationUserId, string key,
|
public async Task<OrganizationUser> ConfirmUserAsync(Guid organizationId, Guid organizationUserId, string key,
|
||||||
@@ -196,7 +196,7 @@ public class ConfirmOrganizationUserCommand : IConfirmOrganizationUserCommand
|
|||||||
|
|
||||||
if (_featureService.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers))
|
if (_featureService.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers))
|
||||||
{
|
{
|
||||||
var error = (await _automaticUserConfirmationPolicyEnforcementQuery.IsCompliantAsync(
|
var error = (await _automaticUserConfirmationPolicyEnforcementValidator.IsCompliantAsync(
|
||||||
new AutomaticUserConfirmationPolicyEnforcementRequest(
|
new AutomaticUserConfirmationPolicyEnforcementRequest(
|
||||||
userOrgs.First(x => x.OrganizationId == organizationId),
|
userOrgs.First(x => x.OrganizationId == organizationId),
|
||||||
userOrgs.Where(x => x.OrganizationId != organizationId),
|
userOrgs.Where(x => x.OrganizationId != organizationId),
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
namespace Bit.Core.AdminConsole.OrganizationFeatures.Policies.Enforcement.AutoConfirm;
|
namespace Bit.Core.AdminConsole.OrganizationFeatures.Policies.Enforcement.AutoConfirm;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Request object for <see cref="AutomaticUserConfirmationPolicyEnforcementQuery"/>
|
/// Request object for <see cref="AutomaticUserConfirmationPolicyEnforcementValidator"/>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public record AutomaticUserConfirmationPolicyEnforcementRequest
|
public record AutomaticUserConfirmationPolicyEnforcementRequest
|
||||||
{
|
{
|
||||||
@@ -22,7 +22,7 @@ public record AutomaticUserConfirmationPolicyEnforcementRequest
|
|||||||
public User User { get; }
|
public User User { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Request object for <see cref="AutomaticUserConfirmationPolicyEnforcementQuery"/>.
|
/// Request object for <see cref="AutomaticUserConfirmationPolicyEnforcementValidator"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// This record is used to encapsulate the data required for handling the automatic confirmation policy enforcement.
|
/// This record is used to encapsulate the data required for handling the automatic confirmation policy enforcement.
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ using static Bit.Core.AdminConsole.Utilities.v2.Validation.ValidationResultHelpe
|
|||||||
|
|
||||||
namespace Bit.Core.AdminConsole.OrganizationFeatures.Policies.Enforcement.AutoConfirm;
|
namespace Bit.Core.AdminConsole.OrganizationFeatures.Policies.Enforcement.AutoConfirm;
|
||||||
|
|
||||||
public class AutomaticUserConfirmationPolicyEnforcementQuery(
|
public class AutomaticUserConfirmationPolicyEnforcementValidator(
|
||||||
IPolicyRequirementQuery policyRequirementQuery)
|
IPolicyRequirementQuery policyRequirementQuery)
|
||||||
: IAutomaticUserConfirmationPolicyEnforcementQuery
|
: IAutomaticUserConfirmationPolicyEnforcementValidator
|
||||||
{
|
{
|
||||||
public async Task<ValidationResult<AutomaticUserConfirmationPolicyEnforcementRequest>> IsCompliantAsync(
|
public async Task<ValidationResult<AutomaticUserConfirmationPolicyEnforcementRequest>> IsCompliantAsync(
|
||||||
AutomaticUserConfirmationPolicyEnforcementRequest request)
|
AutomaticUserConfirmationPolicyEnforcementRequest request)
|
||||||
@@ -9,7 +9,7 @@ namespace Bit.Core.AdminConsole.OrganizationFeatures.Policies.Enforcement.AutoCo
|
|||||||
/// valid for the Automatic User Confirmation policy. It also validates that the given user is not a provider
|
/// valid for the Automatic User Confirmation policy. It also validates that the given user is not a provider
|
||||||
/// or a member of another organization regardless of status or type.
|
/// or a member of another organization regardless of status or type.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IAutomaticUserConfirmationPolicyEnforcementQuery
|
public interface IAutomaticUserConfirmationPolicyEnforcementValidator
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -25,7 +25,7 @@ public static class PolicyServiceCollectionExtensions
|
|||||||
services.AddPolicySideEffects();
|
services.AddPolicySideEffects();
|
||||||
services.AddPolicyUpdateEvents();
|
services.AddPolicyUpdateEvents();
|
||||||
|
|
||||||
services.AddScoped<IAutomaticUserConfirmationPolicyEnforcementQuery, AutomaticUserConfirmationPolicyEnforcementQuery>();
|
services.AddScoped<IAutomaticUserConfirmationPolicyEnforcementValidator, AutomaticUserConfirmationPolicyEnforcementValidator>();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Obsolete("Use AddPolicyUpdateEvents instead.")]
|
[Obsolete("Use AddPolicyUpdateEvents instead.")]
|
||||||
|
|||||||
@@ -693,7 +693,7 @@ public class AcceptOrgUserCommandTests
|
|||||||
// Assert
|
// Assert
|
||||||
AssertValidAcceptedOrgUser(resultOrgUser, orgUser, user);
|
AssertValidAcceptedOrgUser(resultOrgUser, orgUser, user);
|
||||||
|
|
||||||
await sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>().DidNotReceiveWithAnyArgs()
|
await sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>().DidNotReceiveWithAnyArgs()
|
||||||
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>());
|
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -707,7 +707,7 @@ public class AcceptOrgUserCommandTests
|
|||||||
SetupCommonAcceptOrgUserMocks(sutProvider, user, org, orgUser, adminUserDetails);
|
SetupCommonAcceptOrgUserMocks(sutProvider, user, org, orgUser, adminUserDetails);
|
||||||
|
|
||||||
// Mock auto-confirm enforcement query to return valid (no auto-confirm restrictions)
|
// Mock auto-confirm enforcement query to return valid (no auto-confirm restrictions)
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
||||||
.Returns(Valid(new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [], user)));
|
.Returns(Valid(new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [], user)));
|
||||||
|
|
||||||
@@ -735,7 +735,7 @@ public class AcceptOrgUserCommandTests
|
|||||||
.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers)
|
.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers)
|
||||||
.Returns(true);
|
.Returns(true);
|
||||||
|
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
||||||
.Returns(Invalid(
|
.Returns(Invalid(
|
||||||
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [otherOrgUser], user),
|
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [otherOrgUser], user),
|
||||||
@@ -835,7 +835,7 @@ public class AcceptOrgUserCommandTests
|
|||||||
// Auto-confirm enforcement query returns valid by default (no restrictions)
|
// Auto-confirm enforcement query returns valid by default (no restrictions)
|
||||||
var request = new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [], user);
|
var request = new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [], user);
|
||||||
|
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(request)
|
.IsCompliantAsync(request)
|
||||||
.Returns(Valid(request));
|
.Returns(Valid(request));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -459,7 +459,7 @@ public class AutomaticallyConfirmOrganizationUsersValidatorTests
|
|||||||
.GetAsync<SingleOrganizationPolicyRequirement>(userId)
|
.GetAsync<SingleOrganizationPolicyRequirement>(userId)
|
||||||
.Returns(new SingleOrganizationPolicyRequirement([singleOrgPolicyDetails]));
|
.Returns(new SingleOrganizationPolicyRequirement([singleOrgPolicyDetails]));
|
||||||
|
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
||||||
.Returns(Task.FromResult(
|
.Returns(Task.FromResult(
|
||||||
Invalid<AutomaticUserConfirmationPolicyEnforcementRequest>(
|
Invalid<AutomaticUserConfirmationPolicyEnforcementRequest>(
|
||||||
@@ -528,7 +528,7 @@ public class AutomaticallyConfirmOrganizationUsersValidatorTests
|
|||||||
.GetAsync<SingleOrganizationPolicyRequirement>(userId)
|
.GetAsync<SingleOrganizationPolicyRequirement>(userId)
|
||||||
.Returns(new SingleOrganizationPolicyRequirement([singleOrgPolicyDetails]));
|
.Returns(new SingleOrganizationPolicyRequirement([singleOrgPolicyDetails]));
|
||||||
|
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
||||||
.Returns(Task.FromResult(
|
.Returns(Task.FromResult(
|
||||||
Invalid<AutomaticUserConfirmationPolicyEnforcementRequest>(
|
Invalid<AutomaticUserConfirmationPolicyEnforcementRequest>(
|
||||||
@@ -635,7 +635,7 @@ public class AutomaticallyConfirmOrganizationUsersValidatorTests
|
|||||||
.GetAsync<SingleOrganizationPolicyRequirement>(userId)
|
.GetAsync<SingleOrganizationPolicyRequirement>(userId)
|
||||||
.Returns(new SingleOrganizationPolicyRequirement([]));
|
.Returns(new SingleOrganizationPolicyRequirement([]));
|
||||||
|
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
||||||
.Returns(Task.FromResult(
|
.Returns(Task.FromResult(
|
||||||
Valid<AutomaticUserConfirmationPolicyEnforcementRequest>(null!)));
|
Valid<AutomaticUserConfirmationPolicyEnforcementRequest>(null!)));
|
||||||
|
|||||||
@@ -587,7 +587,7 @@ public class ConfirmOrganizationUserCommandTests
|
|||||||
.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers)
|
.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers)
|
||||||
.Returns(true);
|
.Returns(true);
|
||||||
|
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
||||||
.Returns(Invalid(
|
.Returns(Invalid(
|
||||||
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [otherOrgUser], user),
|
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [otherOrgUser], user),
|
||||||
@@ -624,7 +624,7 @@ public class ConfirmOrganizationUserCommandTests
|
|||||||
.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers)
|
.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers)
|
||||||
.Returns(true);
|
.Returns(true);
|
||||||
|
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
||||||
.Returns(Invalid(
|
.Returns(Invalid(
|
||||||
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [otherOrgUser], user),
|
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [otherOrgUser], user),
|
||||||
@@ -660,7 +660,7 @@ public class ConfirmOrganizationUserCommandTests
|
|||||||
.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers)
|
.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers)
|
||||||
.Returns(true);
|
.Returns(true);
|
||||||
|
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
||||||
.Returns(Invalid(
|
.Returns(Invalid(
|
||||||
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [], user),
|
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [], user),
|
||||||
@@ -696,7 +696,7 @@ public class ConfirmOrganizationUserCommandTests
|
|||||||
.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers)
|
.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers)
|
||||||
.Returns(true);
|
.Returns(true);
|
||||||
|
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
||||||
.Returns(Valid(new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [], user)));
|
.Returns(Valid(new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [], user)));
|
||||||
|
|
||||||
@@ -742,7 +742,7 @@ public class ConfirmOrganizationUserCommandTests
|
|||||||
.GetPoliciesApplicableToUserAsync(user.Id, PolicyType.SingleOrg)
|
.GetPoliciesApplicableToUserAsync(user.Id, PolicyType.SingleOrg)
|
||||||
.Returns([singleOrgPolicy]);
|
.Returns([singleOrgPolicy]);
|
||||||
|
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
.IsCompliantAsync(Arg.Any<AutomaticUserConfirmationPolicyEnforcementRequest>())
|
||||||
.Returns(Invalid(
|
.Returns(Invalid(
|
||||||
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [otherOrgUser], user),
|
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser, [otherOrgUser], user),
|
||||||
@@ -789,15 +789,15 @@ public class ConfirmOrganizationUserCommandTests
|
|||||||
.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers)
|
.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers)
|
||||||
.Returns(true);
|
.Returns(true);
|
||||||
|
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(Arg.Is<AutomaticUserConfirmationPolicyEnforcementRequest>(r => r.User.Id == user1.Id))
|
.IsCompliantAsync(Arg.Is<AutomaticUserConfirmationPolicyEnforcementRequest>(r => r.User.Id == user1.Id))
|
||||||
.Returns(Valid(new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser1, [], user1)));
|
.Returns(Valid(new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser1, [], user1)));
|
||||||
|
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(Arg.Is<AutomaticUserConfirmationPolicyEnforcementRequest>(r => r.User.Id == user2.Id))
|
.IsCompliantAsync(Arg.Is<AutomaticUserConfirmationPolicyEnforcementRequest>(r => r.User.Id == user2.Id))
|
||||||
.Returns(Valid(new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser2, [], user2)));
|
.Returns(Valid(new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser2, [], user2)));
|
||||||
|
|
||||||
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementQuery>()
|
sutProvider.GetDependency<IAutomaticUserConfirmationPolicyEnforcementValidator>()
|
||||||
.IsCompliantAsync(Arg.Is<AutomaticUserConfirmationPolicyEnforcementRequest>(r => r.User.Id == user3.Id))
|
.IsCompliantAsync(Arg.Is<AutomaticUserConfirmationPolicyEnforcementRequest>(r => r.User.Id == user3.Id))
|
||||||
.Returns(Invalid(
|
.Returns(Invalid(
|
||||||
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser3, [otherOrgUser], user3),
|
new AutomaticUserConfirmationPolicyEnforcementRequest(orgUser3, [otherOrgUser], user3),
|
||||||
|
|||||||
@@ -15,12 +15,12 @@ using Xunit;
|
|||||||
namespace Bit.Core.Test.AdminConsole.OrganizationFeatures.Policies.Enforcement.AutoConfirm;
|
namespace Bit.Core.Test.AdminConsole.OrganizationFeatures.Policies.Enforcement.AutoConfirm;
|
||||||
|
|
||||||
[SutProviderCustomize]
|
[SutProviderCustomize]
|
||||||
public class AutomaticUserConfirmationPolicyEnforcementQueryTests
|
public class AutomaticUserConfirmationPolicyEnforcementValidatorTests
|
||||||
{
|
{
|
||||||
[Theory]
|
[Theory]
|
||||||
[BitAutoData]
|
[BitAutoData]
|
||||||
public async Task IsCompliantAsync_WithNoOtherOrganizations_ReturnsValid(
|
public async Task IsCompliantAsync_WithNoOtherOrganizations_ReturnsValid(
|
||||||
SutProvider<AutomaticUserConfirmationPolicyEnforcementQuery> sutProvider,
|
SutProvider<AutomaticUserConfirmationPolicyEnforcementValidator> sutProvider,
|
||||||
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
||||||
User user)
|
User user)
|
||||||
{
|
{
|
||||||
@@ -44,7 +44,7 @@ public class AutomaticUserConfirmationPolicyEnforcementQueryTests
|
|||||||
[Theory]
|
[Theory]
|
||||||
[BitAutoData]
|
[BitAutoData]
|
||||||
public async Task IsCompliantAsync_WithPolicyEnabledOnSameOrganizationButNoOtherOrgs_ReturnsValid(
|
public async Task IsCompliantAsync_WithPolicyEnabledOnSameOrganizationButNoOtherOrgs_ReturnsValid(
|
||||||
SutProvider<AutomaticUserConfirmationPolicyEnforcementQuery> sutProvider,
|
SutProvider<AutomaticUserConfirmationPolicyEnforcementValidator> sutProvider,
|
||||||
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
||||||
User user)
|
User user)
|
||||||
{
|
{
|
||||||
@@ -75,7 +75,7 @@ public class AutomaticUserConfirmationPolicyEnforcementQueryTests
|
|||||||
[Theory]
|
[Theory]
|
||||||
[BitAutoData]
|
[BitAutoData]
|
||||||
public async Task IsCompliantAsync_WithPolicyEnabledOnSameOrgAndUserHasOtherOrgs_ReturnsOrganizationEnforcesSingleOrgPolicyError(
|
public async Task IsCompliantAsync_WithPolicyEnabledOnSameOrgAndUserHasOtherOrgs_ReturnsOrganizationEnforcesSingleOrgPolicyError(
|
||||||
SutProvider<AutomaticUserConfirmationPolicyEnforcementQuery> sutProvider,
|
SutProvider<AutomaticUserConfirmationPolicyEnforcementValidator> sutProvider,
|
||||||
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
||||||
OrganizationUser otherOrgUser,
|
OrganizationUser otherOrgUser,
|
||||||
User user)
|
User user)
|
||||||
@@ -108,7 +108,7 @@ public class AutomaticUserConfirmationPolicyEnforcementQueryTests
|
|||||||
[Theory]
|
[Theory]
|
||||||
[BitAutoData]
|
[BitAutoData]
|
||||||
public async Task IsCompliantAsync_WithUserIsProvider_ReturnsProviderUsersCannotJoinError(
|
public async Task IsCompliantAsync_WithUserIsProvider_ReturnsProviderUsersCannotJoinError(
|
||||||
SutProvider<AutomaticUserConfirmationPolicyEnforcementQuery> sutProvider,
|
SutProvider<AutomaticUserConfirmationPolicyEnforcementValidator> sutProvider,
|
||||||
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
||||||
User user)
|
User user)
|
||||||
{
|
{
|
||||||
@@ -140,7 +140,7 @@ public class AutomaticUserConfirmationPolicyEnforcementQueryTests
|
|||||||
[Theory]
|
[Theory]
|
||||||
[BitAutoData]
|
[BitAutoData]
|
||||||
public async Task IsCompliantAsync_WithPolicyEnabledOnOtherOrganization_ReturnsOtherOrganizationEnforcesSingleOrgPolicyError(
|
public async Task IsCompliantAsync_WithPolicyEnabledOnOtherOrganization_ReturnsOtherOrganizationEnforcesSingleOrgPolicyError(
|
||||||
SutProvider<AutomaticUserConfirmationPolicyEnforcementQuery> sutProvider,
|
SutProvider<AutomaticUserConfirmationPolicyEnforcementValidator> sutProvider,
|
||||||
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
||||||
User user)
|
User user)
|
||||||
{
|
{
|
||||||
@@ -173,7 +173,7 @@ public class AutomaticUserConfirmationPolicyEnforcementQueryTests
|
|||||||
[Theory]
|
[Theory]
|
||||||
[BitAutoData]
|
[BitAutoData]
|
||||||
public async Task IsCompliantAsync_WithOtherOrganizationsButNoPolicyEnabled_ReturnsValid(
|
public async Task IsCompliantAsync_WithOtherOrganizationsButNoPolicyEnabled_ReturnsValid(
|
||||||
SutProvider<AutomaticUserConfirmationPolicyEnforcementQuery> sutProvider,
|
SutProvider<AutomaticUserConfirmationPolicyEnforcementValidator> sutProvider,
|
||||||
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
||||||
OrganizationUser otherOrgUser,
|
OrganizationUser otherOrgUser,
|
||||||
User user)
|
User user)
|
||||||
@@ -199,7 +199,7 @@ public class AutomaticUserConfirmationPolicyEnforcementQueryTests
|
|||||||
[Theory]
|
[Theory]
|
||||||
[BitAutoData]
|
[BitAutoData]
|
||||||
public async Task IsCompliantAsync_WithEmptyOtherOrganizationsAndSingleOrg_ReturnsValid(
|
public async Task IsCompliantAsync_WithEmptyOtherOrganizationsAndSingleOrg_ReturnsValid(
|
||||||
SutProvider<AutomaticUserConfirmationPolicyEnforcementQuery> sutProvider,
|
SutProvider<AutomaticUserConfirmationPolicyEnforcementValidator> sutProvider,
|
||||||
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
||||||
User user)
|
User user)
|
||||||
{
|
{
|
||||||
@@ -224,7 +224,7 @@ public class AutomaticUserConfirmationPolicyEnforcementQueryTests
|
|||||||
[Theory]
|
[Theory]
|
||||||
[BitAutoData]
|
[BitAutoData]
|
||||||
public async Task IsCompliantAsync_ChecksConditionsInCorrectOrder_ReturnsFirstFailure(
|
public async Task IsCompliantAsync_ChecksConditionsInCorrectOrder_ReturnsFirstFailure(
|
||||||
SutProvider<AutomaticUserConfirmationPolicyEnforcementQuery> sutProvider,
|
SutProvider<AutomaticUserConfirmationPolicyEnforcementValidator> sutProvider,
|
||||||
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
||||||
OrganizationUser otherOrgUser,
|
OrganizationUser otherOrgUser,
|
||||||
User user)
|
User user)
|
||||||
@@ -257,7 +257,7 @@ public class AutomaticUserConfirmationPolicyEnforcementQueryTests
|
|||||||
[Theory]
|
[Theory]
|
||||||
[BitAutoData]
|
[BitAutoData]
|
||||||
public async Task IsCompliantAsync_WithNullOtherOrganizations_ReturnsValidWhenNoOtherOrgs(
|
public async Task IsCompliantAsync_WithNullOtherOrganizations_ReturnsValidWhenNoOtherOrgs(
|
||||||
SutProvider<AutomaticUserConfirmationPolicyEnforcementQuery> sutProvider,
|
SutProvider<AutomaticUserConfirmationPolicyEnforcementValidator> sutProvider,
|
||||||
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
[OrganizationUser(OrganizationUserStatusType.Accepted)] OrganizationUser organizationUser,
|
||||||
User user)
|
User user)
|
||||||
{
|
{
|
||||||
Reference in New Issue
Block a user