StackExchange / dnscontrol

Infrastructure as code for DNS!
https://dnscontrol.org/
MIT License
3.13k stars 399 forks source link

NAMECHEAP: Fix failing integration tests #2238

Closed tlimoncelli closed 1 year ago

tlimoncelli commented 1 year ago

These tests still fail

--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/04:MX:Create_MX
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/07:manyTypesAtOnce:CreateManyTypesAtLabel
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/14:MX:Record_pointing_to_@
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/17:Case_Sensitivity:Create_CAPS
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/19:testByRecordSet:initial
tlimoncelli commented 1 year ago

willpower232 I'd be glad to help.

Please include -v and -verbose for more verbosity (go test -v -verbose -provider NAMECHEAP -diff2).

willpower232 commented 1 year ago

Ah I did not realise it was --diff2 for dnscontrol and -diff2 for tests but it seems the failures are still consistent.

4

=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/04:MX:Create_MX
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        ± MODIFY MX testmx.willpower232testsdnscontrol.com: (5  ttl=300) -> (5 foo.com. ttl=300)]

7

=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/07:manyTypesAtOnce:CreateManyTypesAtLabel
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE MX testmx.willpower232testsdnscontrol.com 100 bar.com. ttl=300 
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        ± MODIFY MX testmx.willpower232testsdnscontrol.com: (100  ttl=300) -> (100 bar.com. ttl=300) 
        ± MODIFY MX testmx.willpower232testsdnscontrol.com: (5  ttl=300) -> (5 foo.com. ttl=300)]

14

=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/14:MX:Record_pointing_to_@
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX foo.willpower232testsdnscontrol.com 8 willpower232testsdnscontrol.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        ± MODIFY MX foo.willpower232testsdnscontrol.com: (8  ttl=300) -> (8 willpower232testsdnscontrol.c

17

=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/17:Case_Sensitivity:Create_CAPS
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX bar.willpower232testsdnscontrol.com 5 bar.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        ± MODIFY MX bar.willpower232testsdnscontrol.com: (5  ttl=300) -> (5 bar.com. ttl=300)]

19

=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/19:testByRecordSet:initial
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (5 records)[
        + CREATE A bar.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 2.3.4.5 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 3.4.5.6 ttl=300 
        + CREATE MX foo.willpower232testsdnscontrol.com 10 foo.willpower232testsdnscontrol.com. ttl=300 
        + CREATE MX foo.willpower232testsdnscontrol.com 20 bar.willpower232testsdnscontrol.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (5 records)[
        ± MODIFY MX foo.willpower232testsdnscontrol.com: (10  ttl=300) -> (10 foo.willpower232testsdnscontrol.com. ttl=300) 
        ± MODIFY MX foo.willpower232testsdnscontrol.com: (20  ttl=300) -> (20 bar.willpower232testsdnscontrol.com. ttl=300)]

Judging by those double spaces, it seems to fail to create (and cleanup) MX records, does that make sense with what got updated?

full output ``` === RUN TestDNSProviders === RUN TestDNSProviders/willpower232testsdnscontrol.com === RUN TestDNSProviders/willpower232testsdnscontrol.com/Clean_Slate:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/00:A:Create_A integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE A testa.willpower232testsdnscontrol.com 1.1.1.1 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/00:A:Change_A_target integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ ± MODIFY A testa.willpower232testsdnscontrol.com: (1.1.1.1 ttl=300) -> (3.3.3.3 ttl=300)] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A testa.willpower232testsdnscontrol.com 3.3.3.3 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/01:Apex:Create_A integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE A willpower232testsdnscontrol.com 2.2.2.2 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/01:Apex:Change_A_target integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ ± MODIFY A willpower232testsdnscontrol.com: (2.2.2.2 ttl=300) -> (4.4.4.4 ttl=300)] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#01 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A willpower232testsdnscontrol.com 4.4.4.4 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/02:Protocol-Wildcard:Create_wildcard integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[ + CREATE A *.willpower232testsdnscontrol.com 3.3.3.3 ttl=300 + CREATE A www.willpower232testsdnscontrol.com 5.5.5.5 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/02:Protocol-Wildcard:Delete_wildcard integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ - DELETE A *.willpower232testsdnscontrol.com 3.3.3.3 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#02 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A www.willpower232testsdnscontrol.com 5.5.5.5 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/03:CNAME:Create_a_CNAME integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE CNAME testcname.willpower232testsdnscontrol.com www.google.com. ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/03:CNAME:Change_CNAME_target integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ ± MODIFY CNAME testcname.willpower232testsdnscontrol.com: (www.google.com. ttl=300) -> (www.yahoo.com. ttl=300)] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#03 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE CNAME testcname.willpower232testsdnscontrol.com www.yahoo.com. ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/04:MX:Create_MX integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300] integration_test.go:243: Expected 0 corrections on second run, but found 1. integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ ± MODIFY MX testmx.willpower232testsdnscontrol.com: (5 ttl=300) -> (5 foo.com. ttl=300)] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#04 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE MX testmx.willpower232testsdnscontrol.com 5 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/05:TXT:Create_TXT integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE TXT testtxt.willpower232testsdnscontrol.com "simple" ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#05 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE TXT testtxt.willpower232testsdnscontrol.com "simple" ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/06:ManyAtOnce:CreateManyAtLabel integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[ + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300 + CREATE A www.willpower232testsdnscontrol.com 2.2.2.2 ttl=300 + CREATE A www.willpower232testsdnscontrol.com 3.3.3.3 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#06 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300 - DELETE A www.willpower232testsdnscontrol.com 2.2.2.2 ttl=300 - DELETE A www.willpower232testsdnscontrol.com 3.3.3.3 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/07:manyTypesAtOnce:CreateManyTypesAtLabel integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[ + CREATE MX testmx.willpower232testsdnscontrol.com 100 bar.com. ttl=300 + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300 + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300] Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. integration_test.go:243: Expected 0 corrections on second run, but found 1. integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[ ± MODIFY MX testmx.willpower232testsdnscontrol.com: (100 ttl=300) -> (100 bar.com. ttl=300) ± MODIFY MX testmx.willpower232testsdnscontrol.com: (5 ttl=300) -> (5 foo.com. ttl=300)] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#07 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE MX testmx.willpower232testsdnscontrol.com 100 ttl=300 - DELETE MX testmx.willpower232testsdnscontrol.com 5 ttl=300 - DELETE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/08:Attl:Create_Arc integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE A testa.willpower232testsdnscontrol.com 1.1.1.1 ttl=333] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#08 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A testa.willpower232testsdnscontrol.com 1.1.1.1 ttl=333] === RUN TestDNSProviders/willpower232testsdnscontrol.com/09:TTL:Start integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[ + CREATE A willpower232testsdnscontrol.com 8.8.8.8 ttl=666 + CREATE A www.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A www.willpower232testsdnscontrol.com 5.6.7.8 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#09 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A willpower232testsdnscontrol.com 8.8.8.8 ttl=666 - DELETE A www.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A www.willpower232testsdnscontrol.com 5.6.7.8 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/10:add_to_label_and_change_orig_ttl:Setup integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE A www.willpower232testsdnscontrol.com 5.6.7.8 ttl=400] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#10 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A www.willpower232testsdnscontrol.com 5.6.7.8 ttl=400] === RUN TestDNSProviders/willpower232testsdnscontrol.com/11:TypeChange:Create_A integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#11 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/12:TypeChangeHard:Create_a_CNAME integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE CNAME foo.willpower232testsdnscontrol.com google.com. ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#12 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE CNAME foo.willpower232testsdnscontrol.com google.com. ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/13:CNAME:Record_pointing_to_@ integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE CNAME foo.willpower232testsdnscontrol.com willpower232testsdnscontrol.com. ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#13 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE CNAME foo.willpower232testsdnscontrol.com willpower232testsdnscontrol.com. ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/14:MX:Record_pointing_to_@ integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE MX foo.willpower232testsdnscontrol.com 8 willpower232testsdnscontrol.com. ttl=300] integration_test.go:243: Expected 0 corrections on second run, but found 1. integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ ± MODIFY MX foo.willpower232testsdnscontrol.com: (8 ttl=300) -> (8 willpower232testsdnscontrol.com. ttl=300)] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#14 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE MX foo.willpower232testsdnscontrol.com 8 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/15:NS:NS_for_subdomain integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE NS xyz.willpower232testsdnscontrol.com ns2.foo.com. ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#15 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE NS xyz.willpower232testsdnscontrol.com ns2.foo.com. ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/16:complex_TXT:TXT_with_1_single-quote integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE TXT foosq.willpower232testsdnscontrol.com "quo'te" ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#16 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE TXT foosq.willpower232testsdnscontrol.com "quo'te" ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/17:Case_Sensitivity:Create_CAPS integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE MX bar.willpower232testsdnscontrol.com 5 bar.com. ttl=300] Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. integration_test.go:243: Expected 0 corrections on second run, but found 1. integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ ± MODIFY MX bar.willpower232testsdnscontrol.com: (5 ttl=300) -> (5 bar.com. ttl=300)] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#17 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE MX bar.willpower232testsdnscontrol.com 5 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/18:testByLabel:initial integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[ + CREATE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A foo.willpower232testsdnscontrol.com 2.3.4.5 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#18 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A foo.willpower232testsdnscontrol.com 2.3.4.5 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/19:testByRecordSet:initial integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (5 records)[ + CREATE A bar.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A foo.willpower232testsdnscontrol.com 2.3.4.5 ttl=300 + CREATE A foo.willpower232testsdnscontrol.com 3.4.5.6 ttl=300 + CREATE MX foo.willpower232testsdnscontrol.com 10 foo.willpower232testsdnscontrol.com. ttl=300 + CREATE MX foo.willpower232testsdnscontrol.com 20 bar.willpower232testsdnscontrol.com. ttl=300] integration_test.go:243: Expected 0 corrections on second run, but found 1. integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (5 records)[ ± MODIFY MX foo.willpower232testsdnscontrol.com: (10 ttl=300) -> (10 foo.willpower232testsdnscontrol.com. ttl=300) ± MODIFY MX foo.willpower232testsdnscontrol.com: (20 ttl=300) -> (20 bar.willpower232testsdnscontrol.com. ttl=300)] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#19 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A bar.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A foo.willpower232testsdnscontrol.com 2.3.4.5 ttl=300 - DELETE A foo.willpower232testsdnscontrol.com 3.4.5.6 ttl=300 - DELETE MX foo.willpower232testsdnscontrol.com 10 ttl=300 - DELETE MX foo.willpower232testsdnscontrol.com 20 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/20:IDNA:Internationalized_name integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE A xn--ndaaa.willpower232testsdnscontrol.com 1.2.3.4 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#20 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A xn--ndaaa.willpower232testsdnscontrol.com 1.2.3.4 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/21:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE CNAME xn--o-0gab.willpower232testsdnscontrol.com xn--ndaaa.xn--vhquv. ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#21 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE CNAME xn--o-0gab.willpower232testsdnscontrol.com xn--ndaaa.xn--vhquv. ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/22:pager101:99_records integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (99 records)[ + CREATE A rec0000.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0001.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0002.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0003.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0004.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0005.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0006.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0007.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0008.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0009.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0010.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0011.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0012.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0013.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0014.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0015.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0016.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0017.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0018.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0019.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0020.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0021.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0022.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0023.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0024.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0025.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0026.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0027.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0028.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0029.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0030.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0031.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0032.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0033.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0034.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0035.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0036.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0037.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0038.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0039.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0040.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0041.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0042.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0043.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0044.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0045.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0046.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0047.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0048.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0049.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0050.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0051.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0052.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0053.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0054.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0055.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0056.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0057.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0058.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0059.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0060.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0061.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0062.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0063.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0064.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0065.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0066.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0067.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0068.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0069.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0070.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0071.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0072.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0073.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0074.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0075.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0076.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0077.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0078.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0079.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0080.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0081.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0082.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0083.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0084.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0085.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0086.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0087.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0088.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0089.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0090.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0091.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0092.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0093.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0094.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0095.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0096.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0097.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE A rec0098.willpower232testsdnscontrol.com 1.2.3.4 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#22 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A rec0000.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0001.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0002.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0003.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0004.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0005.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0006.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0007.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0008.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0009.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0010.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0011.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0012.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0013.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0014.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0015.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0016.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0017.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0018.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0019.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0020.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0021.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0022.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0023.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0024.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0025.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0026.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0027.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0028.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0029.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0030.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0031.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0032.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0033.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0034.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0035.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0036.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0037.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0038.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0039.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0040.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0041.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0042.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0043.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0044.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0045.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0046.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0047.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0048.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0049.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0050.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0051.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0052.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0053.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0054.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0055.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0056.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0057.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0058.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0059.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0060.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0061.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0062.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0063.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0064.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0065.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0066.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0067.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0068.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0069.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0070.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0071.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0072.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0073.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0074.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0075.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0076.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0077.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0078.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0079.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0080.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0081.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0082.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0083.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0084.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0085.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0086.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0087.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0088.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0089.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0090.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0091.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0092.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0093.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0094.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0095.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0096.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0097.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE A rec0098.willpower232testsdnscontrol.com 1.2.3.4 ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/23:pager601_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/24:pager1201_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/25:CAA:CAA_record integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE CAA willpower232testsdnscontrol.com 0 issue "letsencrypt.org" ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#23 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE CAA willpower232testsdnscontrol.com 0 issue "letsencrypt.org" ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/26:LOC_***SKIPPED(CanUseLOC_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/27:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/28:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/29:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/30:SRV_***SKIPPED(CanUseSRV_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/31:SRV_***SKIPPED(CanUseSRV_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/32:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/33:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/34:DS_***SKIPPED(CanUseDS_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/35:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/36:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/37:ALIAS:ALIAS_at_root integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[ + CREATE ALIAS willpower232testsdnscontrol.com foo.com. ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#24 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE ALIAS willpower232testsdnscontrol.com foo.com. ttl=300] Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. Namecheap rate limit exceeded. Waiting 5s to retry. === RUN TestDNSProviders/willpower232testsdnscontrol.com/38:AZURE_ALIAS_A_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/39:AZURE_ALIAS_CNAME_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/40:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/41:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/42:R53_ALIAS_CNAME_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/43:R53_ALIAS_Loop_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/44:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/45:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/46:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/47:NS1_URLFWD_tests_***SKIPPED(disabled_by_only)***:Empty === RUN TestDNSProviders/willpower232testsdnscontrol.com/48:IGNORE_NAME_function:Create_some_records integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[ + CREATE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE TXT foo.willpower232testsdnscontrol.com "simple" ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#25 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE TXT foo.willpower232testsdnscontrol.com "simple" ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/49:IGNORE_NAME_apex:Create_some_records integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (4 records)[ + CREATE A willpower232testsdnscontrol.com 1.2.3.4 ttl=300 + CREATE TXT willpower232testsdnscontrol.com "simple" ttl=300 + CREATE A bar.willpower232testsdnscontrol.com 2.4.6.8 ttl=300 + CREATE TXT bar.willpower232testsdnscontrol.com "stringbar" ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#26 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE A willpower232testsdnscontrol.com 1.2.3.4 ttl=300 - DELETE TXT willpower232testsdnscontrol.com "simple" ttl=300 - DELETE A bar.willpower232testsdnscontrol.com 2.4.6.8 ttl=300 - DELETE TXT bar.willpower232testsdnscontrol.com "stringbar" ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/50:IGNORE_TARGET_function:Create_some_records integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[ + CREATE CNAME bar.willpower232testsdnscontrol.com test.bar.com. ttl=300 + CREATE CNAME foo.willpower232testsdnscontrol.com test.foo.com. ttl=300] === RUN TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#27 integration_test.go:224: GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[ - DELETE CNAME bar.willpower232testsdnscontrol.com test.bar.com. ttl=300 - DELETE CNAME foo.willpower232testsdnscontrol.com test.foo.com. ttl=300] --- FAIL: TestDNSProviders (204.49s) --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com (204.49s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Clean_Slate:Empty (1.22s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/00:A:Create_A (1.15s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/00:A:Change_A_target (1.06s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty (0.76s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/01:Apex:Create_A (0.97s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/01:Apex:Change_A_target (1.12s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#01 (0.68s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/02:Protocol-Wildcard:Create_wildcard (1.02s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/02:Protocol-Wildcard:Delete_wildcard (1.07s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#02 (0.73s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/03:CNAME:Create_a_CNAME (1.09s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/03:CNAME:Change_CNAME_target (1.04s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#03 (0.72s) --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/04:MX:Create_MX (0.96s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#04 (0.67s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/05:TXT:Create_TXT (1.09s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#05 (0.67s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/06:ManyAtOnce:CreateManyAtLabel (1.11s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#06 (0.72s) --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/07:manyTypesAtOnce:CreateManyTypesAtLabel (47.59s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#07 (0.74s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/08:Attl:Create_Arc (0.97s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#08 (0.74s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/09:TTL:Start (1.08s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#09 (0.78s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/10:add_to_label_and_change_orig_ttl:Setup (1.08s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#10 (0.77s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/11:TypeChange:Create_A (0.92s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#11 (0.75s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/12:TypeChangeHard:Create_a_CNAME (1.15s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#12 (0.72s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/13:CNAME:Record_pointing_to_@ (1.06s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#13 (0.66s) --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/14:MX:Record_pointing_to_@ (1.05s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#14 (0.63s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/15:NS:NS_for_subdomain (2.31s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#15 (0.82s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/16:complex_TXT:TXT_with_1_single-quote (1.07s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#16 (0.66s) --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/17:Case_Sensitivity:Create_CAPS (47.92s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#17 (0.71s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/18:testByLabel:initial (0.92s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#18 (0.74s) --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/19:testByRecordSet:initial (1.04s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#19 (0.64s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/20:IDNA:Internationalized_name (1.07s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#20 (0.69s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/21:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.96s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#21 (0.67s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/22:pager101:99_records (1.37s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#22 (0.77s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/23:pager601_***SKIPPED(disabled_by_only)***:Empty (0.28s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/24:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.34s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/25:CAA:CAA_record (0.95s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#23 (0.72s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/26:LOC_***SKIPPED(CanUseLOC_not_supported)***:Empty (0.29s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/27:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.35s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/28:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (0.27s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/29:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (0.28s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/30:SRV_***SKIPPED(CanUseSRV_not_supported)***:Empty (0.28s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/31:SRV_***SKIPPED(CanUseSRV_not_supported)***:Empty (0.30s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/32:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (0.27s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/33:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (0.29s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/34:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.36s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/35:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.63s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/36:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.48s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/37:ALIAS:ALIAS_at_root (1.01s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#24 (47.25s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/38:AZURE_ALIAS_A_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.28s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/39:AZURE_ALIAS_CNAME_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.45s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/40:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.30s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/41:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.27s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/42:R53_ALIAS_CNAME_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.28s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/43:R53_ALIAS_Loop_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.27s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/44:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.27s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/45:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (0.33s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/46:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (0.27s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/47:NS1_URLFWD_tests_***SKIPPED(disabled_by_only)***:Empty (0.29s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/48:IGNORE_NAME_function:Create_some_records (1.18s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#25 (0.80s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/49:IGNORE_NAME_apex:Create_some_records (1.52s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#26 (0.66s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/50:IGNORE_TARGET_function:Create_some_records (1.36s) --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#27 (0.67s) === RUN TestDualProviders integration_test.go:319: Skipping. DocDualHost == Cannot --- SKIP: TestDualProviders (0.00s) FAIL exit status 1 FAIL github.com/StackExchange/dnscontrol/v3/integrationTest 204.518s ```
tlimoncelli commented 1 year ago

Ah I did not realise it was --diff2 for dnscontrol and -diff2 for tests but it seems the failures are still consistent.

Yeah, native Go utilities (go test) use a single hyphen because Rob Pike doesn't like double-hyphens (I can tell you more Unix history if you are interested). dnscontrol uses double-hyphens.

4

=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/04:MX:Create_MX
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        ± MODIFY MX testmx.willpower232testsdnscontrol.com: (5  ttl=300) -> (5 foo.com. ttl=300)]

Judging by those double spaces, it seems to fail to create (and cleanup) MX records, does that make sense with what got updated?

Yes, I agree with your analysis. My guess is that:

    record.PopulateFromString(dnsHost.Type, dnsHost.Address, origin)

should first check to see if it is an MX record and handle it as a special case. The comments in models/t_parse.go explain a recommended pattern. models/t_mx.go has some helper functions that you might find useful.

Tom

willpower232 commented 1 year ago

I referenced some of the other providers and found a resolution as you described

switch dnsHost.Type {
case "MX":
    record.SetTargetMX(uint16(dnsHost.MXPref), dnsHost.Address)
default:
    record.PopulateFromString(dnsHost.Type, dnsHost.Address, origin)
}

this did however re-introduce the previous fail

=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/04:MX:Change_MX_p
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        ± MODIFY MX testmx.willpower232testsdnscontrol.com: (5 bar.com. ttl=300) -> (100 bar.com. ttl=300)]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        ± MODIFY MX testmx.willpower232testsdnscontrol.com: (5 bar.com. ttl=300) -> (100 bar.com. ttl=300)]

I think the issue might be that only the namecheap provider is making use of .MXPref, does that make sense? Is there are more appropriate property?

tlimoncelli commented 1 year ago

You're in the right direction! .MXPref is a field in a NameCheap struct. The DNSControl equivalent is models.RecordConfig.MxPreference. toRecords() converts namecheap native records to models.RecordConfig; generateRecords() goes the other direction. Both seem to do something with MX preferences.. maybe not the right thing?

It looks like the record is not being created properly. That would indicate a problem with generateRecords()

The way that the integration tests work is first they run the equivalent of "dnscontrol push" to make the desired change. Then it runs the equivalent of "dnscontrol preview" with the exact same parameters. The "preview" should show no changes. i.e. if the first one worked, the second one shouldn't have any work to do. It repeats that for each tc().

When you see "Expected 0 corrections on second run, but found 1." that means the next line is what change the 2nd run (the preview) output. In this case, its trying to make the exact same change as the push. That means the push didn't happen correctly.

So, you're properly creating MX records and changing the target. That is, changing the MX target from foo.com. to bar.com. worked. Its only changing the preference that failed.

On a whim, I'd try the following change in generateRecords():

I don't think that will work, but its worth a try.

If that doesn't work, revert the change and add some fmt.Printf's to generateRecords() and look at the value of rec.MXPref.

willpower232 commented 1 year ago

I have added several printf's and verified that absolutely nothing is wrong with dnscontrol.

Thankfully namecheaps api supports GET as well as POST so I have been able to access it directly and confirm that changing an MX priority without changing another aspect of the record causes the change to not happen so the test failure is actually indicative of the real world!

Are you able to add the SetTargetMX yourself or would you like a PR or patch of some variety?

I'll open a ticket to namecheap in the meantime...

tlimoncelli commented 1 year ago

Wow! A real bug in the API! That's actually kind of rare!

Are you able to add the SetTargetMX yourself or would you like a PR or patch of some variety?

Please send a PR.

We can handle this a few ways:

  1. Document the bug and add a note with the bugid that is created when you report the issue
  2. When just the MX priority changes, Have the code delete the record and re-add it with the new priority.

Its up to you.

willpower232 commented 1 year ago

Namecheap actually replied super fast which was nice. It seems that a "required" additional parameter called EmailType is only needed for this purpose and the request does not fail if it is missing.

Thankfully the library that is used in the namecheap provider is already aware of this

https://github.com/billputer/go-namecheap/blob/994a912fb7f942b013882cb497fa21eb17f40558/dns.go#L67-L70

From what I can see, dnscontrol has the "latest" version of the library so is it possible that the type isn't being set correctly? I'm not sure how to fmt.Printf a third party library in go :sweat_smile:

willpower232 commented 1 year ago

OK good news, it is definitely the API that is broken so I'll put that to one side for a minute whilst negotiating with namecheap.

Bad news, more tests have started failing since recent commits in the tlim_corrector branch.

--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/14:MX:Null_MX (0.57s)
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/16:complex_TXT:TXT_with_1_double-quotes (1.02s)
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/25:CAA:CAA_change_flag (0.82s)

Does this make sense or do you need more information?

Here is more information anyway

14

=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/14:MX:Null_MX
    integration_test.go:230: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX willpower232testsdnscontrol.com 0 . ttl=300 
        - DELETE MX foo.willpower232testsdnscontrol.com 8 willpower232testsdnscontrol.com. ttl=300]
    integration_test.go:234: Error 2050900: INVALID_ADDR : '.' should not be an IP/ URL for MX record.(host name: @)

16

=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/16:complex_TXT:TXT_with_1_double-quotes
    integration_test.go:230: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE TXT foodq.willpower232testsdnscontrol.com "quo\"te" ttl=300 
        - DELETE TXT foobt.willpower232testsdnscontrol.com "blah`blah" ttl=300]
    integration_test.go:249: Expected 0 corrections on second run, but found 1.
    integration_test.go:251: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        ± MODIFY TXT foodq.willpower232testsdnscontrol.com: ("quote" ttl=300) -> ("quo\"te" ttl=300)]

25

=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/25:CAA:CAA_change_flag
    integration_test.go:230: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        ± MODIFY CAA willpower232testsdnscontrol.com: (0 issuewild "example.com" ttl=300) -> (128 issuewild "example.com" ttl=300)]
    integration_test.go:249: Expected 0 corrections on second run, but found 1.
    integration_test.go:251: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        ± MODIFY CAA willpower232testsdnscontrol.com: (0 issuewild "example.com" ttl=300) -> (128 issuewild "example.com" ttl=300)]
tlimoncelli commented 1 year ago

From what I can see, dnscontrol has the "latest" version of the library so is it possible that the type isn't being set correctly? I'm not sure how to fmt.Printf a third party library in go 😅

Modifying other libraries is possible but I'm not sure how. I think you clone it locally then edit go.mod to point to the local disk instead. I haven't tried.

The code is triggered by h.Type == "MX" ... can you verify that is getting set correctly?

tlimoncelli commented 1 year ago

OK good news, it is definitely the API that is broken so I'll put that to one side for a minute whilst negotiating with namecheap.

Bad news, more tests have started failing since recent commits in the tlim_corrector branch.

Glad to find these problems now instead of after release! :)

--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/14:MX:Null_MX (0.57s)
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/16:complex_TXT:TXT_with_1_double-quotes (1.02s)
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/25:CAA:CAA_change_flag (0.82s)

Does this make sense or do you need more information?

Here is more information anyway

14

=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/14:MX:Null_MX
    integration_test.go:230: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX willpower232testsdnscontrol.com 0 . ttl=300 
        - DELETE MX foo.willpower232testsdnscontrol.com 8 willpower232testsdnscontrol.com. ttl=300]
    integration_test.go:234: Error 2050900: INVALID_ADDR : '.' should not be an IP/ URL for MX record.(host name: @)

Looks like the API doesn't permit an MX record pointing at .. It's easy to denote that this isn't allowed. Look at providers/loopia/auditrecords.go for an example of a.Add("MX", rejectif.MxNull)

16

=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/16:complex_TXT:TXT_with_1_double-quotes
    integration_test.go:230: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE TXT foodq.willpower232testsdnscontrol.com "quo\"te" ttl=300 
        - DELETE TXT foobt.willpower232testsdnscontrol.com "blah`blah" ttl=300]
    integration_test.go:249: Expected 0 corrections on second run, but found 1.
    integration_test.go:251: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        ± MODIFY TXT foodq.willpower232testsdnscontrol.com: ("quote" ttl=300) -> ("quo\"te" ttl=300)]

My guess? " isn't permitted in TXT records or they have to be escaped/quoted in a way that the API understands. I've never seen anyone actually put a double-quote in a TXT record outside of test cases. So, the easy route is to add auditrecords.go to add a.Add("TXT", rejectif.TxtHasDoubleQuotes) (See providers/msdns/auditrecords.go as an example)

25

=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/25:CAA:CAA_change_flag
    integration_test.go:230: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        ± MODIFY CAA willpower232testsdnscontrol.com: (0 issuewild "example.com" ttl=300) -> (128 issuewild "example.com" ttl=300)]
    integration_test.go:249: Expected 0 corrections on second run, but found 1.
    integration_test.go:251: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        ± MODIFY CAA willpower232testsdnscontrol.com: (0 issuewild "example.com" ttl=300) -> (128 issuewild "example.com" ttl=300)]

Sounds like updating just the first field is broken. It might be a problem with modifying the record, but it could be a problem with creating the record to: The test that works assigns a 0 to that field. Since 0 is the default value for that struct, it might be not working but we can't tell. (If that makes sense!)

Hope that helps!

Tom

willpower232 commented 1 year ago

Well it passes 14 and 16 now but I think I have to put 25 under the category of what does namecheap think it is doing as its API (and UI) also refuses to accept the possibility of changing the byte flag in a CAA record.

I suggest you merge the PR and I'll continue to very very very slowly wake up namecheap support.

Whether you want to keep this issue open or not is up to you, I'm not very hopeful of getting anything useful out of namecheap to be honest.

tlimoncelli commented 1 year ago

Sounds good. Would you mind opening a new issue with the remaining work and closing this?

willpower232 commented 1 year ago

I started a new issue but I can't close this one as it is not mine to close :sweat_smile: