public void Test_InvalidateEntries_AccessRule() { AccessRule accessRule; Subject subject; ICache <SubjectPermissionTypesTuple, IEnumerable <AccessRuleQuery> > dictionaryCache; SecurityQueryCacheInvalidator securityQueryCacheInvalidator; subject = new Subject(); subject.Save(); accessRule = new AccessRule(); accessRule.AllowAccessBy = subject; accessRule.Save(); dictionaryCache = new DictionaryCache <SubjectPermissionTypesTuple, IEnumerable <AccessRuleQuery> > { { new SubjectPermissionTypesTuple(subject.Id, 2, new long[0]), new AccessRuleQuery[0] }, { new SubjectPermissionTypesTuple(subject.Id, 3, new long[0]), new AccessRuleQuery[0] }, { new SubjectPermissionTypesTuple(subject.Id + 1, 3, new long[0]), new AccessRuleQuery[0] }, { new SubjectPermissionTypesTuple(subject.Id + 2, 3, new long[0]), new AccessRuleQuery[0] } }; securityQueryCacheInvalidator = new SecurityQueryCacheInvalidator(dictionaryCache); securityQueryCacheInvalidator.InvalidateCacheEntries(new [] { new SubjectPermissionTypesTuple(subject.Id, 2, new long[0]), new SubjectPermissionTypesTuple(subject.Id, 3, new long[0]), }, () => "test"); Assert.That(dictionaryCache, Has.None.Property("Key").Property("SubjectId").EqualTo(subject.Id)); }
public void Test_Ctor() { ICache <SubjectPermissionTypesTuple, IEnumerable <AccessRuleQuery> > cache; SecurityQueryCacheInvalidator securityQueryCacheInvalidator; cache = new DictionaryCache <SubjectPermissionTypesTuple, IEnumerable <AccessRuleQuery> >( ); securityQueryCacheInvalidator = new SecurityQueryCacheInvalidator(cache); Assert.That(securityQueryCacheInvalidator, Has.Property("Cache").EqualTo(cache)); }