示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }