public void ModifyExistingNews_NotNewsOwner_ValidData_ValidAccessToken_ShouldReturn_401Unathorized() { // Arrange this.Register(); var loginData = this.Login(); var dbNewsId = this.CreateNews(loginData); var secondRegistrationContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("username", "stefan1"), new KeyValuePair<string, string>("password", "stefan1"), new KeyValuePair<string, string>("confirmPassword", "stefan1"), new KeyValuePair<string, string>("email", "*****@*****.**") }); var registrationHttpResponse = this.httpClient.PostAsync("api/account/register", secondRegistrationContent).Result; Assert.AreEqual(HttpStatusCode.OK, registrationHttpResponse.StatusCode); var loginContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("username", "stefan1"), new KeyValuePair<string, string>("password", "stefan1"), new KeyValuePair<string, string>("grant_type", "password") }); var loginHttpResponse = this.httpClient.PostAsync("api/account/login", loginContent).Result; var newLoginData = loginHttpResponse.Content.ReadAsAsync<LoginData>().Result; Assert.AreEqual(HttpStatusCode.OK, loginHttpResponse.StatusCode); var news = new EditNewsBindingModel { Title = "Edited title", Content = "Edited content", PublishDate = DateTime.Now }; var newsContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("title", news.Title), new KeyValuePair<string, string>("content", news.Content), new KeyValuePair<string, string>("publishDate", news.PublishDate.ToString()) }); // Act this.httpClient.DefaultRequestHeaders.Add( "Authorization", "Bearer " + newLoginData.Access_Token); var httpResponse = this.httpClient.PutAsync("api/news/" + dbNewsId, newsContent).Result; // Assert Assert.AreEqual(HttpStatusCode.Unauthorized, httpResponse.StatusCode); }
public void ModifyExistingNews_ValidData_DuplicateTitle_ValidAccessToken_ShouldReturn_409Conflict() { // Arrange this.Register(); var loginData = this.Login(); this.CreateNews(loginData); var secondNews = new AddNewsBindingModel { Title = "Second news title", Content = "second news content", PublishDate = DateTime.Now }; var secondNewsContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("title", secondNews.Title), new KeyValuePair<string, string>("content", secondNews.Content), new KeyValuePair<string, string>("publishDate", secondNews.PublishDate.ToString()) }); // Act this.httpClient.DefaultRequestHeaders.Add( "Authorization", "Bearer " + loginData.Access_Token); var secondNewsHttpResponce = this.httpClient.PostAsync("api/news", secondNewsContent).Result; Assert.AreEqual(HttpStatusCode.Created, secondNewsHttpResponce.StatusCode); var newsId = secondNewsHttpResponce.Content.ReadAsAsync<NewsViewModel>().Result.Id; var editedNews = new EditNewsBindingModel { Title = "News title", Content = "Edited content", PublishDate = DateTime.Now }; var editedNewsContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("title", editedNews.Title), new KeyValuePair<string, string>("content", editedNews.Content), new KeyValuePair<string, string>("publishDate", editedNews.PublishDate.ToString()) }); // Act var httpResponse = this.httpClient.PutAsync("api/news/" + newsId, editedNewsContent).Result; // Assert Assert.AreEqual(HttpStatusCode.Conflict, httpResponse.StatusCode); }
public void ModifyNonExistingNews_ValidData_ValidAccessToken_ShouldReturn_404NotFound() { // Arrange this.Register(); var loginData = this.Login(); var news = new EditNewsBindingModel { Title = "Edited title", Content = "Edited content", PublishDate = DateTime.Now }; var newsContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("title", news.Title), new KeyValuePair<string, string>("content", news.Content), new KeyValuePair<string, string>("publishDate", news.PublishDate.ToString()) }); // Act this.httpClient.DefaultRequestHeaders.Add( "Authorization", "Bearer " + loginData.Access_Token); var httpResponse = this.httpClient.PutAsync("api/news/100", newsContent).Result; // Assert Assert.AreEqual(HttpStatusCode.NotFound, httpResponse.StatusCode); }
public void ModifyExistingNews_ValidData_NoAccessToken_ShouldReturn_401Unauthorized() { // Arrange this.Register(); var loginData = this.Login(); var dbNewsId = this.CreateNews(loginData); var news = new EditNewsBindingModel { Title = "Edited title", Content = "Edited content", PublishDate = DateTime.Now }; var newsContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("title", news.Title), new KeyValuePair<string, string>("content", news.Content), new KeyValuePair<string, string>("publishDate", news.PublishDate.ToString()) }); // Act var httpResponse = this.httpClient.PutAsync("api/news/" + dbNewsId, newsContent).Result; // Assert Assert.AreEqual(HttpStatusCode.Unauthorized, httpResponse.StatusCode); }