| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | 
							- using System.Collections.Generic;
 
- using System.Threading.Tasks;
 
- using AutoFixture;
 
- using AutoFixture.AutoMoq;
 
- using Jellyfin.Api.Auth.FirstTimeSetupOrElevatedPolicy;
 
- using Jellyfin.Api.Constants;
 
- using MediaBrowser.Common.Configuration;
 
- using MediaBrowser.Controller.Library;
 
- using Microsoft.AspNetCore.Authorization;
 
- using Microsoft.AspNetCore.Http;
 
- using Moq;
 
- using Xunit;
 
- namespace Jellyfin.Api.Tests.Auth.FirstTimeSetupOrElevatedPolicy
 
- {
 
-     public class FirstTimeSetupOrElevatedHandlerTests
 
-     {
 
-         private readonly Mock<IConfigurationManager> _configurationManagerMock;
 
-         private readonly List<IAuthorizationRequirement> _requirements;
 
-         private readonly FirstTimeSetupOrElevatedHandler _sut;
 
-         private readonly Mock<IUserManager> _userManagerMock;
 
-         private readonly Mock<IHttpContextAccessor> _httpContextAccessor;
 
-         public FirstTimeSetupOrElevatedHandlerTests()
 
-         {
 
-             var fixture = new Fixture().Customize(new AutoMoqCustomization());
 
-             _configurationManagerMock = fixture.Freeze<Mock<IConfigurationManager>>();
 
-             _requirements = new List<IAuthorizationRequirement> { new FirstTimeSetupOrElevatedRequirement() };
 
-             _userManagerMock = fixture.Freeze<Mock<IUserManager>>();
 
-             _httpContextAccessor = fixture.Freeze<Mock<IHttpContextAccessor>>();
 
-             _sut = fixture.Create<FirstTimeSetupOrElevatedHandler>();
 
-         }
 
-         [Theory]
 
-         [InlineData(UserRoles.Administrator)]
 
-         [InlineData(UserRoles.Guest)]
 
-         [InlineData(UserRoles.User)]
 
-         public async Task ShouldSucceedIfStartupWizardIncomplete(string userRole)
 
-         {
 
-             TestHelpers.SetupConfigurationManager(_configurationManagerMock, false);
 
-             var claims = TestHelpers.SetupUser(
 
-                 _userManagerMock,
 
-                 _httpContextAccessor,
 
-                 userRole);
 
-             var context = new AuthorizationHandlerContext(_requirements, claims, null);
 
-             await _sut.HandleAsync(context);
 
-             Assert.True(context.HasSucceeded);
 
-         }
 
-         [Theory]
 
-         [InlineData(UserRoles.Administrator, true)]
 
-         [InlineData(UserRoles.Guest, false)]
 
-         [InlineData(UserRoles.User, false)]
 
-         public async Task ShouldRequireAdministratorIfStartupWizardComplete(string userRole, bool shouldSucceed)
 
-         {
 
-             TestHelpers.SetupConfigurationManager(_configurationManagerMock, true);
 
-             var claims = TestHelpers.SetupUser(
 
-                 _userManagerMock,
 
-                 _httpContextAccessor,
 
-                 userRole);
 
-             var context = new AuthorizationHandlerContext(_requirements, claims, null);
 
-             await _sut.HandleAsync(context);
 
-             Assert.Equal(shouldSucceed, context.HasSucceeded);
 
-         }
 
-     }
 
- }
 
 
  |