public void TestDifferentFromUriWithServiceAndDomainWhiteListWithAllowSubDomain(string url, string service, string domain, bool isTrue)
        {
            Uri uri = new Uri(url);
            var serviceWhiteList = new List <string>()
            {
                "api", "test"
            };
            var domainWhiteList = new List <string>()
            {
                "qarnot.com", "qarnot.retribution.fr"
            };
            IDnsServiceExtractor     extractor   = new DnsServiceExtractorFirstLabelConvention(null, serviceWhiteList, domainWhiteList, true);
            DnsSrvServiceDescription description = extractor.FromUri(uri);

            if (isTrue)
            {
                Assert.AreEqual(service, description.ServiceName);
                Assert.AreEqual(domain, description.Domain);
            }
            else
            {
                Assert.AreEqual(null, description);
                Assert.AreEqual(null, description);
            }
        }
        public void TestDifferentFromUriWithServiceAndDomainWhiteList(ProtocolType protocol)
        {
            IDnsServiceExtractor     extractor   = new DnsServiceExtractorFirstLabelConvention(protocol);
            DnsSrvServiceDescription description = extractor.FromUri(new Uri("https://api.qarnot.com"));

            Assert.AreEqual(description.Protocol, protocol);
        }
        public void TestDifferentFromUri(string url, string service, string domain)
        {
            Uri uri = new Uri(url);
            IDnsServiceExtractor     extractor   = new DnsServiceExtractorFirstLabelConvention(null);
            DnsSrvServiceDescription description = extractor.FromUri(uri);

            Assert.AreEqual(service, description.ServiceName);
            Assert.AreEqual(domain, description.Domain);
        }
        public void CreateDnsQueryStringReturnTheGoodString()
        {
            DnsSrvServiceDescription service = new DnsSrvServiceDescription("test", ProtocolType.Tcp, "qarnot.com");
            string queryString = CreateDnsQueryString(service);

            Assert.AreEqual("_test._tcp.qarnot.com.", queryString.ToLower());

            service     = new DnsSrvServiceDescription("test2", ProtocolType.Ipx, "hello.qarnot.com");
            queryString = CreateDnsQueryString(service);
            Assert.AreEqual("_test2._ipx.hello.qarnot.com.", queryString.ToLower());
        }
예제 #5
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);
        }
 public async Task <DnsSrvQueryResult> QueryServiceAsync(DnsSrvServiceDescription service)
 {
     return(await Task.FromResult(new DnsSrvQueryResult(DnsSrvResultEntryList)));
 }
예제 #7
0
 public async Task <DnsSrvQueryResult> QueryServiceAsync(DnsSrvServiceDescription service)
 {
     return(await Task.FromResult(new DnsSrvQueryResult(DnsSrvResultEntryList.Select(entity => new DnsSrvResultEntry(entity.HostName, entity.Port, entity.Priority, entity.Weight, entity.TimeToLiveInSec)).ToList())));
 }