public async Task ShouldNotFailWhenQueryServerReturnNoElement() { var selector = new DnsServiceTargetSelectorReal(new FakeDnsSrvQuerierEmpty(), new DnsSrvSortResult(), 10, CreateLoggers.CreateILoggerFromNLog()); var ret = await selector.SelectHostAsync(new DnsSrvServiceDescription("service", ProtocolType.Tcp, "domain")); Assert.IsNull(ret); }
public async Task BlacklistForShouldThrowExceptionIfNullValue() { var selector = new DnsServiceTargetSelectorReal(new FakeDnsSrvQuerier(), new DnsSrvSortResult(), 10, CreateLoggers.CreateILoggerFromNLog()); var ret1 = await selector.SelectHostAsync(new DnsSrvServiceDescription("service", ProtocolType.Tcp, "domain")); var ex = Assert.ThrowsAsync <ArgumentNullException>(async() => await selector.BlacklistHostForAsync(null, new TimeSpan(1, 1, 1))); Assert.IsNotNull(ex); }
public void NullServiceThrowException() { var selector = new DnsServiceTargetSelectorReal(null, null, 0, null); var ex = Assert.ThrowsAsync <ArgumentNullException>(async() => await selector.SelectHostAsync(null)); selector = new DnsServiceTargetSelectorReal(null, null, 0, CreateLoggers.CreateILoggerFromNLog()); ex = Assert.ThrowsAsync <ArgumentNullException>(async() => await selector.SelectHostAsync(null)); Assert.IsNotNull(ex); }
public async Task ResetBlacklistForHostShouldNotFailNorThrowException() { var selector = new DnsServiceTargetSelectorReal(new FakeDnsSrvQuerier(), new DnsSrvSortResult(), 10, CreateLoggers.CreateILoggerFromNLog()); var ret1 = await selector.SelectHostAsync(new DnsSrvServiceDescription("service", ProtocolType.Tcp, "domain")); await selector.ResetBlacklistForHostAsync(ret1); var ret2 = await selector.SelectHostAsync(new DnsSrvServiceDescription("service", ProtocolType.Tcp, "domain")); Assert.AreEqual(ret1, ret2); }
public async Task BlacklistForShouldNotFail() { var selector = new DnsServiceTargetSelectorReal(new FakeDnsSrvQuerier(), new DnsSrvSortResult(), 10, CreateLoggers.CreateILoggerFromNLog()); var ret1 = await selector.SelectHostAsync(new DnsSrvServiceDescription("service", ProtocolType.Tcp, "domain")); await selector.BlacklistHostForAsync(ret1, new TimeSpan(1, 1, 1)); var ret2 = await selector.SelectHostAsync(new DnsSrvServiceDescription("service", ProtocolType.Tcp, "domain")); Assert.AreNotEqual(ret1, ret2); }
public void CreateABuildCheckTypeValues() { uint retrieveTime = 20; ProtocolType protocol = ProtocolType.Tcp; string uriString = "https://api.qarnot.com"; Uri uri = new Uri(uriString); IDnsServiceExtractor extract = new DnsServiceExtractorFirstLabelConvention(protocol); IDnsSrvQuerier querier = new DnsSrvQuerier(); // extract sort elements ! DnsSrvServiceDescription service = extract.FromUri(uri); IDnsServiceTargetSelector selector = new DnsServiceTargetSelectorReal(querier, new DnsSrvSortResult(), retrieveTime); ITargetQuarantinePolicy quarantinePolice = new TargetQuarantinePolicyServerUnavailable(); using var delegateHandler = new DnsServiceBalancingMessageHandler(service, selector, quarantinePolice, null); }
public async Task ResetShouldAllowToRecallTheDns() { var logger = CreateLoggers.CreateILoggerFromNLog(); var selector = new DnsServiceTargetSelectorReal(new FakeDnsSrvQuerier(), new DnsSrvSortResult(), 10, logger); var ret = await selector.SelectHostAsync(new DnsSrvServiceDescription("service", ProtocolType.Tcp, "domain")); do { await selector.BlacklistHostForAsync(ret, new TimeSpan(1, 1, 1)); ret = await selector.SelectHostAsync(new DnsSrvServiceDescription("service", ProtocolType.Tcp, "domain")); }while (ret != null); await selector.ResetAsync(); ret = await selector.SelectHostAsync(new DnsSrvServiceDescription("service", ProtocolType.Tcp, "domain")); Assert.IsNotNull(ret); }
public async Task ResetBlacklistForHostAfterAllHostPutInQuaranine() { var selector = new DnsServiceTargetSelectorReal(new FakeDnsSrvQuerier(), new DnsSrvSortResult(), 10, CreateLoggers.CreateILoggerFromNLog()); var save = await selector.SelectHostAsync(new DnsSrvServiceDescription("service", ProtocolType.Tcp, "domain")); var ret = save; do { await selector.BlacklistHostForAsync(ret, new TimeSpan(1, 1, 1)); ret = await selector.SelectHostAsync(new DnsSrvServiceDescription("service", ProtocolType.Tcp, "domain")); }while (ret != null); ret = await selector.SelectHostAsync(new DnsSrvServiceDescription("service", ProtocolType.Tcp, "domain")); Assert.IsNull(ret); await selector.ResetBlacklistForHostAsync(save); ret = await selector.SelectHostAsync(new DnsSrvServiceDescription("service", ProtocolType.Tcp, "domain")); Assert.IsNotNull(ret); }