Ejemplo n.º 1
0
        public async Task IsItPossibleToCreateNewUser()
        {
            var user = new Eager.User()
            {
                Username = "******",
                Password = "******",
                Email    = "*****@*****.**"
            };
            var content = new StringContent(JsonConvert.SerializeObject(user), Encoding.UTF8, "application/json");

            var userBadData = new Eager.User()
            {
                Username = "",
                Password = "******",
                Email    = "post@user"
            };
            var contentBadData = new StringContent(JsonConvert.SerializeObject(userBadData), Encoding.UTF8, "application/json");

            var unauthResponse = await DefaultClient.PostAsync("api/Users", content);

            Assert.Equal(HttpStatusCode.Unauthorized, unauthResponse.StatusCode);

            var badResponse = await AuthorizedClient.PostAsync("api/Users", contentBadData);

            Assert.Equal(HttpStatusCode.BadRequest, badResponse.StatusCode);

            var response = await AuthorizedClient.PostAsync("api/Users", content);

            var responseContent = await response.Content.ReadAsStringAsync();

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Put([FromBody] Eager.User user)
        {
            if (!user.Id.HasValue)
            {
                return(BadRequest());
            }

            if (!_userRepository.Exists(user.Id.Value))
            {
                return(NoContent());
            }

            var userMapped = _mapper.Map <Models.User>(user);

            var validationErrors = UserValidator.OnUserCreateValidation(userMapped);

            if (validationErrors.Any())
            {
                return(BadRequest(validationErrors));
            }

            await _userRepository.Update(userMapped);

            return(Ok());
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Post([FromBody] Eager.User user)
        {
            var userMapped = _mapper.Map <Models.User>(user);

            var validationErrors = UserValidator.OnUserCreateValidation(userMapped);

            if (validationErrors.Any())
            {
                return(BadRequest(validationErrors));
            }

            userMapped.Password = SHA.GenerateSHA256String(userMapped.Password);

            var userCreated = await _userRepository.Create(userMapped);

            return(Created($"{this.Request.Scheme}://{this.Request.Host}/api/Users/{userCreated.Id}", null));
        }
Ejemplo n.º 4
0
        public async Task IsUpdatingUserPossible()
        {
            var users    = userRepository.GetAllUsers().Result;
            var goodData = new Eager.User
            {
                Id       = sampleUser.Id,
                Username = "******",
                Password = "******",
                Email    = "*****@*****.**"
            };

            var badData = new Eager.User
            {
                Username = "",
                Password = "******",
                Email    = "user@put"
            };

            var contentGoodData = new StringContent(JsonConvert.SerializeObject(goodData), Encoding.UTF8, "application/json");
            var contentBadData  = new StringContent(JsonConvert.SerializeObject(badData), Encoding.UTF8, "application/json");

            badData.Id = Guid.NewGuid();
            var contentUnknownId = new StringContent(JsonConvert.SerializeObject(badData), Encoding.UTF8, "application/json");

            var unauthResponse = await DefaultClient.PutAsync("api/Users", contentGoodData);

            Assert.Equal(HttpStatusCode.Unauthorized, unauthResponse.StatusCode);

            var badResponse = await AuthorizedClient.PutAsync("api/Users", contentBadData);

            Assert.Equal(HttpStatusCode.BadRequest, badResponse.StatusCode);

            var noContentResponse = await AuthorizedClient.PutAsync($"api/Users", contentUnknownId);

            Assert.Equal(HttpStatusCode.NoContent, noContentResponse.StatusCode);

            var goodResponse = await AuthorizedClient.PutAsync("api/Users", contentGoodData);

            Assert.Equal(HttpStatusCode.OK, goodResponse.StatusCode);
        }