summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2022-10-24 13:20:53 +0200
committerHarald Musum <musum@yahooinc.com>2022-10-24 13:20:53 +0200
commit31fe16f40f493808a557a4339a101c2d25ec2698 (patch)
treecbd7af00927d4f603d35f0d5e202c30bfed6a60a /config-model
parent00b4145b4e010484982e24d53e0c086ad96568d9 (diff)
Remove unused class left behind after earlier cleanups
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/AccessControlValidatorTestBase.java171
1 files changed, 0 insertions, 171 deletions
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/AccessControlValidatorTestBase.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/AccessControlValidatorTestBase.java
deleted file mode 100644
index 8ca973dc59f..00000000000
--- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/AccessControlValidatorTestBase.java
+++ /dev/null
@@ -1,171 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.model.application.validation;
-
-import com.yahoo.config.application.api.ApplicationPackage;
-import com.yahoo.config.model.NullConfigModelRegistry;
-import com.yahoo.config.model.deploy.DeployState;
-import com.yahoo.config.model.deploy.TestProperties;
-import com.yahoo.config.model.test.MockApplicationPackage;
-import com.yahoo.config.provision.Zone;
-import com.yahoo.vespa.model.VespaModel;
-import org.junit.jupiter.api.Test;
-import org.xml.sax.SAXException;
-
-import java.io.IOException;
-import java.time.Instant;
-import java.time.LocalDate;
-import java.time.ZoneOffset;
-import java.time.format.DateTimeFormatter;
-
-import static com.yahoo.config.model.test.TestUtil.joinLines;
-import static com.yahoo.config.provision.Environment.prod;
-import static org.junit.jupiter.api.Assertions.*;
-
-/**
- * @author gjoranv
- */
-public abstract class AccessControlValidatorTestBase {
-
- protected Validator validator;
- protected Zone zone;
-
- private static String servicesXml(boolean addHandler, boolean protection) {
- return joinLines("<services version='1.0'>",
- " <container id='default' version='1.0'>",
- addHandler ? httpHandlerXml : "",
- " <http>",
- " <filtering>",
- " <access-control domain='foo' read='" + protection + "' write='" + protection + "' />",
- " </filtering>",
- " </http>",
- " </container>",
- "</services>");
- }
-
- private static final String httpHandlerXml =
- joinLines(" <handler id='foo'>",
- " <binding>http://foo/bar</binding>",
- " </handler>");
-
- @Test
- void cluster_with_protection_passes_validation() throws IOException, SAXException {
- DeployState deployState = deployState(servicesXml(true, true));
- VespaModel model = new VespaModel(new NullConfigModelRegistry(), deployState);
-
- validator.validate(model, deployState);
- }
-
- @Test
- void cluster_with_no_handlers_passes_validation_without_protection() throws IOException, SAXException {
- DeployState deployState = deployState(servicesXml(false, false));
- VespaModel model = new VespaModel(new NullConfigModelRegistry(), deployState);
-
- validator.validate(model, deployState);
- }
-
- @Test
- void cluster_without_custom_components_passes_validation_without_protection() throws IOException, SAXException {
- String servicesXml = joinLines("<services version='1.0'>",
- " <container id='default' version='1.0' />",
- "</services>");
- DeployState deployState = deployState(servicesXml);
- VespaModel model = new VespaModel(new NullConfigModelRegistry(), deployState);
-
- validator.validate(model, deployState);
- }
-
- @Test
- void cluster_with_handler_fails_validation_without_protection() throws IOException, SAXException {
- DeployState deployState = deployState(servicesXml(true, false));
- VespaModel model = new VespaModel(new NullConfigModelRegistry(), deployState);
-
- try {
- validator.validate(model, deployState);
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(e.getMessage().contains("Access-control must be enabled"));
- assertTrue(e.getMessage().contains("production zones: [default]"));
- }
- }
-
- @Test
- void no_http_element_has_same_effect_as_no_write_protection() throws IOException, SAXException {
- String servicesXml = joinLines("<services version='1.0'>",
- " <container id='default' version='1.0'>",
- httpHandlerXml,
- " </container>",
- "</services>");
- DeployState deployState = deployState(servicesXml);
- VespaModel model = new VespaModel(new NullConfigModelRegistry(), deployState);
-
- try {
- validator.validate(model, deployState);
- fail();
- } catch (IllegalArgumentException e) {
- assertTrue(e.getMessage().contains("Access-control must be enabled"));
- assertTrue(e.getMessage().contains("production zones: [default]"));
- }
- }
-
- @Test
- void cluster_with_mbus_handler_passes_validation_without_write_protection() throws IOException, SAXException {
- String servicesXml = joinLines("<services version='1.0'>",
- " <container id='default' version='1.0'>",
- " <handler id='foo'>",
- " <binding>mbus://*/foo</binding>",
- " </handler>",
- " </container>",
- "</services>");
- DeployState deployState = deployState(servicesXml);
- VespaModel model = new VespaModel(new NullConfigModelRegistry(), deployState);
-
- validator.validate(model, deployState);
- }
-
- @Test
- void write_protection_is_not_required_for_non_default_application_type() throws IOException, SAXException {
- String servicesXml = joinLines("<services version='1.0' application-type='hosted-infrastructure'>",
- " <container id='default' version='1.0'>",
- httpHandlerXml,
- " </container>",
- "</services>");
- DeployState deployState = deployState(servicesXml);
- VespaModel model = new VespaModel(new NullConfigModelRegistry(), deployState);
-
- validator.validate(model, deployState);
- }
-
- @Test
- void write_protection_is_not_required_with_validation_override() throws IOException, SAXException {
- DeployState deployState = deployState(servicesXml(true, false),
- "<validation-overrides><allow until='2000-01-30'>access-control</allow></validation-overrides>",
- LocalDate.parse("2000-01-01", DateTimeFormatter.ISO_DATE).atStartOfDay().atZone(ZoneOffset.UTC).toInstant());
- VespaModel model = new VespaModel(new NullConfigModelRegistry(), deployState);
-
- validator.validate(model, deployState);
- }
-
- private DeployState deployState(String servicesXml) {
- return deployState(servicesXml, "<validation-overrides></validation-overrides>", Instant.now());
- }
-
- private DeployState deployState(String servicesXml, String validationOverrides, Instant now) {
- ApplicationPackage app = new MockApplicationPackage.Builder()
- .withServices(servicesXml)
- .withValidationOverrides(validationOverrides)
- .build();
-
- DeployState.Builder builder = new DeployState.Builder()
- .applicationPackage(app)
- .zone(zone)
- .properties(new TestProperties().setHostedVespa(true))
- .now(now);
- final DeployState deployState = builder.build();
-
- assertTrue(deployState.isHosted(), "Test must emulate a hosted deployment.");
- assertEquals(prod, deployState.zone().environment(), "Test must emulate a prod environment.");
-
- return deployState;
- }
-
-}