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); }
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); }