示例#1
0
        public void ResolveRootTest()
        {
            var qRoot               = new DnsQuestion("json1.bit", RecordType.Any, RecordClass.Any);
            var answer              = resolver.GetAnswer(qRoot);
            var expectedRootName    = "json1.bit";
            var expectedRootAddress = IPAddress.Parse(ip);

            Assert.IsInstanceOfType(answer.AnswerRecords.First(), typeof(ARecord));
            Assert.AreEqual(expectedRootName, answer.AnswerRecords.First().Name);
            Assert.AreEqual(expectedRootAddress, ((ARecord)answer.AnswerRecords.First()).Address);
        }
示例#2
0
        public void ImportToMapTest()
        {
            var qFtp = new DnsQuestion("ftp.import_www.bit", RecordType.Any, RecordClass.Any);
            var qWww = new DnsQuestion("www.import_www.bit", RecordType.Any, RecordClass.Any);

            var answerFtp = resolver.GetAnswer(qFtp);
            var answerWww = resolver.GetAnswer(qWww);

            ARecord     aFtp = answerFtp.AnswerRecords.FirstOrDefault() as ARecord;
            CNameRecord cWww = answerWww.AnswerRecords.FirstOrDefault() as CNameRecord;
            ARecord     aWww = answerWww.AdditionalRecords.FirstOrDefault() as ARecord;

            Assert.AreEqual("10.0.1.2", aFtp.Address.ToString());

            Assert.AreEqual("www.import_www.bit", cWww.Name);
            Assert.AreEqual("import_www.bit", cWww.CanonicalName);
            Assert.AreEqual("10.2.3.4", aWww.Address.ToString());
        }
示例#3
0
        public void translateRoot()
        {
            var question = new DnsQuestion("translate1.bit", RecordType.Any, RecordClass.Any);

            var answer = resolver.GetAnswer(question);

            Assert.IsNotNull(answer, "No answer");

            DNameRecord d = answer.AnswerRecords.FirstOrDefault() as DNameRecord;
            ARecord     a = answer.AdditionalRecords.FirstOrDefault() as ARecord;

            Assert.IsNotNull(d, "No DNAME record found");
            Assert.IsNotNull(a, "No A record found");

            Assert.AreEqual("translate1.bit", d.Name);
            Assert.AreEqual("otherhost.bit", d.Target);
            Assert.AreEqual("9.8.7.5", a.Address.ToString());
        }
示例#4
0
        public void ResolveRealCnameTest()
        {
            resolver = new DotBitResolver(NameServer.DnsResolve, client);

            var qWww            = new DnsQuestion("www.hackmaine.org", RecordType.Any, RecordClass.Any);
            var answer          = resolver.GetAnswer(qWww);
            var expectedWwwName = "hackmaine.org";

            Assert.IsNotNull(answer);

            Assert.IsInstanceOfType(answer.AnswerRecords.First(), typeof(CNameRecord));
            Assert.AreEqual("www.hackmaine.org", answer.AnswerRecords.First().Name);
            Assert.AreEqual(expectedWwwName, ((CNameRecord)answer.AnswerRecords.First()).CanonicalName);

            Assert.IsInstanceOfType(answer.AdditionalRecords.First(), typeof(ARecord));
            Assert.AreEqual(expectedWwwName, answer.AdditionalRecords.First().Name);
        }