예제 #1
0
        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);
        }
예제 #2
0
        public void AllStatusCodeEnums(System.Net.HttpStatusCode statusCodeToTest)
        {
            var targetQuarantine = new TargetQuarantinePolicyServerUnavailable();

            using HttpResponseMessage response = new HttpResponseMessage();
            bool shouldQuarantine = false;

            response.StatusCode = statusCodeToTest;
            if (statusCodeToTest == System.Net.HttpStatusCode.InternalServerError ||
                statusCodeToTest == System.Net.HttpStatusCode.BadGateway ||
                statusCodeToTest == System.Net.HttpStatusCode.GatewayTimeout ||
                statusCodeToTest == System.Net.HttpStatusCode.ServiceUnavailable)
            {
                shouldQuarantine = true;
            }

            Assert.AreEqual(shouldQuarantine, targetQuarantine.ShouldQuarantine(response));
        }