private void verifyAllowedUrns(String endpointsTag, Environment environment, String region, ZoneEndpoint expected) throws IOException, SAXException {
        String servicesXml = """
                             <container id='default' version='1.0'>
                               <nodes count='2' />
                             </container>
                             """;
        String deploymentXml = """
                               <deployment version='1.0'>
                                 <prod>
                                   <region>eu</region>
                                 </prod>
                                 <endpoints>
                                   %s
                                 </endpoints>
                               </deployment>
                               """.formatted(endpointsTag);
        ApplicationPackage applicationPackage = new MockApplicationPackage.Builder().withServices(servicesXml).withDeploymentSpec(deploymentXml).build();
        InMemoryProvisioner provisioner = new InMemoryProvisioner(true, false, "host1.yahoo.com", "host2.yahoo.com");
        VespaModel model = new VespaModel(new NullConfigModelRegistry(), new DeployState.Builder()
                .modelHostProvisioner(provisioner)
                .provisioned(provisioner.startProvisionedRecording())
                .applicationPackage(applicationPackage)
                .endpoints(Set.of(new ContainerEndpoint("default", ApplicationClusterEndpoint.Scope.zone, List.of("default.example.com"))))
                .properties(new TestProperties().setMultitenant(true)
                                                .setHostedVespa(true))
                .zone(new Zone(environment, RegionName.from(region)))
                .build());
        assertEquals(2, model.hostSystem().getHosts().size());
        assertEquals(1, provisioner.provisionedClusters().size());
        assertEquals(expected,
                     provisioner.provisionedClusters().iterator().next().zoneEndpoint());
    }
Tests for "core functionality" of the container model, e.g. ports, or the 'components' and 'bundles' configs.

Before adding a new test to this class, check if the test fits into one of the other existing subclasses
of {@link ContainerModelBuilderTestBase}. If not, consider creating a new subclass.

@author gjoranv
config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java