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  );