1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00
This commit is contained in:
Tom Limoncelli
2017-10-25 11:52:54 -04:00
parent 03168d4a7a
commit 2a98e29eb0
5 changed files with 33 additions and 3 deletions

View File

@ -392,6 +392,26 @@ func makeTests(t *testing.T) []*TestCase {
)
}
// Case Preserving
if !providers.ProviderHasCabability(*providerToRun, providers.CasePreserving) {
t.Log("Skipping case preserving tests because provider does not support them")
} else {
tests = append(tests, tc("Empty"),
// Create down, and change.
tc("Create Downcase", a("foo", "1.1.1.1")),
tc("Upcase", a("FOO", "1.1.1.1")),
tc("Downcase", a("foo", "1.1.1.1")),
tc("Change target", a("foo", "2.2.2.2")),
tc("Upcase and change target", a("FOO", "3.3.3.3")),
// Create up, and change.
tc("Create Upcase", a("BAR", "1.1.1.1")),
tc("Downcase", a("bar", "1.1.1.1")),
tc("Upcase", a("BAR", "1.1.1.1")),
tc("Change target", a("BAR", "2.2.2.2")),
tc("Downcase and change target", a("bar", "3.3.3.3")),
)
}
// Test large zonefiles.
// Mostly to test paging. Many providers page at 100
// Known page sizes:

View File

@ -1,4 +1,4 @@
$TTL 300
@ IN SOA DEFAULT_NOT_SET. DEFAULT_NOT_SET. 2017091830 3600 600 604800 1440
@ IN SOA DEFAULT_NOT_SET. DEFAULT_NOT_SET. 2017102758 3600 600 604800 1440
IN NS ns1.otherdomain.tld.
IN NS ns2.otherdomain.tld.

View File

@ -56,8 +56,15 @@ func initBind(config map[string]string, providermeta json.RawMessage) (providers
}
func init() {
providers.RegisterDomainServiceProviderType("BIND", initBind, providers.CanUsePTR,
providers.CanUseSRV, providers.CanUseCAA, providers.CanUseTLSA, providers.CantUseNOPURGE, docNotes)
providers.RegisterDomainServiceProviderType("BIND", initBind,
providers.CanUsePTR,
providers.CanUseSRV,
providers.CanUseCAA,
providers.CanUseTLSA,
providers.CantUseNOPURGE,
providers.CasePreserving,
docNotes,
)
}
type SoaInfo struct {

View File

@ -24,6 +24,8 @@ const (
// so it is easier to simply mark this feature as not working for this
// provider.
CantUseNOPURGE
// CasePreserving indicates the provider preserves case in DNS names.
CasePreserving
// DocOfficiallySupported means it is actively used and maintained by stack exchange
DocOfficiallySupported

View File

@ -38,6 +38,7 @@ var docNotes = providers.DocumentationNotes{
providers.DocCreateDomains: providers.Can(),
providers.DocOfficiallySupported: providers.Can(),
providers.CanUseAlias: providers.Can("CF automatically flattens CNAME records into A records dynamically"),
providers.CasePreserving: providers.Can(),
}
func init() {