github.com/StackExchange/dnscontrol/v4@v4.11.0/pkg/js/parse_tests/029-dextendsub.js (about) 1 var REG = NewRegistrar("Third-Party", "NONE"); 2 var CF = NewDnsProvider("Cloudflare", "CLOUDFLAREAPI"); 3 4 // Zone that gets extended by subdomain 5 D("foo.net", REG, DnsProvider(CF), 6 DefaultTTL(300), 7 A("@", "10.1.1.1"), 8 A("www", "10.2.2.2") 9 ); 10 D_EXTEND("bar.foo.net", 11 A("@", "10.3.3.3"), 12 A("www", "10.4.4.4") 13 ); 14 15 // Zone and subdomain zone, each get extended. 16 D("foo.tld", REG, DnsProvider(CF), 17 DefaultTTL(300), 18 A("@", "20.5.5.5"), 19 A("www", "20.6.6.6") 20 ); 21 D("bar.foo.tld", REG, DnsProvider(CF), 22 DefaultTTL(300), 23 A("@", "30.7.7.7"), 24 A("www", "30.8.8.8") 25 ); 26 D_EXTEND("bar.foo.tld", 27 A("a", "30.9.9.9") 28 ); 29 D_EXTEND("foo.tld", 30 A("a", "20.10.10.10") 31 ); 32 33 // Zone and subdomain zone, each get extended by a subdomain. 34 D("foo.help", REG, DnsProvider(CF), 35 DefaultTTL(300), 36 A("@", "40.12.12.12"), 37 A("www", "40.12.12.12") 38 ); 39 D("bar.foo.help", REG, DnsProvider(CF), 40 DefaultTTL(300), 41 A("@", "50.13.13.13"), 42 A("www", "50.14.14.14") 43 ); 44 D_EXTEND("zip.bar.foo.help", 45 A("@", "50.15.15.15"), 46 A("www", "50.16.16.16") 47 ); 48 D_EXTEND("morty.foo.help", 49 A("@", "40.17.17.17"), 50 A("www", "40.18.18.18") 51 ); 52 53 // Zone extended by a subdomain and sub-subdomain. 54 D("foo.here", REG, DnsProvider(CF), 55 DefaultTTL(300), 56 A("@", "60.19.19.19"), 57 A("www", "60.20.20.20") 58 ); 59 D_EXTEND("bar.foo.here", 60 A("@", "60.21.21.21"), 61 A("www", "60.22.22.22") 62 ); 63 D_EXTEND("baz.bar.foo.here", 64 A("@", "60.23.23.23"), 65 A("www", "60.24.24.24") 66 ); 67 68 // Zone extended by a sub-subdomain. 69 D_EXTEND("a.long.path.of.sub.domains.foo.net", 70 A("@", "10.25.25.25"), 71 A("www", "10.26.26.26") 72 ); 73 74 // ASCII zone 75 D("example.com", REG, DnsProvider(CF), 76 DefaultTTL(300), 77 A("@", "10.0.0.1"), 78 A("www", "10.0.0.2") 79 ); 80 // … extended by an IDN subdomain 81 D_EXTEND("düsseldorf.example.com", 82 A("@", "10.0.0.3"), 83 A("www", "10.0.0.4") 84 ); 85 // … extended by a one-character IDN subdomain 86 D_EXTEND("ü.example.com", 87 A("@", "10.0.0.5"), 88 A("www", "10.0.0.6") 89 ); 90 91 // IDN zone 92 D("düsseldorf.example.net", REG, DnsProvider(CF), 93 DefaultTTL(300), 94 A("@", "10.0.0.7"), 95 A("www", "10.0.0.8") 96 ); 97 // … extended by an ASCII subdomain 98 D_EXTEND("subdomain.düsseldorf.example.net", 99 A("@", "10.0.0.9"), 100 A("www", "10.0.0.10") 101 ); 102 // … extended by an IDN subdomain 103 D_EXTEND("düsseltal.düsseldorf.example.net", 104 A("@", "10.0.0.11"), 105 A("www", "10.0.0.12") 106 ); 107 // … extended by a one-character IDN subdomain 108 D_EXTEND("ü.düsseldorf.example.net", 109 A("@", "10.0.0.13"), 110 A("www", "10.0.0.14") 111 ); 112 113 // One-character IDN zone 114 D("ü.example.net", REG, DnsProvider(CF), 115 DefaultTTL(300), 116 A("@", "10.0.0.15"), 117 A("www", "10.0.0.16") 118 ); 119 // … extended by an ASCII subdomain 120 D_EXTEND("subdomain.ü.example.net", 121 A("@", "10.0.0.17"), 122 A("www", "10.0.0.18") 123 ); 124 // … extended by an IDN subdomain 125 D_EXTEND("düsseldorf.ü.example.net", 126 A("@", "10.0.0.19"), 127 A("www", "10.0.0.20") 128 ); 129 // … extended by a one-character IDN subdomain 130 D_EXTEND("ü.ü.example.net", 131 A("@", "10.0.0.21"), 132 A("www", "10.0.0.22") 133 ); 134 135 // Zone extended by a subdomain, with absolute and relative CNAME targets 136 D("example.tld", REG, DnsProvider(CF), DefaultTTL(300)); 137 D_EXTEND("sub.example.tld", 138 CNAME("a", "b"), // a.sub.example.tld -> b.sub.example.tld 139 CNAME("b", "@"), // a.sub.example.tld -> sub.example.tld 140 CNAME("c", "sub.example.tld."), // a.sub.example.tld -> sub.example.tld 141 //CNAME("d", "x.y"), // Error. Contains dot but doesn't end with dot. 142 CNAME("e", "otherdomain.tld.") // a.sub.example.tld -> otherdomain.tld 143 // Also test for MX, NS, ANAME, SRV. 144 // Not sure if PTR needs any special treatment. Haven't thought about it much. 145 );