public void HandleUserEditRequest() { // Arrange var request = new UserEditRequest { Id = 111 }; var user = new User { Id = 111, Username = "******", UserRole = UserRole.ProductOwner, PasswordHash = "blablabla" }; var expectedResult = new UserQueryResult { Id = user.Id, Username = user.Username, UserRole = user.UserRole }; _userRepo.Setup(p => p.LoadUser(request.Id)).Returns((new Success(), user)); // Act var(status, actualResult) = _sut.HandleUserEditRequest(request); // Assert _userRepo.Verify(p => p.LoadUser(request.Id)); status.Should().BeOfType <Success>(); actualResult.Should().BeEquivalentTo(expectedResult); }
public void RegisterExistingUser() { //Prepare Mock <LoginStatusChangedEvent> loginStatusChangedEvent = new Mock <LoginStatusChangedEvent>(); loginStatusChangedEvent.Setup(x => x.Publish(It.IsAny <IUserService>())).Verifiable(); Mock <IEventAggregator> eventAggregator = new Mock <IEventAggregator>(); eventAggregator.Setup(x => x.GetEvent <LoginStatusChangedEvent>()).Returns(loginStatusChangedEvent.Object); string user = "******"; char[] pass = "******".ToCharArray(); SecureString password = new SecureString(); foreach (char c in pass) { password.AppendChar(c); } //Act IUserService target = new BattlenetService(eventAggregator.Object); UserQueryResult result = target.Register(user, password); //Verify Assert.IsNull(target.CurrentUser); Assert.IsFalse(target.IsLoggedIn); Assert.IsFalse(result.Success); loginStatusChangedEvent.Verify(x => x.Publish(It.IsAny <IUserService>()), Times.Never); }
public async Task <Result> Get(int id) { var user = await _userRepository.Query() .Include(x => x.Roles) .FirstOrDefaultAsync(x => x.Id == id); if (user == null) { throw new Exception("用户不存在"); } var model = new UserQueryResult { Id = user.Id, IsActive = user.IsActive, UserName = user.UserName, AdminRemark = user.AdminRemark, CreatedOn = user.CreatedOn, Email = user.Email, FullName = user.FullName, LastActivityOn = user.LastActivityOn, LastIpAddress = user.LastIpAddress, LastLoginOn = user.LastLoginOn, PhoneNumber = user.PhoneNumber, UpdatedOn = user.UpdatedOn, RoleIds = user.Roles.Select(c => c.RoleId) // .Distinct().OrderBy(c => c).ToList() }; return(Result.Ok(model)); }
public void HandleUserEditRequest() { // Arrange var request = new UserEditRequest { Id = 111 }; var user = new User { Id = 111, Username = "******", UserRole = UserRole.ProductOwner, PasswordHash = "blablabla" }; Action <string> dummyFailureAction = s => { }; var actualResult = new UserQueryResult(); var expectedResult = new UserQueryResult { Id = user.Id, Username = user.Username, UserRole = user.UserRole }; _userRepo.Setup(p => p.LoadUser(request.Id, It.IsAny <Action <User> >(), dummyFailureAction)) .Callback((int id, Action <User> onSuccess, Action <string> onFailure) => onSuccess(user)); // Act _sut.HandleUserEditRequest(request, result => actualResult = result, dummyFailureAction); // Assert _userRepo.Verify(p => p.LoadUser(request.Id, It.IsAny <Action <User> >(), dummyFailureAction)); actualResult.Should().BeEquivalentTo(expectedResult); }
public MessageQueryResult MapSingle(ITweet tweet) { UserQueryResult user = new UserQueryResult { NetworkId = tweet.CreatedBy.IdStr, Url = tweet.Url, UserName = tweet.CreatedBy.Name, AvatarUrl50 = tweet.CreatedBy.ProfileImageUrl, MediaType = SocialMediaType.Twitter }; List <HashTagQueryResult> tags = tweet.Hashtags.Select(x => new HashTagQueryResult() { HashTag = new HashTagWord(x.Text), IsEnabled = false }).ToList(); MessageQueryResult message = new MessageQueryResult(0, tweet.Text, tags, SocialMediaType.Twitter, tweet.TweetLocalCreationDate.ToUniversalTime(), tweet.IdStr, user); return(message); }
public async Task LoginAsRegisteredUserAsync() { //Prepare Mock <LoginStatusChangedEvent> loginStatusChangedEvent = new Mock <LoginStatusChangedEvent>(); loginStatusChangedEvent.Setup(x => x.Publish(It.IsAny <IUserService>())).Verifiable(); Mock <IEventAggregator> eventAggregator = new Mock <IEventAggregator>(); eventAggregator.Setup(x => x.GetEvent <LoginStatusChangedEvent>()).Returns(loginStatusChangedEvent.Object); string user = "******"; char[] pass = "******".ToCharArray(); SecureString password = new SecureString(); foreach (char c in pass) { password.AppendChar(c); } //Act IUserService target = new BattlenetService(eventAggregator.Object); UserQueryResult result = await target.LoginAsync(user, password); //Verify Assert.AreEqual(user, target.CurrentUser.Username); Assert.IsTrue(target.IsLoggedIn); Assert.IsTrue(result.Success); Assert.AreEqual(OnlineStatuses.Online, target.OnlineStatus); loginStatusChangedEvent.VerifyAll(); }
public async Task LoginWithUnregisteredUserAsync() { //Prepare Mock <LoginStatusChangedEvent> loginStatusChangedEvent = new Mock <LoginStatusChangedEvent>(); loginStatusChangedEvent.Setup(x => x.Publish(It.IsAny <IUserService>())).Verifiable(); Mock <IEventAggregator> eventAggregator = new Mock <IEventAggregator>(); eventAggregator.Setup(x => x.GetEvent <LoginStatusChangedEvent>()).Returns(loginStatusChangedEvent.Object); string user = "******"; char[] pass = "******".ToCharArray(); SecureString password = new SecureString(); foreach (char c in pass) { password.AppendChar(c); } //Act IUserService target = new BattlenetService(eventAggregator.Object); UserQueryResult result = await target.LoginAsync(user, password); //Verify Assert.IsNull(target.CurrentUser); Assert.IsFalse(target.IsLoggedIn); Assert.IsFalse(result.Success); Assert.AreEqual(UserQueryResult.ResultCode.LogginFailed, result.Code); loginStatusChangedEvent.Verify(x => x.Publish(It.IsAny <IUserService>()), Times.Never); }
public void Handle(UserQueryResult message) { Data.AllUsersCount = message.QueryResultCount; if (message.Dtos != null) { Data.UsersRetrievedCount += message.Dtos.Length; foreach (var userDto in message.Dtos) { AddUserLite(UserLite.Create(userDto)); } } CompleteSagaIfNecessary(); }
public void Handle(UserQueryResult message) { Data.AllUsersCount = message.QueryResultCount; if (message.Dtos != null) { Data.UsersRetrievedCount += message.Dtos.Length; foreach (var userDto in message.Dtos) { StorageRepository().Get <UserDTO>().Add(userDto); } } CompleteSagaIfNecessary(); }
public IActionResult GetEditUser(int userId) { UserQueryResult user = null; _handler.HandleUserEditRequest(new UserEditRequest { Id = userId }, // Success userQueryResult => { user = userQueryResult; }, // Failure errorMessage => { TempData[ErrorMessageString] = errorMessage; } ); return(View("EditUser", user)); }
public void Handle(UserQueryResult message) { Data.AllUsersCount = message.QueryResultCount; if (message.Dtos != null) { Data.UsersRetrievedCount += message.Dtos.Length; foreach (var userDto in message.Dtos.Where(u => u.IsNotDeletedUser())) { StorageRepository().Get <UserDTO>(userDto.ID.ToString()).Add(userDto); StorageRepository().Get <UserDTO>(userDto.Email).Add(userDto); } } CompleteSagaIfNecessary(); }
public IActionResult Entries(int start, int pageSize) { Task <IList <GoNorthUser> > queryTask = _userDbAccess.GetUsers(start, pageSize); Task <int> countTask = _userDbAccess.GetUserCount(); Task.WaitAll(queryTask, countTask); UserQueryResult queryResult = new UserQueryResult(); queryResult.Users = queryTask.Result.Select(u => MapUserToResponse(u)).ToList(); queryResult.HasMore = start + queryResult.Users.Count < countTask.Result; return(Ok(queryResult)); }
public UserQueryResult MapSingle(UserEntity item) { var query = new UserQueryResult(); if (item != null) { query.Id = item.Id; query.NetworkId = item.NetworkId; query.UserName = item.UserName; query.ProfileId = item.ProfileId; query.MediaType = item.MediaType; query.Url = item.Url; query.AvatarUrl50 = item.AvatarUrl50; } return(query); }
private async Task <UserQueryResult> LoginAsync() { LoginFailed = false; UserQueryResult result = await userService.LoginAsync(Username, SecurePassword); LoginFailed = !result.Success; if (LoginFailed) { Notification = Resources.LoginFailedMessage; } else { Notification = null; } return(result); }
private void Login(string user, SecureString pass) { LoginFailed = false; Notification = null; UserQueryResult result = userService.Login(user, pass); LoginFailed = !result.Success; if (LoginFailed) { Notification = Resources.LoginFailedMessage; } else { Notification = null; } }
private UserQueryResult FillUser(VkNewsSearchResult post, VkNewsFeed feed) { var id = post.FromId; var user = new UserQueryResult(); if (id > 0) { var profile = feed.Profiles.FirstOrDefault(x => x.Id == id); user.NetworkId = id.ToString(); user.UserName = $"{profile.FirstName} {profile.LastName}"; user.ProfileId = profile.UserName; user.AvatarUrl50 = profile.PhotoLink50; } else { var vkGroup = feed.Groups.FirstOrDefault(x => x.Id == Math.Abs(id)); user.NetworkId = id.ToString(); user.UserName = $"{vkGroup.FirstName}"; user.ProfileId = vkGroup.UserName; user.AvatarUrl50 = vkGroup.PhotoLink50; } return(user); }
public UserQueryResult Executequery(string query) { ValidateQuery(query); var result = new UserQueryResult { ColumnHeaders = new List <String>(), Data = new List <List <String> >() }; using (var conn = new SqlConnection(_connectionString)) { conn.Open(); new SqlCommand("BEGIN TRANSACTION", conn).ExecuteNonQuery(); using (var resultReader = new SqlCommand(query, conn).ExecuteReader()) { for (int i = 0; i < resultReader.FieldCount; i++) { result.ColumnHeaders.Add(resultReader.GetName(i)); } while (resultReader.Read()) { var dataRow = new List <String>(); foreach (var column in result.ColumnHeaders) { dataRow.Add(resultReader[column].ToString()); } result.Data.Add(dataRow); } } new SqlCommand("ROLLBACK TRANSACTION", conn).ExecuteNonQuery(); } return(result); }
/// <summary> /// Find user business objects by custom predicates. /// </summary> /// <param name="orderby">sorting field and direction</param> /// <param name="pageIndex">current paging index</param> /// <param name="pageSize">page size</param> /// <param name="predicate">linq predicate. see user properties for predicate at <see cref="RapidWebDev.Platform.Linq.User"/>.</param> /// <returns>Returns enumerable user objects</returns> public UserQueryResult QueryUsersJson(string orderby, int pageIndex, int pageSize, RapidWebDev.Common.WebServiceQueryPredicate predicate) { try { int recordCount; pageSize = (pageSize == 0) ? 25 : pageSize; IEnumerable<UserObject> results = membershipApi.FindUsers(ServicesHelper.ConvertWebPredicateToLinqPredicate(predicate), orderby, pageIndex, pageSize, out recordCount); UserQueryResult result = new UserQueryResult(results.ToList()) { PageIndex = pageIndex, PageSize = pageSize, TotalRecordCount = recordCount }; return result; } catch (ArgumentException ex) { throw new BadRequestException(string.Format(CultureInfo.InvariantCulture, ex.Message)); } catch (BadRequestException bad) { throw new BadRequestException(string.Format(CultureInfo.InvariantCulture, bad.Message)); } catch (FormatException formatEx) { throw new BadRequestException(string.Format(CultureInfo.InvariantCulture, formatEx.Message)); } catch (Exception exp) { Logger.Instance(this).Error(exp); throw new InternalServerErrorException(); } }