コード例 #1
0
 // PUT api/dnsentries/5
 public void Put(int id, DnsEntry dnsEntry)
 {
     using (var uow = unitOfWorkProvider.GetUnitOfWork())
     {
         dnsEntry.FullName = dnsEntry.Name;
         dnsEntriesRepository.UpdateDnsEntry(uow, dnsEntry);
         uow.Commit();
     }
 }
コード例 #2
0
 // POST api/dnsentries
 public void Post(DnsEntry dnsEntry)
 {
     using (var uow = unitOfWorkProvider.GetUnitOfWork())
     {
         dnsEntry.FullName = dnsEntry.Name;
         dnsEntriesRepository.AddDnsEntry(uow, dnsEntry);
         uow.Commit();
     }
 }
コード例 #3
0
        public void Should_Find_DNS_Entry_Using_Wildcard()
        {
            new Core.DataAccess.SQL.ModelMappings().Create();
            var dnsEntry = new DnsEntry()
            {
                Type = "TXT",
                Name = "t*st",
                IpV4 = "192.168.1.1",
            };

            IUnitOfWorkProvider unitOfWorkProvider = new NPocoUnitOfWorkProvider();
            using (var uow = unitOfWorkProvider.GetUnitOfWork())
            {
                IDnsEntriesRepository repository = new DnsEntriesRepository();

                repository.DeleteAllEntries(uow);
                var id = repository.AddDnsEntry(uow, dnsEntry);

                uow.Commit();

                repository.FindDnsEntryWithWildcard(uow, new DnsRequest() { Name = "test", Type = dnsEntry.Type }).Id.Should().Be(id);
            }
        }
コード例 #4
0
        public void Should_Create_DNS_Entry()
        {
            var dnsEntry = new DnsEntry()
            {
                Type = "TXT",
                Name = "test",
                IpV4 = "192.168.1.1",
            };

            IUnitOfWorkProvider unitOfWorkProvider = new NPocoUnitOfWorkProvider();
            using (var uow = unitOfWorkProvider.GetUnitOfWork())
            {
                IDnsEntriesRepository repository = new DnsEntriesRepository();
                repository.DeleteAllEntries(uow);

                var id = repository.AddDnsEntry(uow, dnsEntry);

                uow.Commit();

                id.Should().BeGreaterThan(0, "because a valid ID should have been returned when the dns entry was created.");
                dnsEntry.Id.Should().BeGreaterThan(0, "because a valid ID should have been returned when the dns entry was created.");
            }
        }
コード例 #5
0
 public void UpdateDnsEntry(IUnitOfWork uow, DnsEntry dnsEntry)
 {
     uow.Db.Update(Mapper.Map<SQL.Models.DnsEntry>(dnsEntry));
 }
コード例 #6
0
 public int AddDnsEntry(IUnitOfWork uow, DnsEntry dnsEntry)
 {
     //dnsEntry.Name = dnsEntry.Name.Replace('*', '%');
     var entry = Mapper.Map<SQL.Models.DnsEntry>(dnsEntry);
     return Convert.ToInt32(uow.Db.Insert(entry));
 }
コード例 #7
0
ファイル: DnsResolver.cs プロジェクト: nathantreid/kolo-ns
 private DnsEntry ForwardRequestToServer(DnsRequest dnsRequest, ForwardingServer forwardingServer, RecordType recordType)
 {
     var client = new DnsClient(IPAddress.Parse(forwardingServer.IpV4), 2000);
     var answer = client.Resolve(dnsRequest.Name, recordType);
     if (answer != null && answer.AnswerRecords.Any())
     {
         var record = answer.AnswerRecords.FirstOrDefault(r => r.RecordType == recordType);
         //if (record.RecordType != RecordType.A)
         //    return null;
         if (record == null)
             return null;
         if (record.RecordType != RecordType.A)
             return null;
         var dnsEntry = new DnsEntry() { Name = record.Name, IpV4 = ((ARecord)record).Address.ToString() };
         return dnsEntry;
     }
     return null;
 }
コード例 #8
0
        public void Should_Update_DNS_Entry()
        {
            var dnsEntry = new DnsEntry()
            {
                Type = "TXT",
                Name = "testing",
                IpV4 = "192.168.1.1",
            };

            IUnitOfWorkProvider unitOfWorkProvider = new NPocoUnitOfWorkProvider();
            using (var uow = unitOfWorkProvider.GetUnitOfWork())
            {
                IDnsEntriesRepository repository = new DnsEntriesRepository();
                repository.DeleteAllEntries(uow);

                var id = repository.AddDnsEntry(uow, dnsEntry);

                dnsEntry.Name = "test2";
                repository.UpdateDnsEntry(uow, dnsEntry);
                DnsEntry updatedEntry = repository.GetDnsEntry(uow, dnsEntry.Id);
                updatedEntry.Name.Should().Be(dnsEntry.Name);

            }
        }