में अनधिकृत करने के लिए Thread.CurrentPrincipal को रीसेट करने के लिए कैसे करें मेरे पास लाइब्रेरी कोड है जिसे एकाधिक क्लाइंट प्रकारों जैसे WinForms, Console, ASP.NET आदि से बुलाया जा सकता है ... और जिसे वर्तमान प्रिंसिपल को निर्धारित करने की आवश्यकता है।यूनिट टेस्ट
var currentUser = !System.Threading.Thread.CurrentPrincipal.Identity.IsAuthenticated ? null : System.Threading.Thread.CurrentPrincipal.Identity.Name;
if (string.IsNullOrWhiteSpace(currentUser))
{
currentUser = Environment.UserName;
}
एक कंसोल अनुप्रयोग Thread.CurrentPrincipal.Identity.IsAuthenticated में हमेशा गलत howerver MSTest में यह हमेशा एक है: इस प्रकार है ऐसा करने में मैं Thread.CurrentPrincipal की एक दो चरणों की जांच और उसके बाद Environment.UserName प्रदर्शन कर रहा हूँ मान्य प्रमाणीकृत उपयोगकर्ता।
क्या कंसोल ऐप की नकल करने के लिए अनधिकृत करने के लिए इकाई परीक्षण में थ्रेड.क्यूरेंट प्रिंसिपल के मान को रीसेट करने के लिए वैसे भी है?