Ho un codice libreria che può essere chiamato da più tipi di client come WinForms, Console, ASP.NET ecc ... e che ha bisogno di determinare il principale corrente. In questo modo mi sto eseguendo un controllo in due fasi di Thread.CurrentPrincipal e poi Environment.UserName come segue:Come resettare Thread.CurrentPrincipal a non autenticato in un Test unitario
var currentUser = !System.Threading.Thread.CurrentPrincipal.Identity.IsAuthenticated ? null : System.Threading.Thread.CurrentPrincipal.Identity.Name;
if (string.IsNullOrWhiteSpace(currentUser))
{
currentUser = Environment.UserName;
}
in una console app Thread.CurrentPrincipal.Identity.IsAuthenticated è sempre falso howerver in MSTest ha sempre un utente autenticato valido.
Esiste comunque la possibilità di reimpostare il valore di Thread.CurrentPrincipal nel test dell'unità su non autenticato per simulare l'app della console?