Esempio n. 1
0
        public void Roundtrip_NoOptions()
        {
            var a = new OPTRecord();
            var b = (OPTRecord) new ResourceRecord().Read(a.ToByteArray());

            Assert.AreEqual(a.Name, b.Name);
            Assert.AreEqual(a.Class, b.Class);
            Assert.AreEqual(a.Type, b.Type);
            Assert.AreEqual(a.TTL, b.TTL);
        }
Esempio n. 2
0
        public void Roundtrip_Empty()
        {
            var opt1     = new OPTRecord();
            var expected = new EdnsKeepaliveOption();

            Assert.AreEqual(EdnsOptionType.Keepalive, expected.Type);
            Assert.AreEqual(false, expected.Timeout.HasValue);
            opt1.Options.Add(expected);

            var opt2   = (OPTRecord) new ResourceRecord().Read(opt1.ToByteArray());
            var actual = (EdnsKeepaliveOption)opt2.Options[0];

            Assert.AreEqual(expected.Type, actual.Type);
            Assert.AreEqual(expected.Timeout.HasValue, actual.Timeout.HasValue);
        }
Esempio n. 3
0
        public void Roundtrip()
        {
            var opt1     = new OPTRecord();
            var expected = new EdnsNSIDOption
            {
                Id = new byte[] { 1, 2, 3, 4 }
            };

            Assert.AreEqual(EdnsOptionType.NSID, expected.Type);
            opt1.Options.Add(expected);

            var opt2   = (OPTRecord) new ResourceRecord().Read(opt1.ToByteArray());
            var actual = (EdnsNSIDOption)opt2.Options[0];

            Assert.AreEqual(expected.Type, actual.Type);
            CollectionAssert.AreEqual(expected.Id, actual.Id);
        }
Esempio n. 4
0
        public void Roundtrip()
        {
            var opt1     = new OPTRecord();
            var expected = new EdnsDAUOption
            {
                Algorithms = { SecurityAlgorithm.ED25519, SecurityAlgorithm.ECCGOST }
            };

            Assert.AreEqual(EdnsOptionType.DAU, expected.Type);
            opt1.Options.Add(expected);

            var opt2   = (OPTRecord) new ResourceRecord().Read(opt1.ToByteArray());
            var actual = (EdnsDAUOption)opt2.Options[0];

            Assert.AreEqual(expected.Type, actual.Type);
            CollectionAssert.AreEqual(expected.Algorithms, actual.Algorithms);
        }
Esempio n. 5
0
        public void Roundtrip()
        {
            var opt1     = new OPTRecord();
            var expected = new EdnsN3UOption
            {
                Algorithms = { DigestType.GostR34_11_94, DigestType.Sha512 }
            };

            Assert.AreEqual(EdnsOptionType.N3U, expected.Type);
            opt1.Options.Add(expected);

            var opt2   = (OPTRecord) new ResourceRecord().Read(opt1.ToByteArray());
            var actual = (EdnsN3UOption)opt2.Options[0];

            Assert.AreEqual(expected.Type, actual.Type);
            CollectionAssert.AreEqual(expected.Algorithms, actual.Algorithms);
        }
Esempio n. 6
0
        public void Roundtrip()
        {
            var opt1     = new OPTRecord();
            var expected = new EdnsKeepaliveOption
            {
                Timeout = TimeSpan.FromSeconds(3)
            };

            Assert.AreEqual(EdnsOptionType.Keepalive, expected.Type);
            opt1.Options.Add(expected);

            var opt2   = (OPTRecord) new ResourceRecord().Read(opt1.ToByteArray());
            var actual = (EdnsKeepaliveOption)opt2.Options[0];

            Assert.AreEqual(expected.Type, actual.Type);
            Assert.AreEqual(expected.Timeout.Value, actual.Timeout.Value);
        }
Esempio n. 7
0
        public void Roundtrip()
        {
            var opt1     = new OPTRecord();
            var expected = new UnknownEdnsOption
            {
                Type = EdnsOptionType.ExperimentalMin,
                Data = new byte[] { 10, 11, 12 }
            };

            opt1.Options.Add(expected);

            var opt2   = (OPTRecord) new ResourceRecord().Read(opt1.ToByteArray());
            var actual = (UnknownEdnsOption)opt2.Options[0];

            Assert.AreEqual(expected.Type, actual.Type);
            CollectionAssert.AreEqual(expected.Data, actual.Data);
        }
Esempio n. 8
0
        public void Roundtrip()
        {
            var opt1     = new OPTRecord();
            var expected = new EdnsPaddingOption
            {
                Padding = new byte[] { 0, 0, 0 }
            };

            Assert.AreEqual(EdnsOptionType.Padding, expected.Type);
            opt1.Options.Add(expected);

            var opt2   = (OPTRecord) new ResourceRecord().Read(opt1.ToByteArray());
            var actual = (EdnsPaddingOption)opt2.Options[0];

            Assert.AreEqual(expected.Type, actual.Type);
            CollectionAssert.AreEqual(expected.Padding, actual.Padding);
        }
Esempio n. 9
0
        public void Roundtrip()
        {
            var a = new OPTRecord
            {
                RequestorPayloadSize = 512,
                Opcode8 = 2,
                Version = 3,
                DO      = true
            };
            var b = (OPTRecord) new ResourceRecord().Read(a.ToByteArray());

            Assert.AreEqual(a.Name, b.Name);
            Assert.AreEqual(a.Class, b.Class);
            Assert.AreEqual(a.Type, b.Type);
            Assert.AreEqual(a.TTL, b.TTL);
            Assert.AreEqual(a.RequestorPayloadSize, b.RequestorPayloadSize);
            Assert.AreEqual(a.Opcode8, b.Opcode8);
            Assert.AreEqual(a.Version, b.Version);
            Assert.AreEqual(a.DO, b.DO);
        }