feat: add full Zonemaster stack with Docker and Spanish UI
- 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>
This commit is contained in:
137
zonemaster-engine/t/Test-delegation01.t
Normal file
137
zonemaster-engine/t/Test-delegation01.t
Normal file
@@ -0,0 +1,137 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use File::Basename;
|
||||
use File::Spec::Functions qw( rel2abs );
|
||||
use lib dirname( rel2abs( $0 ) );
|
||||
use TestUtil::DSL;
|
||||
|
||||
###########
|
||||
# Delegation01 - https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/test-zones/Delegation-TP/delegation01.md
|
||||
testing_test_case 'Delegation', 'delegation01';
|
||||
|
||||
all_tags qw(ENOUGH_IPV4_NS_CHILD
|
||||
ENOUGH_IPV4_NS_DEL
|
||||
ENOUGH_IPV6_NS_CHILD
|
||||
ENOUGH_IPV6_NS_DEL
|
||||
ENOUGH_NS_CHILD
|
||||
ENOUGH_NS_DEL
|
||||
NOT_ENOUGH_IPV4_NS_CHILD
|
||||
NOT_ENOUGH_IPV4_NS_DEL
|
||||
NOT_ENOUGH_IPV6_NS_CHILD
|
||||
NOT_ENOUGH_IPV6_NS_DEL
|
||||
NOT_ENOUGH_NS_CHILD
|
||||
NOT_ENOUGH_NS_DEL
|
||||
NO_IPV4_NS_CHILD
|
||||
NO_IPV4_NS_DEL
|
||||
NO_IPV6_NS_CHILD
|
||||
NO_IPV6_NS_DEL);
|
||||
|
||||
# Specific hint file (https://github.com/zonemaster/zonemaster/blob/master/test-zone-data/Delegation-TP/delegation01/hintfile.zone)
|
||||
root_hints 'root-ns1.xa' => [ qw(127.16.1.27 fda1:b2:c3::127:16:1:27) ],
|
||||
'root-ns2.xa' => [ qw(127.16.1.28 fda1:b2:c3::127:16:1:28) ];
|
||||
|
||||
zone_name_template '{SCENARIO}.{TESTCASE}.xa';
|
||||
|
||||
# Test zone scenarios
|
||||
scenario 'ENOUGH-{1..3}' => sub {
|
||||
expect qw(ENOUGH_IPV4_NS_CHILD
|
||||
ENOUGH_IPV4_NS_DEL
|
||||
ENOUGH_IPV6_NS_CHILD
|
||||
ENOUGH_IPV6_NS_DEL
|
||||
ENOUGH_NS_CHILD
|
||||
ENOUGH_NS_DEL);
|
||||
forbid_others;
|
||||
};
|
||||
|
||||
scenario 'ENOUGH-DEL-NOT-CHILD' => sub {
|
||||
todo; # FIXME: why?
|
||||
|
||||
expect qw(ENOUGH_IPV4_NS_DEL
|
||||
ENOUGH_IPV6_NS_DEL
|
||||
ENOUGH_NS_DEL
|
||||
NOT_ENOUGH_IPV4_NS_CHILD
|
||||
NOT_ENOUGH_IPV6_NS_CHILD
|
||||
NOT_ENOUGH_NS_CHILD);
|
||||
forbid_others;
|
||||
};
|
||||
|
||||
scenario 'ENOUGH-CHILD-NOT-DEL' => sub {
|
||||
expect qw(ENOUGH_IPV4_NS_CHILD
|
||||
ENOUGH_IPV6_NS_CHILD
|
||||
ENOUGH_NS_CHILD
|
||||
NOT_ENOUGH_IPV4_NS_DEL
|
||||
NOT_ENOUGH_IPV6_NS_DEL
|
||||
NOT_ENOUGH_NS_DEL);
|
||||
forbid_others;
|
||||
};
|
||||
|
||||
scenario 'IPV6-AND-DEL-OK-NO-IPV4-CHILD' => sub {
|
||||
todo; # FIXME: why?
|
||||
|
||||
expect qw(ENOUGH_IPV4_NS_DEL
|
||||
ENOUGH_IPV6_NS_CHILD
|
||||
ENOUGH_IPV6_NS_DEL
|
||||
ENOUGH_NS_CHILD
|
||||
ENOUGH_NS_DEL
|
||||
NO_IPV4_NS_CHILD);
|
||||
forbid_others;
|
||||
};
|
||||
|
||||
scenario 'IPV4-AND-DEL-OK-NO-IPV6-CHILD' => sub {
|
||||
todo; # FIXME: why?
|
||||
|
||||
expect qw(ENOUGH_IPV4_NS_DEL
|
||||
ENOUGH_IPV4_NS_CHILD
|
||||
ENOUGH_IPV6_NS_DEL
|
||||
ENOUGH_NS_CHILD
|
||||
ENOUGH_NS_DEL
|
||||
NO_IPV6_NS_CHILD);
|
||||
forbid_others;
|
||||
};
|
||||
|
||||
scenario 'NO-IPV4-{1..3}' => sub {
|
||||
expect qw(ENOUGH_IPV6_NS_CHILD
|
||||
ENOUGH_IPV6_NS_DEL
|
||||
ENOUGH_NS_CHILD
|
||||
ENOUGH_NS_DEL
|
||||
NO_IPV4_NS_CHILD
|
||||
NO_IPV4_NS_DEL);
|
||||
forbid_others;
|
||||
};
|
||||
|
||||
scenario 'NO-IPV6-{1..3}' => sub {
|
||||
expect qw(ENOUGH_IPV4_NS_CHILD
|
||||
ENOUGH_IPV4_NS_DEL
|
||||
ENOUGH_NS_CHILD
|
||||
ENOUGH_NS_DEL
|
||||
NO_IPV6_NS_CHILD
|
||||
NO_IPV6_NS_DEL);
|
||||
forbid_others;
|
||||
};
|
||||
|
||||
scenario 'MISMATCH-DELEGATION-CHILD-1' => sub {
|
||||
todo; # FIXME: why?
|
||||
|
||||
expect qw(ENOUGH_IPV4_NS_CHILD
|
||||
NOT_ENOUGH_IPV4_NS_DEL
|
||||
ENOUGH_IPV6_NS_CHILD
|
||||
NOT_ENOUGH_IPV6_NS_DEL
|
||||
ENOUGH_NS_CHILD
|
||||
ENOUGH_NS_DEL);
|
||||
forbid_others;
|
||||
};
|
||||
|
||||
scenario 'MISMATCH-DELEGATION-CHILD-2' => sub {
|
||||
todo; # FIXME: why?
|
||||
|
||||
expect qw(NOT_ENOUGH_IPV4_NS_CHILD
|
||||
ENOUGH_IPV4_NS_DEL
|
||||
NOT_ENOUGH_IPV6_NS_CHILD
|
||||
ENOUGH_IPV6_NS_DEL
|
||||
ENOUGH_NS_CHILD
|
||||
ENOUGH_NS_DEL);
|
||||
forbid_others;
|
||||
};
|
||||
|
||||
no_more_scenarios;
|
||||
Reference in New Issue
Block a user