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)); }
public RuleResolver(DnsRuleGroup[] dnsRuleGroups, DnsValueAlias[] dnsValueAliases) { _dnsRuleGroups = dnsRuleGroups ?? new DnsRuleGroup[] { }; _dnsValueAliases = dnsValueAliases ?? new DnsValueAlias[] { }; }