1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00

Add "get-zone" command (#613)

* Add GetZoneRecords to DNSProvider interface
* dnscontrol now uses ufave/cli/v2
* NEW: get-zones.md
* HasRecordTypeName should be a method on models.Records not models.DomainConfig
* Implement BIND's GetZoneRecords
* new WriteZoneFile implemented
* go mod vendor
* Update docs to use get-zone instead of convertzone
* Add CanGetZone capability and update all providers.
* Get all zones for a provider at once (#626)
* implement GetZoneRecords for cloudflare
* munge cloudflare ttls
* Implement GetZoneRecords for cloudflare (#625)

Co-authored-by: Craig Peterson <192540+captncraig@users.noreply.github.com>
This commit is contained in:
Tom Limoncelli
2020-02-18 08:59:18 -05:00
committed by GitHub
parent cd680cc738
commit 87ad01d194
49 changed files with 1327 additions and 612 deletions

View File

@@ -4,24 +4,6 @@ import (
"testing"
)
func TestHasRecordTypeName(t *testing.T) {
x := &RecordConfig{
Type: "A",
Name: "@",
}
dc := DomainConfig{}
if dc.HasRecordTypeName("A", "@") {
t.Errorf("%v: expected (%v) got (%v)\n", dc.Records, false, true)
}
dc.Records = append(dc.Records, x)
if !dc.HasRecordTypeName("A", "@") {
t.Errorf("%v: expected (%v) got (%v)\n", dc.Records, true, false)
}
if dc.HasRecordTypeName("AAAA", "@") {
t.Errorf("%v: expected (%v) got (%v)\n", dc.Records, false, true)
}
}
func TestRR(t *testing.T) {
experiment := RecordConfig{
Type: "A",
@@ -75,10 +57,10 @@ func TestDowncase(t *testing.T) {
&RecordConfig{Type: "MX", Name: "UPPER", Target: "TARGETMX"},
}}
downcase(dc.Records)
if !dc.HasRecordTypeName("MX", "lower") {
if !dc.Records.HasRecordTypeName("MX", "lower") {
t.Errorf("%v: expected (%v) got (%v)\n", dc.Records, false, true)
}
if !dc.HasRecordTypeName("MX", "upper") {
if !dc.Records.HasRecordTypeName("MX", "upper") {
t.Errorf("%v: expected (%v) got (%v)\n", dc.Records, false, true)
}
if dc.Records[0].GetTargetField() != "targetmx" {