Пример #1
0
        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;
            }
        }
Пример #2
0
        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));
        }