本文整理汇总了C#中RhetosTestContainer.AddFakeUser方法的典型用法代码示例。如果您正苦于以下问题:C# RhetosTestContainer.AddFakeUser方法的具体用法?C# RhetosTestContainer.AddFakeUser怎么用?C# RhetosTestContainer.AddFakeUser使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RhetosTestContainer
的用法示例。
在下文中一共展示了RhetosTestContainer.AddFakeUser方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestPermissionsCachingOnChange
public void TestPermissionsCachingOnChange(Action<Common.ExecutionContext> change, bool[] expectedPermissionsAfterChange, string expectedCacheMisses)
{
using (var container = new RhetosTestContainer(commitChanges: false))
{
var log = new List<string>();
container.AddLogMonitor(log);
container.AddFakeUser(User1Name);
var repository = container.Resolve<Common.DomRepository>();
var context = container.Resolve<Common.ExecutionContext>();
var authorizationManager = container.Resolve<IAuthorizationManager>();
AuthorizationDataCache.ClearCache();
// Get user authorization:
Assert.AreEqual(TestUtility.Dump(new[] { true, true, false }),
TestUtility.Dump(authorizationManager.GetAuthorizations(new[] { Claim1, Claim2, Claim3 })));
Assert.AreEqual("Claims, Principal, PrincipalPermissions, PrincipalRoles, RolePermissions, RolePermissions, RoleRoles, RoleRoles, Roles",
ReportCacheMisses(log, "Initial authorization"), "Initial permission should yield cache misses. See test output log for details.");
// Modify the permissions. Part of the cache might be invalidated:
change(context);
// Get user authorization, with parially invalidated cache:
Assert.AreEqual(TestUtility.Dump(expectedPermissionsAfterChange),
TestUtility.Dump(authorizationManager.GetAuthorizations(new[] { Claim1, Claim2, Claim3 })));
Assert.AreEqual(expectedCacheMisses, ReportCacheMisses(log, "Authorization after cache invalidation"), "See test output log for details.");
}
}