Skip to content

DNSimple provider#43

Merged
captncraig merged 12 commits intoStackExchange:masterfrom
dnsimple:feature/dnsimple-provider
Mar 19, 2017
Merged

DNSimple provider#43
captncraig merged 12 commits intoStackExchange:masterfrom
dnsimple:feature/dnsimple-provider

Conversation

@aeden
Copy link
Copy Markdown
Contributor

@aeden aeden commented Mar 15, 2017

This PR implements a DNSimple provider. I have implemented support for both the DNS provider as well as the registrar provider, however I have only tested the DNS provider at this time.

Currently system records (i.e. SOA and NS records) are not editable in DNSimple, so when they are pushed our API will respond with a 400. This does not stop the provider from functioning, but it'd be better to remove those types from the corrections.

It is possible to specify a baseurl in the creds.json to use our sandbox (at https://sandbox.dnsimple.com) which is useful in testing.

@mhenderson-so
Copy link
Copy Markdown
Contributor

Looks like github.com/dnsimple/dnsimple-go/dnsimple needs to be vendored

Copy link
Copy Markdown
Contributor

@captncraig captncraig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is amazing to have so fast. It looks really good, just a few comments to address presently.

I'll work on setting up an account so I can test it a bit more.

@@ -0,0 +1,31 @@
## Dnsimple Provider
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can probably omit this file. Some other providers have them from before we made a seperate docs section.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

return recordsResponse.Data, nil
}

// Returns the name server names that should be used. If the domain is registered
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, this api may be a bit misleading. For a DNS provider we always want GetNameservers to return the authoritative nameservers for the zone on this provider (in this case the default DNSimple nameservers every time it seems). The registrar actually making sure those are delegated properly is an orthogonal operation.

This lets us do things like get 4 possible nameservers each from 2 providers and choose 2 from each to delegate to.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are both registrar and DNS provider expected to use this same function? If so, I'll need to separate those implementations.


var actual []*models.RecordConfig
for _, r := range records {
fqdn := r.Name + "." + dc.Name
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

var actual []*models.RecordConfig
for _, r := range records {
fqdn := r.Name + "." + dc.Name
fqdn = strings.TrimLeft(fqdn, ".")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does it have a "." on the left? Should this be TrimRight?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This trims the dot from the case where r.Name is blank (i.e. it's a record on the apex).

I took this approach rather than branching with an if/else on r.Name == ""

@captncraig
Copy link
Copy Markdown
Contributor

Is there a way to make a sandbox account to test with without providing a credit card up front?

@aeden
Copy link
Copy Markdown
Contributor Author

aeden commented Mar 16, 2017

Looks like github.com/dnsimple/dnsimple-go/dnsimple needs to be vendored

It does. I couldn't find documentation explaining what vendoring mechanism is being used - is it just godep?

@captncraig
Copy link
Copy Markdown
Contributor

Govendor actually.

@aeden
Copy link
Copy Markdown
Contributor Author

aeden commented Mar 16, 2017

Is there a way to make a sandbox account to test with without providing a credit card up front?

https://developer.dnsimple.com/sandbox/ provides information on how to set up a sandbox account, including with acceptable mock credit card details.

@aeden
Copy link
Copy Markdown
Contributor Author

aeden commented Mar 16, 2017

Govendor actually.

👍 - I haven't used it yet, so I'll get it set up and vendor the dnsimple lib today.

@captncraig
Copy link
Copy Markdown
Contributor

Made a few changes to get my tests working against it. Looks pretty good.

It does look like the web ui allows me to set additional nameservers from other domains, but that isn't exposed via the api. That is unfortunate. We still couldn't delete any of the dnsimple NS records, or change the ttls, but it would still open up more scenarios.

@aeden
Copy link
Copy Markdown
Contributor Author

aeden commented Mar 17, 2017

It does look like the web ui allows me to set additional nameservers from other domains, but that isn't exposed via the api.

That's correct, the ability to control secondary DNS is not yet available via the API. It's on the short list of things coming in the future.

We still couldn't delete any of the dnsimple NS records, or change the ttls, but it would still open up more scenarios.

That's true, but it's not completely out of the realm of possibility in the future. We've mostly kept the management of NS and SOA records a tightly controlled part of our system, simply to avoid mistakes with delegation that can be obscure and hard to grok. Having said that, as we see more people using APIs to control DNS (rather than traditional AXFR) I can see that we may need to change our stance on this. I'll mull it over.

@aeden
Copy link
Copy Markdown
Contributor Author

aeden commented Mar 17, 2017

Is there anything else you need from me at this point @captncraig ?

@captncraig
Copy link
Copy Markdown
Contributor

No, I'm actually comfortable merging this now. Great work. I've been really impressed with dnsimple so far.

@captncraig captncraig merged commit 4fef4a8 into StackExchange:master Mar 19, 2017
tlimoncelli pushed a commit that referenced this pull request Mar 20, 2017
* Implement a basic DNSimple provider.

Handles domain delegation as well as record create, update, and delete.

Note that this is completely untested at the moment. It’s so alpha it might burn your face off.

* Add some inline comments. Always use the StackExchange libs.

* Clean up dnsimple docs a little

* This will need to be changed before merging.

* Import the dnsimple dnscontrol package from its expected path

* Properly build the FQDN and implement record listing so create/update/delete are used correctly.

* Add support for overriding base URL to allow connection to sandbox.

* Vendor dnsimple-go and its dependencies.

* Remove unnecessary doc file.

* Use dnsutil.AddOrigin for combining record name and origin.

* Modifying dnsimple provider to pass tests
captncraig pushed a commit that referenced this pull request Mar 20, 2017
* NEW: convertzone/ Read BIND zone files, output records as DSL, TSV, or pretty-print.

* Refactored to be more gostyle.

* Fix buffering issue.

* Delete the hacky awk script.

* Linting.

* Lint and documentation fixes.

* DNSimple provider (#43)

* Implement a basic DNSimple provider.

Handles domain delegation as well as record create, update, and delete.

Note that this is completely untested at the moment. It’s so alpha it might burn your face off.

* Add some inline comments. Always use the StackExchange libs.

* Clean up dnsimple docs a little

* This will need to be changed before merging.

* Import the dnsimple dnscontrol package from its expected path

* Properly build the FQDN and implement record listing so create/update/delete are used correctly.

* Add support for overriding base URL to allow connection to sandbox.

* Vendor dnsimple-go and its dependencies.

* Remove unnecessary doc file.

* Use dnsutil.AddOrigin for combining record name and origin.

* Modifying dnsimple provider to pass tests

* NEW: convertzone/ Read BIND zone files, output records as DSL, TSV, o… (#49)

* NEW: convertzone/ Read BIND zone files, output records as DSL, TSV, or pretty-print.

* Refactored to be more gostyle.

* Fix buffering issue.

* Delete the hacky awk script.

* Linting.

* Update README.md

* Update README.md

* Update README.md

* Docs
@tlimoncelli
Copy link
Copy Markdown
Contributor

FYI: I just updated provider-list.md to clarify the responsibilities of someone that submits a new provider. Basically you'll be asked to fix future bugs, but the DNSControl maintainers will take responsibility for maintaining a test suite that lets you do that easily. May we list you as the maintainer of this provider?

@aeden
Copy link
Copy Markdown
Contributor Author

aeden commented Aug 7, 2017

Yes, you may list me as the maintainer.

@weppos weppos deleted the feature/dnsimple-provider branch August 15, 2017 18:31
rblenkinsopp pushed a commit to rblenkinsopp/dnscontrol that referenced this pull request Aug 21, 2020
* Implement a basic DNSimple provider.

Handles domain delegation as well as record create, update, and delete.

Note that this is completely untested at the moment. It’s so alpha it might burn your face off.

* Add some inline comments. Always use the StackExchange libs.

* Clean up dnsimple docs a little

* This will need to be changed before merging.

* Import the dnsimple dnscontrol package from its expected path

* Properly build the FQDN and implement record listing so create/update/delete are used correctly.

* Add support for overriding base URL to allow connection to sandbox.

* Vendor dnsimple-go and its dependencies.

* Remove unnecessary doc file.

* Use dnsutil.AddOrigin for combining record name and origin.

* Modifying dnsimple provider to pass tests
rblenkinsopp pushed a commit to rblenkinsopp/dnscontrol that referenced this pull request Aug 21, 2020
* NEW: convertzone/ Read BIND zone files, output records as DSL, TSV, or pretty-print.

* Refactored to be more gostyle.

* Fix buffering issue.

* Delete the hacky awk script.

* Linting.

* Lint and documentation fixes.

* DNSimple provider (StackExchange#43)

* Implement a basic DNSimple provider.

Handles domain delegation as well as record create, update, and delete.

Note that this is completely untested at the moment. It’s so alpha it might burn your face off.

* Add some inline comments. Always use the StackExchange libs.

* Clean up dnsimple docs a little

* This will need to be changed before merging.

* Import the dnsimple dnscontrol package from its expected path

* Properly build the FQDN and implement record listing so create/update/delete are used correctly.

* Add support for overriding base URL to allow connection to sandbox.

* Vendor dnsimple-go and its dependencies.

* Remove unnecessary doc file.

* Use dnsutil.AddOrigin for combining record name and origin.

* Modifying dnsimple provider to pass tests

* NEW: convertzone/ Read BIND zone files, output records as DSL, TSV, o… (StackExchange#49)

* NEW: convertzone/ Read BIND zone files, output records as DSL, TSV, or pretty-print.

* Refactored to be more gostyle.

* Fix buffering issue.

* Delete the hacky awk script.

* Linting.

* Update README.md

* Update README.md

* Update README.md

* Docs
Olivetti added a commit to Olivetti/dnscontrol that referenced this pull request Apr 6, 2022
providers-test-netcup.log appended:

=== RUN   TestDNSProviders
=== RUN   TestDNSProviders/oXXX.de
=== RUN   TestDNSProviders/oXXX.de/Clean_Slate:Empty
    integration_test.go:220: DELETE A test.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50790741
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record
    integration_test.go:220: CREATE A oXXX.de 1.1.1.1 ttl=0
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Change_it
    integration_test.go:220: MODIFY A oXXX.de: (1.1.1.1 ttl=0) -> (1.2.3.4 ttl=0), Netcup ID: 50825306: 
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Add_another
    integration_test.go:220: CREATE A www.oXXX.de 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name)
    integration_test.go:220: CREATE A www.oXXX.de 5.6.7.8 ttl=0
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl
    integration_test.go:216: Expected changes, but got none
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty
    integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825306
    integration_test.go:220: DELETE A www.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825307
    integration_test.go:220: DELETE A www.oXXX.de 5.6.7.8 ttl=0, Netcup ID: 50825308
=== RUN   TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard
    integration_test.go:220: CREATE A *.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A www.oXXX.de 1.1.1.1 ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#01
    integration_test.go:220: DELETE A *.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825309
    integration_test.go:220: DELETE A www.oXXX.de 1.1.1.1 ttl=0, Netcup ID: 50825310
=== RUN   TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME
    integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#02
    integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825311
=== RUN   TestDNSProviders/oXXX.de/03:MX:MX_record
    integration_test.go:220: CREATE MX oXXX.de 5 foo.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#03
    integration_test.go:220: DELETE MX oXXX.de 5 foo.com. ttl=0, Netcup ID: 50825312
=== RUN   TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty
=== RUN   TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty
=== RUN   TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records
    integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
    integration_test.go:220: CREATE A foo.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#04
    integration_test.go:220: DELETE A foo.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825313
=== RUN   TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records
    integration_test.go:220: CREATE TXT bar.oXXX.de "stringbar" ttl=0
    integration_test.go:220: CREATE A bar.oXXX.de 2.4.6.8 ttl=0
    integration_test.go:220: CREATE A oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE TXT oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 2.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT bar.oXXX.de "stringbar" ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#1: CREATE TXT oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#05
    integration_test.go:220: DELETE A bar.oXXX.de 2.4.6.8 ttl=0, Netcup ID: 50825314
    integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825315
=== RUN   TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records
    integration_test.go:220: CREATE CNAME bar.oXXX.de test.bar.com. ttl=0
    integration_test.go:220: CREATE CNAME foo.oXXX.de test.foo.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#06
    integration_test.go:220: DELETE CNAME bar.oXXX.de test.bar.com. ttl=0, Netcup ID: 50825316
    integration_test.go:220: DELETE CNAME foo.oXXX.de test.foo.com. ttl=0, Netcup ID: 50825317
=== RUN   TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT
    integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#07
=== RUN   TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF
    integration_test.go:220: CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#08
=== RUN   TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT
    integration_test.go:220: CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#09
=== RUN   TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string
    integration_test.go:206: ***SKIPPED(PROVIDER DOES NOT SUPPORT 'txtstring is empty' ::"12:complex TXT")
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#10
=== RUN   TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT
    integration_test.go:220: CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#11
=== RUN   TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1
    integration_test.go:220: CREATE TXT foo1.oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo1.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#12
=== RUN   TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1
    integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#13
=== RUN   TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME
    integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#14
    integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825318
=== RUN   TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS
    integration_test.go:220: CREATE MX bar.oXXX.de 5 bar.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#15
    integration_test.go:220: DELETE MX bar.oXXX.de 5 bar.com. ttl=0, Netcup ID: 50825319
=== RUN   TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name
    integration_test.go:220: CREATE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#16
    integration_test.go:220: DELETE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825320
=== RUN   TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
    integration_test.go:220: CREATE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#17
    integration_test.go:220: DELETE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0, Netcup ID: 50825321
=== RUN   TestDNSProviders/oXXX.de/20:pager101:99_records
    integration_test.go:220: CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 99.
    integration_test.go:241: UNEXPECTED #0: CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#1: CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#2: CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#3: CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#4: CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#5: CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#6: CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#7: CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#8: CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#9: CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#10: CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#11: CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#12: CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#13: CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#14: CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#15: CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#16: CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#17: CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#18: CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#19: CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#20: CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#21: CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#22: CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#23: CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#24: CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#25: CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#26: CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#27: CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#28: CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#29: CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#30: CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#31: CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#32: CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#33: CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#34: CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#35: CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#36: CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#37: CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#38: CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#39: CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#40: CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#41: CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#42: CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#43: CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#44: CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#45: CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#46: CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#47: CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#48: CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#49: CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#50: CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#51: CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#52: CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#53: CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#54: CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#55: CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#56: CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#57: CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#58: CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#59: CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#60: CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#61: CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#62: CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#63: CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#64: CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#65: CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#66: CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#67: CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#68: CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#69: CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#70: CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#71: CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#72: CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#73: CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#74: CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#75: CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#76: CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#77: CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#78: CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#79: CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#80: CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#81: CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#82: CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#83: CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#84: CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#85: CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#86: CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#87: CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#88: CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#89: CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#90: CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#91: CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#92: CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#93: CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#94: CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#95: CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#96: CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#97: CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#98: CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#18
=== RUN   TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/23:CAA:CAA_record
    integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#19
=== RUN   TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records
    integration_test.go:220: CREATE CAA oXXX.de 0 issuewild ";" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issuewild ";" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#20
=== RUN   TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces
    integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#21
=== RUN   TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/29:SRV:SRV_record
    integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#22
=== RUN   TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target
    integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0
    integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 2.
    integration_test.go:241: UNEXPECTED #0: CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#1: CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#23
=== RUN   TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty
--- FAIL: TestDNSProviders (25.84s)
    --- FAIL: TestDNSProviders/oXXX.de (24.98s)
        --- PASS: TestDNSProviders/oXXX.de/Clean_Slate:Empty (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record (0.33s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Change_it (0.32s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another (0.34s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name) (0.38s)
        --- FAIL: TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl (0.11s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty (0.59s)
        --- PASS: TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard (0.46s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#01 (0.37s)
        --- PASS: TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME (0.31s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#02 (0.23s)
        --- PASS: TestDNSProviders/oXXX.de/03:MX:MX_record (0.31s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#03 (0.21s)
        --- PASS: TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.10s)
        --- PASS: TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.08s)
        --- FAIL: TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records (0.36s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#04 (0.24s)
        --- FAIL: TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records (0.57s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#05 (0.35s)
        --- PASS: TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records (0.45s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#06 (0.38s)
        --- FAIL: TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#07 (0.08s)
        --- FAIL: TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF (0.28s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#08 (0.12s)
        --- FAIL: TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#09 (0.11s)
        --- SKIP: TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string (0.00s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#10 (0.10s)
        --- FAIL: TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#11 (0.08s)
        --- FAIL: TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1 (0.26s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#12 (0.09s)
        --- FAIL: TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1 (0.24s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#13 (0.10s)
        --- PASS: TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME (0.34s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#14 (0.23s)
        --- PASS: TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS (0.33s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#15 (0.22s)
        --- PASS: TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name (0.34s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#16 (0.21s)
        --- PASS: TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.29s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#17 (0.24s)
        --- FAIL: TestDNSProviders/oXXX.de/20:pager101:99_records (11.55s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#18 (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- FAIL: TestDNSProviders/oXXX.de/23:CAA:CAA_record (0.20s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#19 (0.05s)
        --- FAIL: TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records (0.19s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#20 (0.06s)
        --- FAIL: TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces (0.17s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#21 (0.07s)
        --- PASS: TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (0.06s)
        --- FAIL: TestDNSProviders/oXXX.de/29:SRV:SRV_record (0.17s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#22 (0.06s)
        --- FAIL: TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#23 (0.08s)
        --- PASS: TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (0.06s)
=== RUN   TestDualProviders
    integration_test.go:312: Skipping.  DocDualHost == Cannot
--- SKIP: TestDualProviders (0.06s)
FAIL
exit status 1
FAIL	github.com/StackExchange/dnscontrol/v3/integrationTest	25.942s
tlimoncelli added a commit that referenced this pull request May 8, 2022
providers-test-netcup.log appended:

=== RUN   TestDNSProviders
=== RUN   TestDNSProviders/oXXX.de
=== RUN   TestDNSProviders/oXXX.de/Clean_Slate:Empty
    integration_test.go:220: DELETE A test.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50790741
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record
    integration_test.go:220: CREATE A oXXX.de 1.1.1.1 ttl=0
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Change_it
    integration_test.go:220: MODIFY A oXXX.de: (1.1.1.1 ttl=0) -> (1.2.3.4 ttl=0), Netcup ID: 50825306: 
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Add_another
    integration_test.go:220: CREATE A www.oXXX.de 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name)
    integration_test.go:220: CREATE A www.oXXX.de 5.6.7.8 ttl=0
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl
    integration_test.go:216: Expected changes, but got none
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty
    integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825306
    integration_test.go:220: DELETE A www.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825307
    integration_test.go:220: DELETE A www.oXXX.de 5.6.7.8 ttl=0, Netcup ID: 50825308
=== RUN   TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard
    integration_test.go:220: CREATE A *.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A www.oXXX.de 1.1.1.1 ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#01
    integration_test.go:220: DELETE A *.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825309
    integration_test.go:220: DELETE A www.oXXX.de 1.1.1.1 ttl=0, Netcup ID: 50825310
=== RUN   TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME
    integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#02
    integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825311
=== RUN   TestDNSProviders/oXXX.de/03:MX:MX_record
    integration_test.go:220: CREATE MX oXXX.de 5 foo.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#03
    integration_test.go:220: DELETE MX oXXX.de 5 foo.com. ttl=0, Netcup ID: 50825312
=== RUN   TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty
=== RUN   TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty
=== RUN   TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records
    integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
    integration_test.go:220: CREATE A foo.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#04
    integration_test.go:220: DELETE A foo.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825313
=== RUN   TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records
    integration_test.go:220: CREATE TXT bar.oXXX.de "stringbar" ttl=0
    integration_test.go:220: CREATE A bar.oXXX.de 2.4.6.8 ttl=0
    integration_test.go:220: CREATE A oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE TXT oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 2.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT bar.oXXX.de "stringbar" ttl=0
    integration_test.go:241: UNEXPECTED #1: CREATE TXT oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#05
    integration_test.go:220: DELETE A bar.oXXX.de 2.4.6.8 ttl=0, Netcup ID: 50825314
    integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825315
=== RUN   TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records
    integration_test.go:220: CREATE CNAME bar.oXXX.de test.bar.com. ttl=0
    integration_test.go:220: CREATE CNAME foo.oXXX.de test.foo.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#06
    integration_test.go:220: DELETE CNAME bar.oXXX.de test.bar.com. ttl=0, Netcup ID: 50825316
    integration_test.go:220: DELETE CNAME foo.oXXX.de test.foo.com. ttl=0, Netcup ID: 50825317
=== RUN   TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT
    integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#07
=== RUN   TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF
    integration_test.go:220: CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#08
=== RUN   TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT
    integration_test.go:220: CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#09
=== RUN   TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string
    integration_test.go:206: ***SKIPPED(PROVIDER DOES NOT SUPPORT 'txtstring is empty' ::"12:complex TXT")
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#10
=== RUN   TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT
    integration_test.go:220: CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#11
=== RUN   TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1
    integration_test.go:220: CREATE TXT foo1.oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo1.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#12
=== RUN   TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1
    integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#13
=== RUN   TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME
    integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#14
    integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825318
=== RUN   TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS
    integration_test.go:220: CREATE MX bar.oXXX.de 5 bar.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#15
    integration_test.go:220: DELETE MX bar.oXXX.de 5 bar.com. ttl=0, Netcup ID: 50825319
=== RUN   TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name
    integration_test.go:220: CREATE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#16
    integration_test.go:220: DELETE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825320
=== RUN   TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
    integration_test.go:220: CREATE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#17
    integration_test.go:220: DELETE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0, Netcup ID: 50825321
=== RUN   TestDNSProviders/oXXX.de/20:pager101:99_records
    integration_test.go:220: CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 99.
    integration_test.go:241: UNEXPECTED #0: CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #1: CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #2: CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #3: CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #4: CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #5: CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #6: CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #7: CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #8: CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #9: CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #10: CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #11: CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #12: CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #13: CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #14: CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #15: CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #16: CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #17: CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #18: CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #19: CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #20: CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #21: CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #22: CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #23: CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #24: CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #25: CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #26: CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #27: CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #28: CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #29: CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #30: CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #31: CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #32: CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #33: CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #34: CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #35: CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #36: CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #37: CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #38: CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #39: CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #40: CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #41: CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #42: CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #43: CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #44: CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #45: CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #46: CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #47: CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #48: CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #49: CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #50: CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #51: CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #52: CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #53: CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #54: CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #55: CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #56: CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #57: CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #58: CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #59: CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #60: CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #61: CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #62: CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #63: CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #64: CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #65: CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #66: CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #67: CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #68: CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #69: CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #70: CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #71: CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #72: CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #73: CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #74: CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #75: CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #76: CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #77: CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #78: CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #79: CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #80: CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #81: CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #82: CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #83: CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #84: CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #85: CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #86: CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #87: CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #88: CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #89: CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #90: CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #91: CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #92: CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #93: CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #94: CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #95: CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #96: CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #97: CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #98: CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#18
=== RUN   TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/23:CAA:CAA_record
    integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#19
=== RUN   TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records
    integration_test.go:220: CREATE CAA oXXX.de 0 issuewild ";" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issuewild ";" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#20
=== RUN   TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces
    integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#21
=== RUN   TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/29:SRV:SRV_record
    integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#22
=== RUN   TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target
    integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0
    integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 2.
    integration_test.go:241: UNEXPECTED #0: CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0
    integration_test.go:241: UNEXPECTED #1: CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#23
=== RUN   TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty
--- FAIL: TestDNSProviders (25.84s)
    --- FAIL: TestDNSProviders/oXXX.de (24.98s)
        --- PASS: TestDNSProviders/oXXX.de/Clean_Slate:Empty (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record (0.33s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Change_it (0.32s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another (0.34s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name) (0.38s)
        --- FAIL: TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl (0.11s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty (0.59s)
        --- PASS: TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard (0.46s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#01 (0.37s)
        --- PASS: TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME (0.31s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#02 (0.23s)
        --- PASS: TestDNSProviders/oXXX.de/03:MX:MX_record (0.31s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#03 (0.21s)
        --- PASS: TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.10s)
        --- PASS: TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.08s)
        --- FAIL: TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records (0.36s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#04 (0.24s)
        --- FAIL: TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records (0.57s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#05 (0.35s)
        --- PASS: TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records (0.45s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#06 (0.38s)
        --- FAIL: TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#07 (0.08s)
        --- FAIL: TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF (0.28s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#08 (0.12s)
        --- FAIL: TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#09 (0.11s)
        --- SKIP: TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string (0.00s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#10 (0.10s)
        --- FAIL: TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#11 (0.08s)
        --- FAIL: TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1 (0.26s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#12 (0.09s)
        --- FAIL: TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1 (0.24s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#13 (0.10s)
        --- PASS: TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME (0.34s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#14 (0.23s)
        --- PASS: TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS (0.33s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#15 (0.22s)
        --- PASS: TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name (0.34s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#16 (0.21s)
        --- PASS: TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.29s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#17 (0.24s)
        --- FAIL: TestDNSProviders/oXXX.de/20:pager101:99_records (11.55s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#18 (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- FAIL: TestDNSProviders/oXXX.de/23:CAA:CAA_record (0.20s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#19 (0.05s)
        --- FAIL: TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records (0.19s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#20 (0.06s)
        --- FAIL: TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces (0.17s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#21 (0.07s)
        --- PASS: TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (0.06s)
        --- FAIL: TestDNSProviders/oXXX.de/29:SRV:SRV_record (0.17s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#22 (0.06s)
        --- FAIL: TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#23 (0.08s)
        --- PASS: TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (0.06s)
=== RUN   TestDualProviders
    integration_test.go:312: Skipping.  DocDualHost == Cannot
--- SKIP: TestDualProviders (0.06s)
FAIL
exit status 1
FAIL	github.com/StackExchange/dnscontrol/v3/integrationTest	25.942s

Co-authored-by: Tom Limoncelli <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants