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()); } }
/// <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() } }); }
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)); }
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()); }