public void ShouldResolveExactMatchWithAlias()
        {
            string testExpectedHostname = "example.com";
            string testalias = "IIS1";
            string testExpectedResult = "iis1.example.com";

            DnsRuleGroup group = new DnsRuleGroup();
            group.AddRule(new DnsRule
                              {
                                  Hostnames = new[] { (Hostname)testExpectedHostname },
                                  RecordType = DnsRecordType.CNAME,
                                  ValueAlias = testalias
                              });

            DnsValueAlias alias = new DnsValueAlias { Name = testalias, Value = testExpectedResult };

            RuleResolver resolver = new RuleResolver(new DnsRuleGroup[] { group },
                                                     new DnsValueAlias[] { alias });

            QueryResult result = resolver.Resolve(new Query
                                                      {
                                                          QueryType = DnsRecordType.CNAME,
                                                          Question = testExpectedHostname
                                                      });

            Assert.That(result, Is.Not.Null);
            Assert.That(result.Result, Is.True);
            Assert.That(result.RecordType, Is.EqualTo(DnsRecordType.CNAME));
            Assert.That(result.RecordValue, Is.EqualTo(testExpectedResult));
        }
Example #2
0
 public RuleResolver(DnsRuleGroup[] dnsRuleGroups, DnsValueAlias[] dnsValueAliases)
 {
     _dnsRuleGroups = dnsRuleGroups ?? new DnsRuleGroup[] { };
     _dnsValueAliases = dnsValueAliases ?? new DnsValueAlias[] { };
 }