- Clone all 5 Zonemaster component repos (LDNS, Engine, CLI, Backend, GUI) - Dockerfile.backend: 8-stage multi-stage build LDNS→Engine→CLI→Backend - Dockerfile.gui: Astro static build served via nginx - docker-compose.yml: backend (internal) + frontend (port 5353) - nginx.conf: root redirects to /es/, /api/ proxied to backend - zonemaster-gui/config.ts: defaultLanguage set to 'es' (Spanish) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
59 lines
1.4 KiB
Perl
59 lines
1.4 KiB
Perl
use strict;
|
|
use warnings;
|
|
|
|
use File::Basename;
|
|
use File::Spec::Functions qw( rel2abs );
|
|
use lib dirname( rel2abs( $0 ) );
|
|
use TestUtil::DSL;
|
|
|
|
testing_test_case 'Address', 'address03';
|
|
|
|
all_tags qw(NAMESERVER_IP_PTR_MATCH
|
|
NAMESERVER_IP_PTR_MISMATCH
|
|
NAMESERVER_IP_WITHOUT_REVERSE
|
|
NO_RESPONSE_PTR_QUERY);
|
|
|
|
# Common hint file (test-zone-data/COMMON/hintfile)
|
|
root_hints 'ns1' => [ qw(127.1.0.1 fda1:b2:c3::127:1:0:1) ],
|
|
'ns2' => [ qw(127.1.0.2 fda1:b2:c3::127:1:0:2) ];
|
|
|
|
zone_name_template '{SCENARIO}.{TESTCASE}.xa';
|
|
|
|
# Test zone scenarios
|
|
scenario 'ALL-NS-HAVE-PTR-{1..2}' => sub {
|
|
expect 'NAMESERVER_IP_PTR_MATCH';
|
|
forbid_others;
|
|
};
|
|
|
|
scenario 'NO-NS-HAVE-PTR' => sub {
|
|
expect 'NAMESERVER_IP_WITHOUT_REVERSE';
|
|
forbid_others;
|
|
};
|
|
|
|
scenario 'INCOMPLETE-PTR-{1..2}' => sub {
|
|
expect 'NAMESERVER_IP_WITHOUT_REVERSE';
|
|
forbid_others;
|
|
};
|
|
|
|
scenario 'NON-MATCHING-NAMES' => sub {
|
|
expect 'NAMESERVER_IP_PTR_MISMATCH';
|
|
forbid_others;
|
|
};
|
|
|
|
scenario 'PTR-IS-GOOD-CNAME-{1..2}' => sub {
|
|
expect 'NAMESERVER_IP_PTR_MATCH';
|
|
forbid_others;
|
|
};
|
|
|
|
scenario 'PTR-IS-DANGLING-CNAME' => sub {
|
|
expect 'NAMESERVER_IP_WITHOUT_REVERSE';
|
|
forbid_others;
|
|
};
|
|
|
|
scenario 'PTR-IS-ILLEGAL-CNAME' => sub {
|
|
expect 'NAMESERVER_IP_WITHOUT_REVERSE';
|
|
forbid 'NAMESERVER_IP_PTR_MATCH';
|
|
};
|
|
|
|
no_more_scenarios;
|