public async Task ValidateToken_CorrectToken_ResponseSuccessStatusAsync(NewUserDto data) { await Task.Delay(1000); data.Username = data.Password = data.Username + "cheburek"; var client = Factory.CreateClient(); await UserCreator.CreateUserAsync(Factory, _contentProvider, data, client); var authData = new AuthorizationDto { Username = data.Username, Password = data.Password }; var getTokenPath = GetControllerActionPath("GetToken"); var validatePath = GetControllerActionPath("ValidateToken"); var authDataContent = _contentProvider.GetJsonStringContent(authData); var response = await client.PostAsync(getTokenPath, authDataContent); response.EnsureSuccessStatusCode(); var result = await response.Content.ReadAsAsync <TokenDto>(); var query = $"?token={result.access_token}"; response = await client.GetAsync(validatePath + query); response.EnsureSuccessStatusCode(); }
public async Task <ServiceResponse <CreateUserResponse> > CreateUserAsync(CreateUserRequest request) { var userToRegister = new ApplicationUser() { LastName = request.LastName, FirstName = request.FirstName, Email = request.Email, UserName = request.Email }; await UserCreator.CreateUserAsync(UserManager, userToRegister, request.Password, request.Roles); var generatedEmailConfirmationToken = await UserManager.GenerateEmailConfirmationTokenAsync(userToRegister); var sendEmailResult = await _emailService.SendEmailAfterRegistrationAsync(userToRegister, generatedEmailConfirmationToken, request.UrlToIncludeInEmail, request.Language); var emailErrors = new List <string>(); if (sendEmailResult.ResponseType != HttpStatusCode.OK) { emailErrors = sendEmailResult.Errors.ToList(); } var userDtoToReturn = Mapper.Map <ApplicationUser, CreateUserResponse>(userToRegister); userDtoToReturn.Roles = request.Roles; return(emailErrors.Any() ? new ServiceResponse <CreateUserResponse>(HttpStatusCode.Created, emailErrors, userDtoToReturn) : new ServiceResponse <CreateUserResponse>(HttpStatusCode.Created, userDtoToReturn)); }
public async Task GetUser_AllPropertiesFilled_RepositoryUsernameEqualsRequestedAsync(NewUserDto data) { await UserCreator.CreateUserAsync(Factory, _contentProvider, data, Client); var currentUserPath = GetControllerActionPath(data.Username); var response = await Client.GetAsync(currentUserPath); var result = await response.Content.ReadAsAsync <UserDto>(); Assert.Equal(data.Username, result.Username); }
public async Task GetAllUsers_AllPropertiesFilled_RepositoryUsernameEqualsRequestedAsync(NewUserDto data) { await UserCreator.CreateUserAsync(Factory, _contentProvider, data, Client); var path = GetControllerActionPath(); var response = await Client.GetAsync(path); response.EnsureSuccessStatusCode(); var result = await response.Content.ReadAsAsync <IEnumerable <UserDto> >(); Assert.Contains(data.Username, result.Select(dto => dto.Username)); }
public async Task Delete_DeleteExistingUser_GetAfterDeleteReturnNotFoundAsync(NewUserDto data) { await UserCreator.CreateUserAsync(Factory, new ContentProvider(), data, Client); var currentUserPath = GetControllerActionPath(data.Username); var response = await Client.DeleteAsync(currentUserPath); response.EnsureSuccessStatusCode(); response = await Client.GetAsync(currentUserPath); Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); }
private async Task <TokenDto> GetToken(NewUserDto data) { await UserCreator.CreateUserAsync(Factory, _contentProvider, data, Client); var authData = new AuthorizationDto { Username = data.Username, Password = data.Password }; var getTokenPath = GetControllerActionPath("GetToken"); var authDataContent = _contentProvider.GetJsonStringContent(authData); var response = await Client.PostAsync(getTokenPath, authDataContent); response.EnsureSuccessStatusCode(); var result = await response.Content.ReadAsAsync <TokenDto>(); return(result); }
public async Task Update_UpdateAmount_ResultAmountEqualsUpdateRequestedAsync(NewUserDto data) { await UserCreator.CreateUserAsync(Factory, _contentProvider, data, Client); var concreteUserPath = GetControllerActionPath(data.Username); var mapper = Factory.Services.GetService <IMapper>(); var updateData = mapper.Map <UserDto>(data); updateData.Amount = 100; var updateContent = _contentProvider.GetJsonStringContent(updateData); var response = await Client.PutAsync(concreteUserPath, updateContent); response.EnsureSuccessStatusCode(); response = await Client.GetAsync(concreteUserPath); var result = await response.Content.ReadAsAsync <UserDto>(); Assert.Equal(updateData.Amount, result.Amount); }
public async Task <ServiceResponse <RegisterResponse> > RegisterAsync(RegisterRequest request) { var userToRegister = new ApplicationUser() { LastName = request.LastName, FirstName = request.FirstName, Email = request.Email, UserName = request.Email }; if (request.Roles.Contains(Role.Administrator)) { throw new RestException(HttpStatusCode.Forbidden); } await UserCreator.CreateUserAsync(UserManager, userToRegister, request.Password, request.Roles); //var generatedEmailConfirmationToken = // await UserManager.GenerateEmailConfirmationTokenAsync(userToRegister); //var sendEmailResult = await _emailService.SendEmailAfterRegistrationAsync(userToRegister, generatedEmailConfirmationToken, request.UrlToIncludeInEmail, request.Language); //var emailErrors = new List<string>(); //if (sendEmailResult.ResponseType != HttpStatusCode.OK) // emailErrors = sendEmailResult.Errors.ToList(); var token = await _jwtGenerator.CreateTokenAsync(userToRegister); var response = new RegisterResponse { Token = token.Token, RefreshToken = token.RefreshToken }; //if (emailErrors.Any()) // return new ServiceResponse<RegisterResponse>(HttpStatusCode.OK, emailErrors, response); return(new ServiceResponse <RegisterResponse>(HttpStatusCode.OK, response)); }