Beispiel #1
0
        public void GivenAUserAccessChangeEvent_WhenRemove_ThenThrowException()
        {
            var item = new UserAccessChangeEvent {
                Id = 1
            };

            Target.ExpectException <NotSupportedException>(() => Target.Remove(item));
        }
        public void GivenUser_AndRequestor_WhenCreateAccessChangeEvent_ThenEventCreateTimeSet()
        {
            User user      = new User();
            User requestor = new User();

            UserAccessChangeEvent actual = Target.CreateAccessChangeEvent(user, requestor);

            Assert.IsTrue(DateTime.Now.WithinTimeSpanOf(TimeSpan.FromSeconds(1), actual.CreateTime));
        }
        public void GivenUser_AndRequestor_WhenCreateAccessChangeEvent_ThenReturnInstance()
        {
            User user      = new User();
            User requestor = new User();

            UserAccessChangeEvent actual = Target.CreateAccessChangeEvent(user, requestor);

            Assert.IsNotNull(actual);
        }
        public void GivenUser_AndRequestor_AndUserHasNoAccesss_WhenCreateAccessChangeEvent_ThenReturnEmptyXml()
        {
            User user      = new User();
            User requestor = new User();

            UserAccessChangeEvent actual = Target.CreateAccessChangeEvent(user, requestor);

            Assert.IsTrue(actual.AccessXml.IsEmpty);
        }
Beispiel #5
0
        public void GivenAUserAccessChangeEvent_WhenAdd_ThenAddToContext()
        {
            var expected = new UserAccessChangeEvent {
                Id = 1
            };

            Target.Add(expected);

            MockDbSet.AssertWasCalled(m => m.Add(expected));
        }
        public void GivenUser_AndRequestor_AndUserIsNotActive_WhenCreateAccessChangeEvent_ThenEventUserActiveFalse()
        {
            User user = new User {
                Active = false
            };
            User requestor = new User();

            UserAccessChangeEvent actual = Target.CreateAccessChangeEvent(user, requestor);

            Assert.IsFalse(actual.UserActive);
        }
        public void GivenIdRequestParameter_AndUserDoesntMatchId_WhenInvokeFilterPredicate_ThenReturnFalse()
        {
            UserAccessChangeEvent changeEvent = new UserAccessChangeEvent {
                UserId = 1
            };

            MockRequest.Expect(m => m["id"]).Return("2");
            Target = new AuditAccessClientDataTable(MockRequest);

            Assert.IsFalse(Target.FilterPredicate.Compile().Invoke(changeEvent));
        }
        public void GivenUserAccessChangeEvent_WhenInvokeDataSelector_ThenPropertiesMatch()
        {
            UserAccessChangeEvent expectedState = TestData.UserAccessChangeEvents[0];

            MockRequest.Expect(m => m["id"]).Return("1");
            Target = new AuditAccessClientDataTable(MockRequest);

            dynamic actual = Target.DataSelector.Compile().Invoke(expectedState);

            Assert.AreEqual(expectedState.CreateTime, actual.CreateTime);
            Assert.AreEqual(expectedState.CreatingUser.DisplayName, actual.CreatingUser);
            Assert.AreEqual(expectedState.UserActive, actual.UserActive);
            Assert.AreEqual(expectedState.AccessData, actual.AccessData);
            Assert.AreEqual(expectedState.Id, actual.Id);
        }
        public void GivenUser_AndRequestor_WhenCreateAccessChangeEvent_ThenEventUserAndCreatingUserSet()
        {
            User expectedUser = new User {
                Id = 3828
            };
            User expectedRequestor = new User {
                Id = 84620
            };

            UserAccessChangeEvent actual = Target.CreateAccessChangeEvent(expectedUser, expectedRequestor);

            Assert.AreEqual(expectedUser, actual.User);
            Assert.AreEqual(expectedUser.Id, actual.UserId);
            Assert.AreEqual(expectedRequestor, actual.CreatingUser);
            Assert.AreEqual(expectedRequestor.Id, actual.CreatingUserId);
        }
        public UserAccessChangeEvent CreateAccessChangeEvent(User user, User requestor)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }
            if (requestor == null)
            {
                throw new ArgumentNullException("requestor");
            }
            UserAccessChangeEvent log = new UserAccessChangeEvent
            {
                User           = user,
                UserId         = user.Id,
                UserActive     = user.Active,
                CreatingUser   = requestor,
                CreatingUserId = requestor.Id
            };

            log.AccessXml = BuildAccessXml(user);
            return(log);
        }
        public void GivenUser_AndRequestor_AndUserHasDataAdminRole_WhenCreateAccessChangeEvent_ThenAccessDataRolesElementHasDataAdminElement_AndElementAttributesSet()
        {
            int    expectedRoleId   = 100;
            string expectedRoleName = SecurityRoles.DataAdmin;
            User   user             = new User
            {
                UserRoles = new List <UserRole>
                {
                    new UserRole
                    {
                        Role = new Role {
                            Id = expectedRoleId, Name = expectedRoleName
                        }
                    }
                }
            };
            User requestor = new User();

            UserAccessChangeEvent actual = Target.CreateAccessChangeEvent(user, requestor);

            Assert.AreEqual(expectedRoleId.ToString(), actual.AccessXml.Element("roles").Element("role").Attribute("id").Value);
            Assert.AreEqual(expectedRoleName, actual.AccessXml.Element("roles").Element("role").Attribute("name").Value);
        }
        public void GivenUser_AndRequestor_AndUserAssociatedToTwoSchools_WhenCreateAccessChangeEvent_ThenSchoolsElementHasTwoSchoolElements_AndElementAttributesSet()
        {
            int    expectedFirstSchoolId    = 78;
            string expectedFirstSchoolName  = "First School";
            int    expectedSecondSchoolId   = 54;
            string expectedSecondSchoolName = "Second School";
            User   user = new User
            {
                UserRoles = new List <UserRole>
                {
                    new UserRole
                    {
                        Role = new Role {
                            Name = "whatever"
                        },
                        Schools = new List <School>
                        {
                            new School {
                                Id = expectedFirstSchoolId, Name = expectedFirstSchoolName
                            },
                            new School {
                                Id = expectedSecondSchoolId, Name = expectedSecondSchoolName
                            }
                        }
                    }
                }
            };
            User requestor = new User();

            UserAccessChangeEvent actual = Target.CreateAccessChangeEvent(user, requestor);

            Assert.AreEqual(expectedFirstSchoolId.ToString(), actual.AccessXml.Element("schools").Elements("school").First().Attribute("id").Value);
            Assert.AreEqual(expectedFirstSchoolName, actual.AccessXml.Element("schools").Elements("school").First().Attribute("name").Value);
            Assert.AreEqual(expectedSecondSchoolId.ToString(), actual.AccessXml.Element("schools").Elements("school").Last().Attribute("id").Value);
            Assert.AreEqual(expectedSecondSchoolName, actual.AccessXml.Element("schools").Elements("school").Last().Attribute("name").Value);
        }
        public void GivenUser_AndRequestor_AndUserAssociatedToTwoProviders_WhenCreateAccessChangeEvent_ThenProvidersElementHasTwoProviderElements_AndElementAttributesSet()
        {
            int    expectedFirstProviderId    = 382;
            string expectedFirstProviderName  = "Provider #1";
            int    expectedSecondProviderId   = 4563;
            string expectedSecondProviderName = "The other provider";
            User   user = new User
            {
                UserRoles = new List <UserRole>
                {
                    new UserRole
                    {
                        Role = new Role {
                            Name = "whatever"
                        },
                        Providers = new List <Provider>
                        {
                            new Provider {
                                Id = expectedFirstProviderId, Name = expectedFirstProviderName
                            },
                            new Provider {
                                Id = expectedSecondProviderId, Name = expectedSecondProviderName
                            }
                        }
                    }
                }
            };
            User requestor = new User();

            UserAccessChangeEvent actual = Target.CreateAccessChangeEvent(user, requestor);

            Assert.AreEqual(expectedFirstProviderId.ToString(), actual.AccessXml.Element("providers").Elements("provider").First().Attribute("id").Value);
            Assert.AreEqual(expectedFirstProviderName, actual.AccessXml.Element("providers").Elements("provider").First().Attribute("name").Value);
            Assert.AreEqual(expectedSecondProviderId.ToString(), actual.AccessXml.Element("providers").Elements("provider").Last().Attribute("id").Value);
            Assert.AreEqual(expectedSecondProviderName, actual.AccessXml.Element("providers").Elements("provider").Last().Attribute("name").Value);
        }
        public void GivenUser_AndRequestor_AndUserAssociatedToThreeSchools_AndUserAssociatedToThreeRoles_AndUserAssociatedToThreeProviders_WhenCreateAccessChangeEvent_ThenSchoolsElementHasThreeSchoolElements_AndProvidersElementhasThreeProviderElements_AndRoleElementHasThreeRoleElements()
        {
            User user = new User
            {
                UserRoles = new List <UserRole>
                {
                    new UserRole
                    {
                        Role = new Role {
                            Name = "whatever"
                        },
                        Schools = new List <School>
                        {
                            new School {
                                Name = "whatever"
                            }
                        },
                        Providers = new List <Provider>
                        {
                            new Provider {
                                Name = "whatever"
                            }
                        }
                    },
                    new UserRole
                    {
                        Role = new Role {
                            Name = "whatever"
                        },
                        Schools = new List <School>
                        {
                            new School {
                                Name = "whatever"
                            }
                        },
                        Providers = new List <Provider>
                        {
                            new Provider {
                                Name = "whatever"
                            }
                        }
                    },
                    new UserRole
                    {
                        Role = new Role {
                            Name = "whatever"
                        },
                        Schools = new List <School>
                        {
                            new School {
                                Name = "whatever"
                            }
                        },
                        Providers = new List <Provider>
                        {
                            new Provider {
                                Name = "whatever"
                            }
                        }
                    }
                }
            };
            User requestor = new User();

            UserAccessChangeEvent actual = Target.CreateAccessChangeEvent(user, requestor);

            Assert.AreEqual(3, actual.AccessXml.Element("roles").Elements("role").Count());
            Assert.AreEqual(3, actual.AccessXml.Element("schools").Elements("school").Count());
            Assert.AreEqual(3, actual.AccessXml.Element("providers").Elements("provider").Count());
        }
 public void Update(UserAccessChangeEvent item)
 {
     ThrowNotSupported();
 }
 public void Add(UserAccessChangeEvent item)
 {
     Context.UserAccessChangeEvents.Add(item);
 }