public async Task <ActionResult <AuthenticationToken> > Authenticate([FromBody] GetAuthenticationTokenQuery query) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } return(Ok(await Mediator.Send(query))); }
public async Task GivenMessageRequest_WhenPost_ThenAPostReturnsThePostedMessages() { var authQuery = new GetAuthenticationTokenQuery { UserName = "******", Password = "******" }; AuthenticationToken authenticationToken; using (var postAuthResponse = await _client.PostAsJsonAsync($"/api/Auth", authQuery)) { Assert.True(postAuthResponse.IsSuccessStatusCode); authenticationToken = await postAuthResponse.Content.ReadAsAsync <AuthenticationToken>(); Assert.NotEmpty(authenticationToken.Token); } _client.DefaultRequestHeaders.Add("Authorization", $"Bearer {authenticationToken.Token}"); var command = new CreateMessagesCommand { Messages = new List <MessagesViewModel> { new MessagesViewModel { Id = "1", ReceivedAt = DateTime.UtcNow, Title = "Title 1.1", Text = "Text 1.1" }, new MessagesViewModel { Id = "1", ReceivedAt = DateTime.UtcNow, Title = "Title 1.2", Text = "Text 1.2" } } }; List <MessagesViewModel> messages; using (var postMessagesResponse = await _client.PostAsJsonAsync($"/api/Messages", command)) { Assert.True(postMessagesResponse.IsSuccessStatusCode); messages = await postMessagesResponse.Content.ReadAsAsync <List <MessagesViewModel> >(); Assert.True(messages.Count == command.Messages.Count); } }
public async Task GivenLoginRequest_WhenAuth_ThenAPostReturnsErrorWhenPasswordIsWrong() { var query = new GetAuthenticationTokenQuery { UserName = "******", Password = "******" }; using (var postAuthResponse = await _client.PostAsJsonAsync($"/api/Auth", query)) { Assert.False(postAuthResponse.IsSuccessStatusCode); Assert.Equal(HttpStatusCode.InternalServerError, postAuthResponse.StatusCode); } }
public async Task GivenLoginRequest_WhenAuth_ThenAPostReturnsTheJwtToken() { var query = new GetAuthenticationTokenQuery { UserName = "******", Password = "******" }; AuthenticationToken authenticationToken; using (var postAuthResponse = await _client.PostAsJsonAsync($"/api/Auth", query)) { Assert.True(postAuthResponse.IsSuccessStatusCode); authenticationToken = await postAuthResponse.Content.ReadAsAsync <AuthenticationToken>(); Assert.NotEmpty(authenticationToken.Token); } }
public async Task GivenMessageRequest_WhenGet_ThenAGetReturnsSuccessIfAtLeastOneMessageExists() { var authQuery = new GetAuthenticationTokenQuery { UserName = "******", Password = "******" }; AuthenticationToken authenticationToken; using (var postAuthResponse = await _client.PostAsJsonAsync($"/api/Auth", authQuery)) { Assert.True(postAuthResponse.IsSuccessStatusCode); authenticationToken = await postAuthResponse.Content.ReadAsAsync <AuthenticationToken>(); Assert.NotEmpty(authenticationToken.Token); } _client.DefaultRequestHeaders.Add("Authorization", $"Bearer {authenticationToken.Token}"); var query = new GetMessagesQuery { MaxRecords = 3, View = "Grid view" }; List <MessagesViewModel> messages; using (var getMessagesResponse = await _client.GetAsync($"/api/Messages?maxRecords={query.MaxRecords}&view={query.View}")) { Assert.True(getMessagesResponse.IsSuccessStatusCode); messages = await getMessagesResponse.Content.ReadAsAsync <List <MessagesViewModel> >(); Assert.True(messages.Any()); } }