< Summary

Class:SVETA.Api.Controllers.DaDataController
Assembly:SVETA.Api
File(s):/opt/dev/sveta_api_build/SVETA.Api/Controllers/DaDataController.cs
Covered lines:0
Uncovered lines:14
Coverable lines:14
Total lines:57
Line coverage:0% (0 of 14)
Covered branches:0
Total branches:0

Metrics

MethodLine coverage Branch coverage
.ctor(...)0%100%
SuggestAddress()0%100%

File(s)

/opt/dev/sveta_api_build/SVETA.Api/Controllers/DaDataController.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Threading.Tasks;
 5using AutoMapper;
 6using Microsoft.AspNetCore.Authorization;
 7using Microsoft.AspNetCore.Http;
 8using Microsoft.AspNetCore.Mvc;
 9using Microsoft.Extensions.Logging;
 10using SVETA.Api.Data.DTO;
 11using SVETA.Api.Data.DTO.BankAccount;
 12using SVETA.Api.Helpers.Authorize;
 13using Swashbuckle.AspNetCore.Annotations;
 14using WinSolutions.Sveta.Server.Data.DataModel.Entities;
 15using WinSolutions.Sveta.Server.Services.Interfaces;
 16using WinSolutions.Sveta.Common;
 17using System.Net;
 18using Microsoft.Extensions.Options;
 19using SVETA.Api.Data.Domain;
 20
 21namespace SVETA.Api.Controllers
 22{
 23    [Route("api/v1/DaData")]
 24    [ApiController]
 25    [Authorize]
 26    public class DaDataController : SvetaController
 27    {
 28        DaDataSettings _daDataSettings;
 29
 030        public DaDataController(ILogger<DaDataController> logger, IOptions<DaDataSettings> daDataSettings) : base(logger
 031        {
 032            _daDataSettings = daDataSettings.Value;
 033        }
 34
 35        /// <summary>
 36        /// Ищет варианты адресов на сервере DaData
 37        /// </summary>
 38        /// <param name="query">образец для поиска</param>
 39        /// <returns></returns>
 40        [HttpGet("suggest/address")]
 41        [SwaggerResponse(200, "Успешно", typeof(string))]
 42        [SwaggerResponse(401, "Пользователь не авторизован", typeof(ErrorDTO))]
 43        [SwaggerResponse(500, "Ошибка на стороне сервера", typeof(ErrorDTO))]
 44        public async Task<IActionResult> SuggestAddress(string query)
 045        {
 046            WebClient client = new WebClient();
 047            client.Headers.Add("Content-Type", "application/json");
 048            client.Headers.Add("Accept", "application/json");
 049            client.Headers.Add("Authorization", "Token " + _daDataSettings.ApiKey);
 050            client.QueryString.Add("query", query);
 051            client.QueryString.Add("count", 10.ToString());
 052            string response = client.DownloadString("https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/addres
 53
 054            return Ok(response);
 055        }
 56    }
 57}

Methods/Properties

.ctor(...)
SuggestAddress()