You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.3 KiB
64 lines
2.3 KiB
using Bit.Api.AdminConsole.Controllers; |
|
using Bit.Api.AdminConsole.Models.Request; |
|
using Bit.Core.Context; |
|
using Bit.Test.Common.AutoFixture; |
|
using Bit.Test.Common.AutoFixture.Attributes; |
|
using NSubstitute; |
|
using Xunit; |
|
|
|
namespace Bit.Api.Test.AdminConsole.Controllers; |
|
|
|
[ControllerCustomize(typeof(OrganizationAuthRequestsController))] |
|
[SutProviderCustomize] |
|
public class OrganizationAuthRequestsControllerTests |
|
{ |
|
|
|
[Theory] |
|
[BitAutoData] |
|
public async Task ValidateAdminRequest_UserDoesNotHaveManageResetPasswordPermissions_ThrowsUnauthorized( |
|
SutProvider<OrganizationAuthRequestsController> sutProvider, |
|
Guid organizationId |
|
) |
|
{ |
|
sutProvider.GetDependency<ICurrentContext>().ManageResetPassword(organizationId).Returns(false); |
|
|
|
await Assert.ThrowsAsync<UnauthorizedAccessException>(() => |
|
sutProvider.Sut.ValidateAdminRequest(organizationId)); |
|
} |
|
|
|
[Theory] |
|
[BitAutoData] |
|
public async Task ValidateAdminRequest_UserHasManageResetPasswordPermissions_DoesNotThrow( |
|
SutProvider<OrganizationAuthRequestsController> sutProvider, |
|
Guid organizationId |
|
) |
|
{ |
|
sutProvider.GetDependency<ICurrentContext>().ManageResetPassword(organizationId).Returns(true); |
|
await sutProvider.Sut.ValidateAdminRequest(organizationId); |
|
} |
|
|
|
[Theory] |
|
[BitAutoData] |
|
public async Task UpdateManyAuthRequests_ValidInput_DoesNotThrow( |
|
SutProvider<OrganizationAuthRequestsController> sutProvider, |
|
IEnumerable<OrganizationAuthRequestUpdateManyRequestModel> request, |
|
Guid organizationId |
|
) |
|
{ |
|
sutProvider.GetDependency<ICurrentContext>().ManageResetPassword(organizationId).Returns(true); |
|
await sutProvider.Sut.UpdateManyAuthRequests(organizationId, request); |
|
} |
|
|
|
[Theory] |
|
[BitAutoData] |
|
public async Task UpdateManyAuthRequests_NotPermissioned_ThrowsUnauthorized( |
|
SutProvider<OrganizationAuthRequestsController> sutProvider, |
|
IEnumerable<OrganizationAuthRequestUpdateManyRequestModel> request, |
|
Guid organizationId |
|
) |
|
{ |
|
sutProvider.GetDependency<ICurrentContext>().ManageResetPassword(organizationId).Returns(false); |
|
await Assert.ThrowsAsync<UnauthorizedAccessException>(() => |
|
sutProvider.Sut.UpdateManyAuthRequests(organizationId, request)); |
|
} |
|
}
|
|
|