namespace Ocelot.UnitTests.Consul { using System; using Microsoft.Extensions.DependencyInjection; using Moq; using Ocelot.Configuration; using Ocelot.Logging; using Provider.Consul; using Shouldly; using Xunit; public class ProviderFactoryTests { private readonly IServiceProvider _provider; public ProviderFactoryTests() { var services = new ServiceCollection(); var loggerFactory = new Mock(); var logger = new Mock(); loggerFactory.Setup(x => x.CreateLogger()).Returns(logger.Object); loggerFactory.Setup(x => x.CreateLogger()).Returns(logger.Object); var consulFactory = new Mock(); services.AddSingleton(consulFactory.Object); services.AddSingleton(loggerFactory.Object); _provider = services.BuildServiceProvider(); } [Fact] public void should_return_ConsulServiceDiscoveryProvider() { var provider = ConsulProviderFactory.Get(_provider, new ServiceProviderConfiguration("", "", 1, "", "", 1), ""); provider.ShouldBeOfType(); } [Fact] public void should_return_PollingConsulServiceDiscoveryProvider() { var stopsPollerFromPolling = 10000; var provider = ConsulProviderFactory.Get(_provider, new ServiceProviderConfiguration("pollconsul", "", 1, "", "", stopsPollerFromPolling), ""); provider.ShouldBeOfType(); } } }