using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using HttpClientStudy.Config;


using Microsoft.Extensions.Options;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

namespace HttpClientStudy.UnitTest.ConfigTest
{
    public class WebApiConfigTest
    {
        [Fact]
        public void WebApiOption_Test()
        {
            ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
            configurationBuilder.AddWebApiConfigration();

            IConfiguration configuration = configurationBuilder.Build();

            var services = new ServiceCollection();
            services.AddSingleton<IConfiguration>(configuration);
            services.AddWebApiOptions();

            var provider = services.BuildServiceProvider();
            IOptions<WebApiOption> webApiOptions = provider.GetService<IOptions<WebApiOption>>();

            var webApiConfig = webApiOptions.Value;

            Assert.NotNull(webApiOptions);
            Assert.NotEmpty(webApiConfig.BaseUrl);

        }
    }
}