Example #1
0
 public void GetBlockedNavigationReferenceMembersOnWrite()
 {
     CreateThreeObjects();
     using (DbContextSecurityObject dbContextConnectionClass = new DbContextSecurityObject()) {
         var Person = dbContextConnectionClass.SecurityPerson.First(p => p.Name == "1");
         Assert.IsEmpty(Person.BlockedMembers);
         Assert.IsEmpty(Person.ReadOnlyMembers);
         Assert.IsEmpty(Person.ReadOnlyMembersOnLoad);
     }
     using (DbContextSecurityObject context = new DbContextSecurityObject()) {
         context.PermissionsContainer.AddMemberPermission <DbContextSecurityObject, SecurityPerson>(
             SecurityOperation.Write, OperationState.Deny, "SecurityCompany", (s, t) => t.Name == "1");
         var Person = context.SecurityPerson.First(p => p.Name == "1");
         Assert.IsEmpty(Person.BlockedMembers);
         Assert.IsEmpty(Person.ReadOnlyMembers);
         Assert.AreEqual("SecurityCompany", Person.ReadOnlyMembersOnLoad);
     }
 }
Example #2
0
 public void GetBlockedStaticNavigationCollectionMembersOnWrite()
 {
     CreateThreeObjects();
     using (DbContextSecurityObject dbContextConnectionClass = new DbContextSecurityObject()) {
         var Company = dbContextConnectionClass.SecurityCompany.First();
         Assert.IsEmpty(Company.BlockedMembers);
         Assert.IsEmpty(Company.ReadOnlyMembers);
         Assert.IsEmpty(Company.ReadOnlyMembersOnLoad);
     }
     using (DbContextSecurityObject context = new DbContextSecurityObject()) {
         context.PermissionsContainer.AddMemberPermission <DbContextSecurityObject, SecurityCompany>(
             SecurityOperation.Write, OperationState.Deny, "CollectionSecurityPerson", (s, t) => true);
         var Company = context.SecurityCompany.Include(p => p.CollectionSecurityPerson).First();
         Assert.IsEmpty(Company.BlockedMembers);
         Assert.AreEqual(Company.CollectionSecurityPerson.Count, 3);
         Assert.AreEqual("CollectionSecurityPerson", Company.ReadOnlyMembers);
         Assert.AreEqual("CollectionSecurityPerson", Company.ReadOnlyMembersOnLoad);
     }
 }
Example #3
0
 public void GetBlockedMembersOnWrite()
 {
     CreateThreeObjects();
     using (DbContextSecurityObject dbContextConnectionClass = new DbContextSecurityObject()) {
         var Company = dbContextConnectionClass.SecurityCompany.First();
         Assert.IsEmpty(Company.BlockedMembers);
         Assert.IsEmpty(Company.ReadOnlyMembers);
         Assert.IsEmpty(Company.ReadOnlyMembersOnLoad);
     }
     using (DbContextSecurityObject context = new DbContextSecurityObject()) {
         context.PermissionsContainer.AddMemberPermission <DbContextSecurityObject, SecurityCompany>(
             SecurityOperation.Write, OperationState.Deny, "Name", (s, t) => true);
         context.PermissionsContainer.AddMemberPermission <DbContextSecurityObject, SecurityCompany>(
             SecurityOperation.Write, OperationState.Deny, "Description", (s, t) => t.Description == "1");
         var Company = context.SecurityCompany.First();
         Assert.IsEmpty(Company.BlockedMembers);
         Assert.AreEqual("Name", Company.ReadOnlyMembers);
         Assert.AreEqual("Description;Name", Company.ReadOnlyMembersOnLoad);
     }
 }
Example #4
0
 private void CreateThreeObjects()
 {
     using (DbContextSecurityObject dbContextConnectionClass = new DbContextSecurityObject()) {
         dbContextConnectionClass.ResetDatabase();
         SecurityCompany company = new SecurityCompany();
         company.Name        = "1";
         company.Description = "1";
         dbContextConnectionClass.Add(company);
         for (int i = 1; i < 4; i++)
         {
             string         indexString = i.ToString();
             SecurityPerson person      = new SecurityPerson();
             person.Name            = indexString;
             person.Description     = indexString;
             person.SecurityCompany = company;
             dbContextConnectionClass.Add(person);
         }
         dbContextConnectionClass.SaveChanges();
     }
 }
Example #5
0
 public void ClearDatabase()
 {
     using (DbContextSecurityObject context = new DbContextSecurityObject()) {
         context.ResetDatabase();
     }
 }