Beispiel #1
0
        public void WhenSave_AndMasterListContainsPointerResourceRecord_ThenEntryIsSaved()
        {
            // Arrange
            var domain   = new Domain("stratis.test.com");
            var nsDomain = new Domain("pointer.stratis.test.com");

            var testResourceRecord = new PointerResourceRecord(domain, nsDomain);
            var masterFile         = new DnsSeedMasterFile(new List <IResourceRecord> {
                testResourceRecord
            });

            using (var stream = new MemoryStream())
            {
                // Act.
                masterFile.Save(stream);

                // Assert.
                stream.Should().NotBeNull();
                IList <IResourceRecord> resourceRecords = this.ReadResourceRecords(stream);

                resourceRecords.Should().NotBeNull();
                resourceRecords.Should().NotBeNullOrEmpty();

                IList <PointerResourceRecord> pointerResourceRecord = resourceRecords.OfType <PointerResourceRecord>().ToList();
                pointerResourceRecord.Should().HaveCount(1);
                pointerResourceRecord[0].Name.ToString().Should().Be(domain.ToString());
                pointerResourceRecord[0].PointerDomainName.ToString().Should().Be(testResourceRecord.PointerDomainName.ToString());
            }
        }
Beispiel #2
0
 /// <summary>
 /// Writes a <see cref="PointerResourceRecord"/> to JSON.
 /// </summary>
 /// <param name="resourceRecord">The <see cref="PointerResourceRecord"/> to write.</param>
 /// <returns>The written JSON.</returns>
 private JObject WritePointerResourceRecordJson(PointerResourceRecord resourceRecord)
 {
     return(new JObject
     {
         { TypeFieldName, resourceRecord.GetType().Name },
         { NameFieldName, resourceRecord.Name.ToString() },
         { PointerDomainNameFieldName, resourceRecord.PointerDomainName.ToString() }
     });
 }
Beispiel #3
0
            public Task <IResponse> Resolve(IRequest request, CancellationToken cancellationToken = default(CancellationToken))
            {
                IResponse       response = Response.FromRequest(request);
                IResourceRecord record   = new PointerResourceRecord(
                    IPAddress.Parse("192.168.0.1"),
                    new Domain("google.com"));

                response.AnswerRecords.Add(record);
                return(Task.FromResult(response));
            }
Beispiel #4
0
        public void WhenLoad_AndStreamContainsPointerResourceRecord_ThenEntryIsPopulated()
        {
            // Arrange
            var domain   = new Domain("stratis.test.com");
            var nsDomain = new Domain("pointer.stratis.test.com");

            var testResourceRecord = new PointerResourceRecord(domain, nsDomain);

            var question = new Question(domain, RecordType.PTR);

            // Act.
            IList <IResourceRecord> resourceRecords = this.WhenLoad_AndStreamContainsEntry_ThenEntryIsPopulated(testResourceRecord, question);

            // Assert.
            resourceRecords.Should().NotBeNull();
            resourceRecords.Should().NotBeNullOrEmpty();

            IList <PointerResourceRecord> pointerResourceRecord = resourceRecords.OfType <PointerResourceRecord>().ToList();

            pointerResourceRecord.Should().HaveCount(1);
            pointerResourceRecord[0].Name.ToString().Should().Be(domain.ToString());
            pointerResourceRecord[0].PointerDomainName.ToString().Should().Be(testResourceRecord.PointerDomainName.ToString());
        }