public void TestSearchUsersWhenUserFoundWithLdap() { #region Arrange new FakeUsers(3, UserRepository); var directoryUser = new DirectoryUser(); directoryUser.LoginId = "test"; directoryUser.EmailAddress = "*****@*****.**"; directoryUser.LastName = "SomeLast"; directoryUser.FirstName = "SomeFirst"; DirectorySearchService.Expect(a => a.FindUser("test")).Return(directoryUser); #endregion Arrange #region Act var results = Controller.SearchUsers("Test") .AssertResultIs <JsonNetResult>(); #endregion Act #region Assert Assert.IsNotNull(results); Assert.AreEqual("[{\"Id\":\"test\",\"Label\":\"SomeFirst SomeLast\"}]", results.JsonResultString); DirectorySearchService.AssertWasCalled(a => a.FindUser("test")); #endregion Assert }
public void TestCreateGetReturnsView1() { #region Arrange Controller.ControllerContext.HttpContext = new MockHttpContext(0, new[] { "" }, "Me"); var ldap = new DirectoryUser { LoginId = "Me", FirstName = "FirstName", LastName = "LastNasme", EmailAddress = "*****@*****.**", PhoneNumber = "999 999-9999" }; DirectorySearchService.Expect(a => a.FindUser("Me")).Return(ldap); #endregion Arrange #region Act var result = Controller.Create() .AssertViewRendered() .WithViewData <DepartmentalAdminRequestViewModel>(); #endregion Act #region Assert Assert.IsNotNull(result); Assert.IsNotNull(result.DepartmentalAdminRequest); Assert.IsNull(result.ExistingOrganizations); Assert.AreEqual("me", result.DepartmentalAdminRequest.Id); Assert.AreEqual("FirstName", result.DepartmentalAdminRequest.FirstName); Assert.AreEqual("LastNasme", result.DepartmentalAdminRequest.LastName); Assert.AreEqual("*****@*****.**", result.DepartmentalAdminRequest.Email); Assert.AreEqual("999 999-9999", result.DepartmentalAdminRequest.PhoneNumber); Assert.IsNull(result.DepartmentalAdminRequest.Organizations); #endregion Assert }
public void TestWhenAlreadyExists() { #region Arrange var idValue = "2"; var directoryUser = new DirectoryUser(); directoryUser.FirstName = "Jimmy"; directoryUser.LastName = "James"; directoryUser.EmailAddress = "*****@*****.**"; DirectorySearchService.Expect(a => a.FindUser("2")).Return(directoryUser); new FakeDepartmentalAdminRequests(3, DepartmentalAdminRequestRepository); #endregion Arrange #region Act Controller.TookTraining(idValue); #endregion Act #region Assert Assert.AreEqual("Request created/Updated.", Controller.Message); DepartmentalAdminRequestRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <DepartmentalAdminRequest> .Is.Anything)); var args = (DepartmentalAdminRequest)DepartmentalAdminRequestRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <DepartmentalAdminRequest> .Is.Anything))[0][0]; Assert.AreEqual("2", args.Id); Assert.IsTrue(args.AttendedTraining); Assert.AreEqual("*****@*****.**", args.Email); Assert.AreEqual("Jimmy", args.FirstName); Assert.AreEqual("James", args.LastName); #endregion Assert }
void btnResetPwd_Click(object sender, EventArgs e) { try { this._domainName = ConfigurationManager.AppSettings["mmsDomainName"].ToString(); this._adminOfDC = ConfigurationManager.AppSettings["mmsAdminOfDC"].ToString(); this._pwdOfDC = ConfigurationManager.AppSettings["mmsPwdOfDC"].ToString(); this._nameOfRootOU = ConfigurationManager.AppSettings["mmsNameOfRootOU"].ToString(); this._domainAbbreviate = ConfigurationManager.AppSettings["mmsDomainAbbreviate"].ToString(); using (DirectoryContext dc = new DirectoryContext(this._domainName, this._adminOfDC, this._pwdOfDC)) { this.users = dc.Users; DirectoryUser curUser = users.SingleOrDefault(u => (this._domainAbbreviate + "\\" + u.LogonName).ToLower() == SPContext.Current.Web.CurrentUser.LoginName.ToLower()); curUser.ChangePassword(this.txtOldPwd.Text.Trim(), this.txtNewPwd.Text.Trim()); dc.SubmitChanges(); } ClientScript.RegisterClientScriptBlock(typeof(string), "ShowMessage", "<script>alert('修改密码成功!')</script>"); } catch (Exception ex) { System.Reflection.MethodBase mb = System.Reflection.MethodBase.GetCurrentMethod(); LogToDBHelper lhelper = LogToDBHelper.Instance; lhelper.WriteLog(ex.Message, "错误", string.Format("{0}.{1}", mb.ReflectedType.Name, mb.Name)); ClientScript.RegisterClientScriptBlock(typeof(string), "提示", string.Format("<script>alert('{0}')</script>", LogToDBHelper.LOG_MSG_LOADERROR)); } }
public void TestSearchUsersThrowsExceptionIfLdapDoesNotHaveRequiredFields2() { var thisFar = false; try { #region Arrange var directoryUser = new DirectoryUser(); directoryUser.LoginId = "test"; directoryUser.EmailAddress = null; directoryUser.LastName = "SomeLast"; directoryUser.FirstName = "SomeFirst"; DirectorySearchService.Expect(a => a.FindUser("test")).Return(directoryUser); new FakeUsers(3, UserRepository); thisFar = true; #endregion Arrange #region Act Controller.SearchUsers("Test"); #endregion Act } catch (Exception ex) { Assert.IsTrue(thisFar); Assert.IsNotNull(ex); Assert.AreEqual("Precondition failed.", ex.Message); throw; } }
public DirectoryEditUserViewModel(DirectoryUser user) { _userId = user.Id; DirectoryUserName = user.UserName; SelectedDirectoryUserStatus = DirectoryUserStatuses.First(s => s.Name == user.CurrentUserStatus.DirectoryUserStatus.Name); EditCommand = new RelayCommand(Edit); }
public void GetDirectoryUsersTest() { IList <DirectoryUser> directoryUsers = new List <DirectoryUser>(); DirectoryUser dirUser = new DirectoryUser(); string userName = "******"; const string email = "*****@*****.**"; const string fullName = "TestUser"; dirUser.Username = userName; dirUser.Email = email; dirUser.FullName = fullName; directoryUsers.Add(dirUser); Expect.Call(directoryReaderMock.GetUsers()).Return(directoryUsers); mockRepository.ReplayAll(); IDictionary <string, User> users = managerMock.GetDirectoryUsers(); string userNameCI = userName.ToLowerInvariant(); if (ConfigurationManager.AppSettings["IntegratedAuth"].Equals("true")) { userNameCI = "\\" + userNameCI; } Assert.IsNotEmpty((ICollection)users.Keys); Assert.AreEqual(users.Keys.Count, 1); Assert.IsTrue(users.Keys.Contains(userNameCI)); Assert.AreEqual(users[userNameCI].Email, email); Assert.AreEqual(users[userNameCI].FullName, fullName); mockRepository.VerifyAll(); }
public void GetDirectoryUsersTest() { IList<DirectoryUser> directoryUsers = new List<DirectoryUser>(); DirectoryUser dirUser = new DirectoryUser(); string userName = "******"; const string email = "*****@*****.**"; const string fullName = "TestUser"; dirUser.Username = userName; dirUser.Email = email; dirUser.FullName = fullName; directoryUsers.Add(dirUser); Expect.Call(directoryReaderMock.GetUsers()).Return(directoryUsers); mockRepository.ReplayAll(); IDictionary<string, User> users = managerMock.GetDirectoryUsers(); string userNameCI = userName.ToLowerInvariant(); if (ConfigurationManager.AppSettings["IntegratedAuth"].Equals("true")) { userNameCI = "\\" + userNameCI; } Assert.IsNotEmpty((ICollection) users.Keys); Assert.AreEqual(users.Keys.Count, 1); Assert.IsTrue(users.Keys.Contains(userNameCI)); Assert.AreEqual(users[userNameCI].Email, email); Assert.AreEqual(users[userNameCI].FullName, fullName); mockRepository.VerifyAll(); }
public IList <DirectoryUser> GetUsers() { IList <DirectoryUser> ldapUsersList = new List <DirectoryUser>(); IList <string> memberPaths = GetMemberPaths(groupDN); foreach (string memberPath in memberPaths) { try { DirectoryUser user = new DirectoryUser(); DirectoryEntry member = GetMember(memberPath); SetUsername(user, member); SetFullName(user, member); SetEmail(user, member); SetNickname(user, member); ldapUsersList.Add(user); } catch (Exception ex) { logger.ErrorException("Unable to read member from ldap, path: " + memberPath, ex); } } if (memberPaths.Count < 1) { logger.Warn("No members were returned from group: " + fullPath + ", group member attribute name: '" + groupMemberAttribute); } return(ldapUsersList); }
public void TestSearchUsersReturnsExpectedResults3() { #region Arrange var users = new List <User>(); for (int i = 0; i < 3; i++) { users.Add(CreateValidEntities.User(i + 1)); users[i].Email = "email" + (i + 1); } new FakeUsers(0, UserRepository, users, false); var ldapLookup = new DirectoryUser(); ldapLookup.EmailAddress = "*****@*****.**"; ldapLookup.FirstName = "Bob"; ldapLookup.LastName = "Loblaw"; ldapLookup.LoginId = "belogin"; var ldapUsers = new List <DirectoryUser>(); ldapUsers.Add(ldapLookup); SearchService.Expect(a => a.SearchUsers("bob")).Return(ldapUsers); #endregion Arrange #region Act var result = Controller.SearchUsers("Bob") .AssertResultIs <JsonNetResult>(); #endregion Act #region Assert Assert.IsNotNull(result); Assert.AreEqual("[{\"Id\":\"belogin\",\"Label\":\"Bob Loblaw (belogin)\"}]", result.JsonResultString); UserRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <User> .Is.Anything)); SearchService.AssertWasCalled(a => a.SearchUsers("bob")); #endregion Assert }
public IndividualLicenseViewModel(string username, string key, string programId, string version, DirectoryUser assignedToUser) { Username = username; Key = key; ProgramId = programId; Version = version; AssignedToUser = assignedToUser; }
public AssignUser(string programId, string version, string licenseUsername, string licenseKey, DirectoryUser user) { _programId = programId; _version = version; _licenseUsername = licenseUsername; _licenseKey = licenseKey; _user = user; }
private DirectoryUser CreateTestUser(string username) { DirectoryUser user = new DirectoryUser(); user.Username = username; user.FullName = username + " " + username + "son"; user.Nickname = username; user.Email = username + "@test.com"; return user; }
private void SetEmail(DirectoryUser user, DirectoryEntry member) { try { user.Email = member.Properties[mapEmail][0].ToString(); //email } catch (Exception ex) { logger.ErrorException("Unable to get email property for member: " + member.Path + ", email property name: " + mapEmail, ex); throw; } }
private void SetNickname(DirectoryUser user, DirectoryEntry member) { try { user.Nickname = member.Properties[mapNickname][0].ToString(); //nickname } catch (Exception ex) { logger.ErrorException("Unable to get nickname property for member: " + member.Path + ", nickname property name: " + mapNickname, ex); throw; } }
private DirectoryUser CreateTestUser(string username) { DirectoryUser user = new DirectoryUser(); user.Username = username; user.FullName = username + " " + username + "son"; user.Nickname = username; user.Email = username + "@test.com"; return(user); }
private void SetUsername(DirectoryUser user, DirectoryEntry member) { try { string directoryUsername = member.Properties[mapUsername][0].ToString(); //username user.Username = useIntegratedAuth ? string.Format("{0}\\{1}", domain, directoryUsername) : directoryUsername; } catch (Exception ex) { logger.ErrorException("Unable to get username property for member: " + member.Path + ", username property name: " + mapUsername, ex); throw; } }
public void TestCreatePostRedirectsWhenValid() { #region Arrange Controller.ControllerContext.HttpContext = new MockHttpContext(0, new[] { "" }, "Me"); var ldap = new DirectoryUser { LoginId = "Me", FirstName = "FirstName", LastName = "LastNasme", EmailAddress = "*****@*****.**", PhoneNumber = "999 999-9999" }; DirectorySearchService.Expect(a => a.FindUser("Me")).Return(ldap); new FakeDepartmentalAdminRequests(3, DepartmentalAdminRequestRepository); var departmentalAdminRequestViewModel = new DepartmentalAdminRequestViewModel(); departmentalAdminRequestViewModel.DepartmentalAdminRequest = CreateValidEntities.DepartmentalAdminRequest(1); departmentalAdminRequestViewModel.DepartmentalAdminRequest.SetIdTo("Me"); departmentalAdminRequestViewModel.DepartmentalAdminRequest.PhoneNumber = "333 321-1234"; departmentalAdminRequestViewModel.DepartmentalAdminRequest.DepartmentSize = 1; departmentalAdminRequestViewModel.DepartmentalAdminRequest.SharedOrCluster = true; #endregion Arrange #region Act Controller.Create(departmentalAdminRequestViewModel, new List <string> { "1", "3" }) .AssertActionRedirect() .ToAction <HomeController>(a => a.Index()); #endregion Act #region Assert Assert.AreEqual("Request created.", Controller.Message); DepartmentalAdminRequestRepository.AssertWasCalled( a => a.EnsurePersistent(Arg <DepartmentalAdminRequest> .Is.Anything)); var args = (DepartmentalAdminRequest) DepartmentalAdminRequestRepository.GetArgumentsForCallsMadeOn( a => a.EnsurePersistent(Arg <DepartmentalAdminRequest> .Is.Anything))[0][0]; Assert.IsNotNull(args); Assert.AreEqual("me", args.Id); Assert.AreEqual("FirstName", args.FirstName); Assert.AreEqual("LastNasme", args.LastName); Assert.AreEqual("*****@*****.**", args.Email); Assert.AreEqual(DateTime.UtcNow.ToPacificTime().Date, args.DateCreated.Date); Assert.AreEqual("1,3", args.Organizations); Assert.AreEqual("333 321-1234", args.PhoneNumber); Assert.AreEqual(true, args.SharedOrCluster); Assert.AreEqual(1, args.DepartmentSize); #endregion Assert }
public void TestCreatePostRetursViewWhenInvalid2() { #region Arrange Controller.ControllerContext.HttpContext = new MockHttpContext(0, new[] { "" }, "1"); var ldap = new DirectoryUser { LoginId = "Me", FirstName = "FirstName", LastName = "LastNasme", EmailAddress = null, //"*****@*****.**", PhoneNumber = "999 999-9999" }; DirectorySearchService.Expect(a => a.FindUser("1")).Return(ldap); var dars = new List <DepartmentalAdminRequest>(); dars.Add(CreateValidEntities.DepartmentalAdminRequest(1)); dars[0].Organizations = "This Will Be Replaced"; new FakeDepartmentalAdminRequests(0, DepartmentalAdminRequestRepository, dars, false); var departmentalAdminRequestViewModel = new DepartmentalAdminRequestViewModel(); departmentalAdminRequestViewModel.DepartmentalAdminRequest = CreateValidEntities.DepartmentalAdminRequest(1); departmentalAdminRequestViewModel.DepartmentalAdminRequest.SetIdTo("Me"); departmentalAdminRequestViewModel.DepartmentalAdminRequest.PhoneNumber = "333 321-1234"; departmentalAdminRequestViewModel.DepartmentalAdminRequest.DepartmentSize = 1; departmentalAdminRequestViewModel.DepartmentalAdminRequest.SharedOrCluster = true; #endregion Arrange #region Act var results = Controller.Create(departmentalAdminRequestViewModel, new List <string> { "1", "3" }) .AssertViewRendered() .WithViewData <DepartmentalAdminRequestViewModel>(); #endregion Act #region Assert Assert.IsNotNull(results); Controller.ModelState.AssertErrorsAre("The Email field is required."); Assert.AreEqual("There were Errors, please correct and try again.", Controller.ErrorMessage); Assert.AreEqual("1", results.DepartmentalAdminRequest.Id); Assert.AreEqual("FirstName", results.DepartmentalAdminRequest.FirstName); Assert.AreEqual("LastNasme", results.DepartmentalAdminRequest.LastName); Assert.AreEqual(null, results.DepartmentalAdminRequest.Email); Assert.AreEqual(DateTime.UtcNow.ToPacificTime().Date, results.DepartmentalAdminRequest.DateCreated.Date); Assert.AreEqual("1,3", results.DepartmentalAdminRequest.Organizations); Assert.AreEqual("333 321-1234", results.DepartmentalAdminRequest.PhoneNumber); Assert.AreEqual(true, results.DepartmentalAdminRequest.SharedOrCluster); Assert.AreEqual(1, results.DepartmentalAdminRequest.DepartmentSize); DepartmentalAdminRequestRepository.AssertWasCalled(a => a.GetNullableById("1")); #endregion Assert }
public void TestAddPeoplePostReturnsViewWhenInvalid3() { #region Arrange SetupDataForPeopleList(); var ldapUser = new DirectoryUser(); ldapUser.FirstName = "Me"; ldapUser.LastName = "You"; ldapUser.LoginId = "Logger"; SearchService.Expect(a => a.FindUser("Me")).Return(ldapUser); var postModel = new WorkgroupPeoplePostModel(); postModel.Role = new Role(); postModel.Role.SetIdTo(Role.Codes.DepartmentalAdmin); postModel.Role.Level = 1; postModel.Users = new List <string>(); postModel.Users.Add("1"); postModel.Users.Add("Me"); postModel.Users.Add("2"); #endregion Arrange #region Act var result = Controller.AddPeople(3, postModel, null) .AssertViewRendered() .WithViewData <WorgroupPeopleCreateModel>(); #endregion Act #region Assert SearchService.AssertWasCalled(a => a.FindUser("Me")); Controller.ModelState.AssertErrorsAre("Invalid Role Selected"); Assert.IsNotNull(result); Assert.AreEqual(Role.Codes.DepartmentalAdmin, result.Role.Id); Assert.AreEqual(4, result.Roles.Count()); Assert.AreEqual(Role.Codes.Requester, result.Roles[0].Id); Assert.AreEqual(Role.Codes.Approver, result.Roles[1].Id); Assert.AreEqual(Role.Codes.AccountManager, result.Roles[2].Id); Assert.AreEqual(Role.Codes.Purchaser, result.Roles[3].Id); Assert.AreEqual(3, result.Users.Count()); Assert.AreEqual("FirstName1 LastName1 (1)", result.Users[0].DisplayNameAndId); Assert.AreEqual("Me You (Logger)", result.Users[1].DisplayNameAndId); Assert.AreEqual("FirstName2 LastName2 (2)", result.Users[2].DisplayNameAndId); Assert.AreEqual("Name3", result.Workgroup.Name); #endregion Assert }
public static DirectoryUser MapToDirectoryUser(this Microsoft.Graph.User graphUser) { DirectoryUser user = new DirectoryUser { UserId = graphUser.Id, EmailAddress = graphUser.Mail, FirstName = graphUser.GivenName, LastName = graphUser.Surname, PreferredLanguage = graphUser.PreferredLanguage, Location = graphUser.OfficeLocation, PhoneNumber = graphUser.MobilePhone, DisplayName = graphUser.DisplayName, UserPrincipalName = graphUser.UserPrincipalName, SamAccountName = graphUser.OnPremisesSamAccountName, CompanyRole = graphUser.JobTitle }; return(user); }
public void TestTryToAddPeopleWhenUserIsFoundWithLdap2() { #region Arrange //HttpContext.Current = new HttpContext(new HttpRequest(null, "http://test.org", null), new HttpResponse(null)); //new FakeUsers(3, UserRepository); UserRepository.Expect(a => a.GetNullableById("LDAP")).Return(null).Repeat.Twice(); UserRepository.Expect(a => a.GetNullableById("LDAP")).Return(CreateValidEntities.User(3)).Repeat.Once(); new FakeWorkgroupPermissions(0, WorkgroupPermissionRepository); var failCount = 0; var dupCount = 0; var notAdded = new List <KeyValuePair <string, string> >(); new FakeRoles(3, RepositoryFactory.RoleRepository); new FakeWorkgroups(3, WorkgroupRepository); var directoryUser = new DirectoryUser(); directoryUser.LoginId = "LDAP"; directoryUser.EmailAddress = "*****@*****.**"; directoryUser.FirstName = "F3"; directoryUser.LastName = "Last3"; SearchService.Expect(a => a.FindUser("LDAP")).Return(directoryUser); #endregion Arrange #region Act var result = WorkgroupService.TryToAddPeople(1, RepositoryFactory.RoleRepository.Queryable.Single(a => a.Id == "2"), new Workgroup(), 0, "LDAP", ref failCount, ref dupCount, notAdded); #endregion Act #region Assert Assert.AreEqual(1, result); Assert.AreEqual(0, failCount); Assert.AreEqual(0, dupCount); Assert.AreEqual(0, notAdded.Count()); UserRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <User> .Is.Anything)); EmailPreferencesRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <EmailPreferences> .Is.Anything)); WorkgroupPermissionRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <WorkgroupPermission> .Is.Anything)); var args = (WorkgroupPermission)WorkgroupPermissionRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <WorkgroupPermission> .Is.Anything))[0][0]; Assert.IsNotNull(args); Assert.AreEqual("2", args.Role.Id); Assert.AreEqual("3", args.User.Id); Assert.AreEqual(1, args.Workgroup.Id); #endregion Assert }
public void TestFindUser2() { #region Arrange const string searchTerm = "TestValue"; AutomapperConfig.Configure(); var directoryUser = new DirectoryUser(); directoryUser.EmailAddress = "*****@*****.**"; directoryUser.EmployeeId = "EmployeeId"; directoryUser.FirstName = "FirstName"; directoryUser.LastName = "LastName"; directoryUser.FullName = "FullName"; directoryUser.LoginId = "LoginId"; directoryUser.PhoneNumber = "1 555 555 5555"; DirectorySearchService.Expect(a => a.FindUser(searchTerm)).Return(directoryUser).Repeat.Any(); #endregion Arrange #region Act var result = Controller.FindUser(searchTerm) .AssertResultIs <JsonResult>(); #endregion Act #region Assert Assert.IsNotNull(result); Assert.IsNotNull(result.Data); var result2 = (ServiceUser)result.Data; Assert.IsNotNull(result2); Assert.AreEqual("*****@*****.**", result2.Email); Assert.AreEqual("FirstName", result2.FirstName); Assert.IsNull(result2.FullNameAndLogin); Assert.AreEqual("LastName", result2.LastName); Assert.AreEqual("LoginId", result2.Login); Assert.AreEqual("1 555 555 5555", result2.Phone); Assert.IsNull(result2.Roles); Assert.IsNull(result2.Units); Assert.AreEqual(JsonRequestBehavior.AllowGet, result.JsonRequestBehavior); DirectorySearchService.AssertWasCalled(a => a.FindUser(searchTerm)); #endregion Assert }
public void TestCreateGetReturnsView2() { #region Arrange Controller.ControllerContext.HttpContext = new MockHttpContext(0, new[] { "" }, "Me"); var ldap = new DirectoryUser { LoginId = "Me", FirstName = "FirstName", LastName = "LastNasme", EmailAddress = "*****@*****.**", PhoneNumber = "999 999-9999" }; DirectorySearchService.Expect(a => a.FindUser("Me")).Return(ldap); var daRequests = new List <DepartmentalAdminRequest>(); daRequests.Add(CreateValidEntities.DepartmentalAdminRequest(1)); daRequests[0].SetIdTo("Me"); daRequests[0].Organizations = "1,2"; new FakeDepartmentalAdminRequests(0, DepartmentalAdminRequestRepository, daRequests, true); new FakeOrganizations(2, OrganizationRepository); #endregion Arrange #region Act var result = Controller.Create() .AssertViewRendered() .WithViewData <DepartmentalAdminRequestViewModel>(); #endregion Act #region Assert Assert.IsNotNull(result); Assert.IsNotNull(result.DepartmentalAdminRequest); Assert.IsNull(result.ExistingOrganizations); Assert.AreEqual("Me", result.DepartmentalAdminRequest.Id); Assert.AreEqual("FirstName", result.DepartmentalAdminRequest.FirstName); Assert.AreEqual("LastNasme", result.DepartmentalAdminRequest.LastName); Assert.AreEqual("*****@*****.**", result.DepartmentalAdminRequest.Email); Assert.AreEqual("999 999-9999", result.DepartmentalAdminRequest.PhoneNumber); Assert.AreEqual("1,2", result.DepartmentalAdminRequest.Organizations); #endregion Assert }
public void TestFindPersonReturnsExpectedResult() { #region Arrange var directoryUser = new DirectoryUser(); directoryUser.LoginId = "someLogin"; directoryUser.EmailAddress = "*****@*****.**"; directoryUser.LastName = "SomeLast"; directoryUser.FirstName = "SomeFirst"; DirectorySearchService.Expect(a => a.FindUser("Test")).Return(directoryUser); #endregion Arrange #region Act var result = Controller.FindPerson("Test") .AssertResultIs <JsonNetResult>(); #endregion Act #region Assert Assert.IsNotNull(result); Assert.AreEqual("{\"EmployeeId\":null,\"LoginId\":\"someLogin\",\"FirstName\":\"SomeFirst\",\"LastName\":\"SomeLast\",\"FullName\":null,\"EmailAddress\":\"[email protected]\",\"PhoneNumber\":null}", result.JsonResultString); DirectorySearchService.AssertWasCalled(a => a.FindUser("Test")); #endregion Assert }
public void TestFindUsersWhenFound() { #region Arrange var user = new DirectoryUser(); user.LoginId = "test"; user.EmailAddress = "*****@*****.**"; user.FirstName = "FN"; user.LastName = "LN"; new FakeUsers(3, UserRepository); SearchService.Expect(a => a.FindUser("test")).Return(user); #endregion Arrange #region Act var result = Controller.FindUser("Test") .AssertResultIs <JsonNetResult>(); #endregion Act #region Assert Assert.IsNotNull(result); Assert.AreEqual("[{\"id\":\"test\",\"FirstName\":\"FN\",\"LastName\":\"LN\",\"Email\":\"[email protected]\",\"IsActive\":true}]", result.JsonResultString); SearchService.AssertWasCalled(a => a.FindUser("test")); #endregion Assert }
public ActionResult AddConditionalApproval(int id, ConditionalApproval conditionalApproval, string primaryApproverParm, string secondaryApproverParm) { ViewBag.StepNumber = 11; // TODO Check that primary and secondary approvers are in db, add if not. Double check against ConditionalApprover controller var workgroup = _workgroupRepository.GetNullableById(id); if (workgroup == null) { Message = "Workgroup not found."; this.RedirectToAction <WorkgroupController>(a => a.Index(false)); } ViewBag.IsAccountSync = workgroup.SyncAccounts; var primaryApproverInDb = GetUserBySearchTerm(primaryApproverParm); var secondaryApproverInDb = string.IsNullOrWhiteSpace(secondaryApproverParm) ? null : GetUserBySearchTerm(secondaryApproverParm); if (primaryApproverInDb == null) { DirectoryUser primaryApproverInLdap = _searchService.FindUser(primaryApproverParm); if (primaryApproverInLdap == null) { ModelState.AddModelError("primaryApproverParm", "No user could be found with the kerberos or email address entered"); } else //found the primary approver in ldap { primaryApproverInDb = new User(primaryApproverInLdap.LoginId) { FirstName = primaryApproverInLdap.FirstName, LastName = primaryApproverInLdap.LastName, Email = primaryApproverInLdap.EmailAddress, IsActive = true }; _userRepository.EnsurePersistent(primaryApproverInDb, forceSave: true); } } if (!string.IsNullOrWhiteSpace(secondaryApproverParm)) //only check if a value was provided { if (secondaryApproverInDb == null) { DirectoryUser secondaryApproverInLdap = _searchService.FindUser(secondaryApproverParm); if (secondaryApproverInLdap == null) { ModelState.AddModelError("secondaryApproverParm", "No user could be found with the kerberos or email address entered"); } else //found the secondary approver in ldap { secondaryApproverInDb = new User(secondaryApproverInLdap.LoginId) { FirstName = secondaryApproverInLdap.FirstName, LastName = secondaryApproverInLdap.LastName, Email = secondaryApproverInLdap.EmailAddress, IsActive = true }; _userRepository.EnsurePersistent(secondaryApproverInDb, forceSave: true); } } } conditionalApproval.PrimaryApprover = primaryApproverInDb; conditionalApproval.SecondaryApprover = secondaryApproverInDb; conditionalApproval.Workgroup = workgroup; ModelState.Clear(); conditionalApproval.TransferValidationMessagesTo(ModelState); if (ModelState.IsValid) { var newConditionalApproval = new ConditionalApproval { Question = conditionalApproval.Question, Organization = conditionalApproval.Organization, Workgroup = workgroup, PrimaryApprover = primaryApproverInDb, SecondaryApprover = secondaryApproverInDb }; Repository.OfType <ConditionalApproval>().EnsurePersistent(newConditionalApproval); return(this.RedirectToAction(a => a.ConditionalApprovals(id))); } conditionalApproval.Workgroup = workgroup; return(View(conditionalApproval)); }
public ActionResult Create(int?workgroupId, string orgId, ConditionalApprovalModifyModel modifyModel) { if (workgroupId.HasValue) { ViewBag.WorkgroupId = workgroupId.Value; modifyModel.ApprovalType = WorkgroupType; modifyModel.Workgroup = _workgroupRepository.GetNullableById(workgroupId.Value); var workgroup = _workgroupRepository.Queryable.Single(a => a.Id == workgroupId.Value); if (workgroup.Administrative) { ErrorMessage = "Conditional Approval may not be added to an administrative workgroup."; return(this.RedirectToAction <WizardController>(a => a.Details(workgroup.Id))); } } else if (!string.IsNullOrWhiteSpace(orgId)) { modifyModel.ApprovalType = OrganizationType; modifyModel.Organization = _organizationRepository.GetNullableById(orgId); ViewBag.OrganizationId = orgId; } var primaryApproverInDb = GetUserBySearchTerm(modifyModel.PrimaryApprover); var secondaryApproverInDb = string.IsNullOrWhiteSpace(modifyModel.SecondaryApprover) ? null : GetUserBySearchTerm(modifyModel.SecondaryApprover); if (primaryApproverInDb == null) { DirectoryUser primaryApproverInLdap = _directorySearchService.FindUser(modifyModel.PrimaryApprover); if (primaryApproverInLdap == null) { ModelState.AddModelError("primaryapprover", "No user could be found with the kerberos or email address entered"); } else //found the primary approver in ldap { primaryApproverInDb = new User(primaryApproverInLdap.LoginId) { FirstName = primaryApproverInLdap.FirstName, LastName = primaryApproverInLdap.LastName, Email = primaryApproverInLdap.EmailAddress, IsActive = true }; _userRepository.EnsurePersistent(primaryApproverInDb, forceSave: true); } } if (!string.IsNullOrWhiteSpace(modifyModel.SecondaryApprover)) //only check if a value was provided { if (secondaryApproverInDb == null) { DirectoryUser secondaryApproverInLdap = _directorySearchService.FindUser(modifyModel.SecondaryApprover); if (secondaryApproverInLdap == null) { ModelState.AddModelError("secondaryapprover", "No user could be found with the kerberos or email address entered"); } else //found the secondary approver in ldap { secondaryApproverInDb = new User(secondaryApproverInLdap.LoginId) { FirstName = secondaryApproverInLdap.FirstName, LastName = secondaryApproverInLdap.LastName, Email = secondaryApproverInLdap.EmailAddress, IsActive = true }; _userRepository.EnsurePersistent(secondaryApproverInDb, forceSave: true); } } } if (!ModelState.IsValid) { return(View(CreateModifyModel(modifyModel.ApprovalType, modifyModel))); } Check.Require(modifyModel.Workgroup != null || modifyModel.Organization != null, "Must have a Workgroup or an Organization"); var newConditionalApproval = new ConditionalApproval { Question = modifyModel.Question, Organization = modifyModel.Organization, Workgroup = modifyModel.Workgroup, PrimaryApprover = primaryApproverInDb, SecondaryApprover = secondaryApproverInDb }; _conditionalApprovalRepository.EnsurePersistent(newConditionalApproval); Message = "Conditional approval added successfully"; if (workgroupId.HasValue) { return(this.RedirectToAction(a => a.ByWorkgroup(workgroupId.Value))); } if (!string.IsNullOrWhiteSpace(orgId)) { return(this.RedirectToAction(a => a.ByOrg(orgId))); } //return this.RedirectToAction(a => a.Index()); return(this.RedirectToAction <ErrorController>(a => a.Index())); }
public void TestAddPeoplePostRedirectsToPeople1() { #region Arrange SetupDataForPeopleList(); string message = "Fake Message"; int failCount = 2; SecurityService.Expect(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything, Arg <Organization> .Is.Anything, out Arg <string> .Out(message).Dummy)).Return(true); WorkgroupService.Expect(a => a.TryToAddPeople( Arg <int> .Is.Anything, Arg <Role> .Is.Anything, Arg <Workgroup> .Is.Anything, Arg <int> .Is.Anything, Arg <string> .Is.Anything, ref Arg <int> .Ref(Is.Anything(), failCount).Dummy, ref Arg <int> .Ref(Is.Anything(), failCount).Dummy, Arg <List <KeyValuePair <string, string> > > .Is.Anything)).Return(7).Repeat.Any(); var ldapUser = new DirectoryUser(); ldapUser.FirstName = "Me"; ldapUser.LastName = "You"; ldapUser.LoginId = "Logger"; ldapUser.EmailAddress = "*****@*****.**"; SearchService.Expect(a => a.FindUser("Me")).Return(ldapUser); var postModel = new WorkgroupPeoplePostModel(); postModel.Role = RoleRepository.GetNullableById(Role.Codes.AccountManager); postModel.Users = new List <string>(); postModel.Users.Add("1"); postModel.Users.Add("Me"); postModel.Users.Add("2"); postModel.Users.Add("3"); #endregion Arrange #region Act var result = Controller.AddPeople(3, postModel, null) .AssertActionRedirect() .ToAction <WorkgroupController>(a => a.People(3, null)); #endregion Act #region Assert Assert.IsNotNull(result); Assert.AreEqual(3, result.RouteValues["id"]); Assert.AreEqual(Role.Codes.AccountManager, result.RouteValues["roleFilter"]); WorkgroupService.AssertWasCalled(a => a.TryToAddPeople( Arg <int> .Is.Anything, Arg <Role> .Is.Anything, Arg <Workgroup> .Is.Anything, Arg <int> .Is.Anything, Arg <string> .Is.Anything, ref Arg <int> .Ref(Is.Anything(), failCount).Dummy, ref Arg <int> .Ref(Is.Anything(), failCount).Dummy, Arg <List <KeyValuePair <string, string> > > .Is.Anything), x => x.Repeat.Times(4)); var args = WorkgroupService.GetArgumentsForCallsMadeOn(a => a.TryToAddPeople(Arg <int> .Is.Anything, Arg <Role> .Is.Anything, Arg <Workgroup> .Is.Anything, Arg <int> .Is.Anything, Arg <string> .Is.Anything, ref Arg <int> .Ref(Is.Anything(), failCount).Dummy, ref Arg <int> .Ref(Is.Anything(), failCount).Dummy, Arg <List <KeyValuePair <string, string> > > .Is.Anything)); Assert.AreEqual(4, args.Count()); Assert.AreEqual(3, args[0][0]); Assert.AreEqual("AM", ((Role)args[0][1]).Id); Assert.AreEqual(3, ((Workgroup)args[0][2]).Id); Assert.AreEqual(0, args[0][3]); Assert.AreEqual(7, args[1][3]); Assert.AreEqual("1", args[0][4]); Assert.AreEqual("Me", args[1][4]); Assert.AreEqual("2", args[2][4]); Assert.AreEqual("3", args[3][4]); Assert.AreEqual(2, args[0][5]); Assert.AreEqual("Successfully added 7 people to workgroup as Account Manager. 2 not added because of duplicated role.", Controller.Message); #endregion Assert }
public ServiceUser(DirectoryUser directoryUser) { //Map from the directory user to this Mapper.Map(directoryUser, this); }
public void WithData(string key, string username, string programId, string version, DirectoryUser currentUser) { Key = key; Username = username; ProgramId = programId; Version = version; SelectedUser = currentUser; }