mirror of
https://github.com/bitwarden/server.git
synced 2026-06-01 12:26:46 -05:00
* Remove deprecated ISavePolicyCommand interface and SavePolicyCommand implementation along with associated tests * Refactor policy validation: remove IPolicyValidator interface and related implementations. Update PolicyServiceCollectionExtensions to eliminate deprecated methods. Adjust policy validator classes to remove IPolicyValidator dependency and streamline validation methods. * Remove IPostSavePolicySideEffect interface and its implementation from the policy validation framework. * Rename VNextSavePolicyCommand to SavePolicyCommand * Continue renaming VNextSavePolicyCommand * Refactor policy validation tests to use SavePolicyModel in ValidateAsync and side effect methods * Refactor policy validators to directly use PolicyUpdate from SavePolicyModel in validation and side effect methods, improving code clarity and reducing method complexity. * Rename test methods in PoliciesControllerTests and VerifyOrganizationDomainCommandTests to better reflect their functionality, enhancing clarity and consistency across the test suite. * Refactor OrganizationUserNotificationPolicyValidator by removing unused methods and simplifying the implementation. Update corresponding tests to reflect these changes. * Remove unnecessary nullable enable directives from policy validator files and update using statements for consistency. * Rename policy validators to handlers * dotnet format
50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
using Bit.Api.AdminConsole.Public.Controllers;
|
|
using Bit.Api.AdminConsole.Public.Models.Request;
|
|
using Bit.Core.AdminConsole.Entities;
|
|
using Bit.Core.AdminConsole.Enums;
|
|
using Bit.Core.AdminConsole.Models.Data;
|
|
using Bit.Core.AdminConsole.OrganizationFeatures.Policies;
|
|
using Bit.Core.AdminConsole.OrganizationFeatures.Policies.Models;
|
|
using Bit.Core.Context;
|
|
using Bit.Test.Common.AutoFixture;
|
|
using Bit.Test.Common.AutoFixture.Attributes;
|
|
using NSubstitute;
|
|
using Xunit;
|
|
|
|
namespace Bit.Api.Test.AdminConsole.Public.Controllers;
|
|
|
|
[ControllerCustomize(typeof(PoliciesController))]
|
|
[SutProviderCustomize]
|
|
public class PoliciesControllerTests
|
|
{
|
|
[Theory]
|
|
[BitAutoData]
|
|
public async Task Put_SavesPolicyWithCorrectArguments(
|
|
Guid organizationId,
|
|
PolicyType policyType,
|
|
PolicyUpdateRequestModel model,
|
|
Policy policy,
|
|
SutProvider<PoliciesController> sutProvider)
|
|
{
|
|
// Arrange
|
|
policy.Data = null;
|
|
sutProvider.GetDependency<ICurrentContext>()
|
|
.OrganizationId.Returns(organizationId);
|
|
sutProvider.GetDependency<ISavePolicyCommand>()
|
|
.SaveAsync(Arg.Any<SavePolicyModel>())
|
|
.Returns(policy);
|
|
|
|
// Act
|
|
await sutProvider.Sut.Put(policyType, model);
|
|
|
|
// Assert
|
|
await sutProvider.GetDependency<ISavePolicyCommand>()
|
|
.Received(1)
|
|
.SaveAsync(Arg.Is<SavePolicyModel>(m =>
|
|
m.PolicyUpdate.OrganizationId == organizationId &&
|
|
m.PolicyUpdate.Type == policyType &&
|
|
m.PolicyUpdate.Enabled == model.Enabled.GetValueOrDefault() &&
|
|
m.PerformedBy is SystemUser));
|
|
}
|
|
}
|