Don't disable user registrations if debug for unit tests.

This commit is contained in:
Aaron Clauson
2019-01-06 14:55:18 +01:00
parent d88735f84e
commit 5dc1da2af0

View File

@@ -5,6 +5,7 @@ using System.Security.Claims;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.AspNetCore.Mvc.Rendering;
@@ -32,6 +33,7 @@ namespace BTCPayServer.Controllers
StoreRepository storeRepository; StoreRepository storeRepository;
RoleManager<IdentityRole> _RoleManager; RoleManager<IdentityRole> _RoleManager;
SettingsRepository _SettingsRepository; SettingsRepository _SettingsRepository;
BTCPayServerEnvironment _btcPayServerEnvironment;
ILogger _logger; ILogger _logger;
public AccountController( public AccountController(
@@ -40,7 +42,8 @@ namespace BTCPayServer.Controllers
StoreRepository storeRepository, StoreRepository storeRepository,
SignInManager<ApplicationUser> signInManager, SignInManager<ApplicationUser> signInManager,
IEmailSender emailSender, IEmailSender emailSender,
SettingsRepository settingsRepository) SettingsRepository settingsRepository,
BTCPayServerEnvironment btcPayServerEnvironment)
{ {
this.storeRepository = storeRepository; this.storeRepository = storeRepository;
_userManager = userManager; _userManager = userManager;
@@ -48,6 +51,7 @@ namespace BTCPayServer.Controllers
_emailSender = emailSender; _emailSender = emailSender;
_RoleManager = roleManager; _RoleManager = roleManager;
_SettingsRepository = settingsRepository; _SettingsRepository = settingsRepository;
_btcPayServerEnvironment = btcPayServerEnvironment;
_logger = Logs.PayServer; _logger = Logs.PayServer;
} }
@@ -272,9 +276,12 @@ namespace BTCPayServer.Controllers
await _RoleManager.CreateAsync(new IdentityRole(Roles.ServerAdmin)); await _RoleManager.CreateAsync(new IdentityRole(Roles.ServerAdmin));
await _userManager.AddToRoleAsync(user, Roles.ServerAdmin); await _userManager.AddToRoleAsync(user, Roles.ServerAdmin);
// Once the admin user has been created lock subsequent user registrations until explicitly enabled. if(!_btcPayServerEnvironment.Environment.IsDevelopment())
policies.LockSubscription = true; {
await _SettingsRepository.UpdateSetting(policies); // Once the admin user has been created lock subsequent user registrations until explicitly enabled except for dev builds as unit tests require multiple users.
policies.LockSubscription = true;
await _SettingsRepository.UpdateSetting(policies);
}
} }
var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);