private async Task CreateAPIToken() { var server = CreateServer(); var client = server.CreateClient(); client.DefaultRequestHeaders.Authorization = GetAuthenticationHeaderForTokenCreation(); // Switch to json requests for api-token creation and back to raw after post var url = GetTokenCreationUrl(); var req = GetTokenCreationRequest(); var(_, responsePost) = await Post <APITokenViewModelCreate, APITokenViewModelGet>(client, url, req, HttpStatusCode.OK); _postRawData = true; // Only try to deserialize in case there are no exception if (responsePost.IsSuccessStatusCode) { string responseString = await responsePost.Content.ReadAsStringAsync(); APITokenViewModelGet response = JsonSerializer.Deserialize <APITokenViewModelGet>(responseString); // Store token for all test cases _apiToken = response.Token; } }
public ActionResult <APITokenViewModelGet> Post(string accountid, string channelid, [FromBody] APITokenViewModelCreate data) { logger.LogInformation($"Generate API Token for accountid: {accountid} and channel: {channelid}."); if (!long.TryParse(accountid, out long aid)) { var error = SPVChannelsHTTPError.NotFound; return(NotFound(ProblemDetailsFactory.CreateProblemDetails(HttpContext, error.Code, error.Description))); } var channel = channelRepository.GetChannelByExternalId(channelid); if (channel == null) { var error = SPVChannelsHTTPError.NotFound; return(NotFound(ProblemDetailsFactory.CreateProblemDetails(HttpContext, error.Code, error.Description))); } var newAPIToken = apiTokenRepository.CreateAPIToken(data.ToDomainObject(aid, channel.Id)); var returnResult = new APITokenViewModelGet(newAPIToken); logger.LogInformation($"API Token(id) {returnResult.Id} was generated."); return(Ok(returnResult)); }