summaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/vespa/model/application/validation/UrlConfigValidatorTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/test/java/com/yahoo/vespa/model/application/validation/UrlConfigValidatorTest.java')
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/UrlConfigValidatorTest.java107
1 files changed, 0 insertions, 107 deletions
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/UrlConfigValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/UrlConfigValidatorTest.java
deleted file mode 100644
index cef4d8c27dd..00000000000
--- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/UrlConfigValidatorTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-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.api.ConfigDefinitionRepo;
-import com.yahoo.config.model.application.provider.MockFileRegistry;
-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.RegionName;
-import com.yahoo.config.provision.SystemName;
-import com.yahoo.config.provision.Zone;
-import com.yahoo.embedding.BertBaseEmbedderConfig;
-import com.yahoo.vespa.config.ConfigDefinitionKey;
-import com.yahoo.vespa.config.buildergen.ConfigDefinition;
-import com.yahoo.vespa.model.VespaModel;
-import org.junit.jupiter.api.Test;
-import org.xml.sax.SAXException;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-import static com.yahoo.config.provision.Environment.prod;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-public class UrlConfigValidatorTest {
-
- @Test
- void failsWhenContainerNodesNotExclusive() throws IOException, SAXException {
- runValidatorOnApp(true, SystemName.Public); // Exclusive nodes in public => success
-
- assertEquals("Found s3:// urls in config for container cluster default. This is only supported in public systems",
- assertThrows(IllegalArgumentException.class,
- () -> runValidatorOnApp(false, SystemName.main))
- .getMessage());
-
- assertEquals("Found s3:// urls in config for container cluster default. This is only supported in public systems",
- assertThrows(IllegalArgumentException.class,
- () -> runValidatorOnApp(true, SystemName.main))
- .getMessage());
-
- assertEquals("Found s3:// urls in config for container cluster default. Nodes in the cluster need to be 'exclusive',"
- + " see https://cloud.vespa.ai/en/reference/services#nodes",
- assertThrows(IllegalArgumentException.class,
- () -> runValidatorOnApp(false, SystemName.Public))
- .getMessage());
- }
-
- private static String containerXml(boolean isExclusive) {
- return """
- <container version='1.0' id='default'>
- <component id='transformer' class='ai.vespa.embedding.BertBaseEmbedder' bundle='model-integration'>
- <config name='embedding.bert-base-embedder'>
- <transformerModel url='s3://models/minilm-l6-v2/sentence_all_MiniLM_L6_v2.onnx' path='foo'/>
- <tokenizerVocab url='s3://models/bert-base-uncased.txt'/>
- </config>
- </component>
- <search/>
- <document-api/>
- <nodes count='2' exclusive='%s' />
- </container>
- """.formatted(Boolean.toString(isExclusive));
- }
-
- private static void runValidatorOnApp(boolean isExclusive, SystemName systemName) throws IOException, SAXException {
- String container = containerXml(isExclusive);
- String servicesXml = """
- <services version='1.0'>
- %s
- </services>
- """.formatted(container);
- ApplicationPackage app = new MockApplicationPackage.Builder()
- .withServices(servicesXml)
- .build();
- DeployState deployState = createDeployState(app, systemName);
- VespaModel model = new VespaModel(new NullConfigModelRegistry(), deployState);
- new UrlConfigValidator().validate(model, deployState);
- }
-
- private static DeployState createDeployState(ApplicationPackage app, SystemName systemName) {
- boolean isHosted = true;
- var builder = new DeployState.Builder()
- .applicationPackage(app)
- .zone(new Zone(systemName, prod, RegionName.from("us-east-3")))
- .properties(new TestProperties().setHostedVespa(isHosted))
- .fileRegistry(new MockFileRegistry());
-
- Map<ConfigDefinitionKey, ConfigDefinition> defs = new HashMap<>();
- defs.put(new ConfigDefinitionKey(BertBaseEmbedderConfig.CONFIG_DEF_NAME, BertBaseEmbedderConfig.CONFIG_DEF_NAMESPACE),
- new ConfigDefinition(BertBaseEmbedderConfig.CONFIG_DEF_NAME, BertBaseEmbedderConfig.CONFIG_DEF_SCHEMA));
- builder.configDefinitionRepo(new ConfigDefinitionRepo() {
- @Override
- public Map<ConfigDefinitionKey, com.yahoo.vespa.config.buildergen.ConfigDefinition> getConfigDefinitions() {
- return defs;
- }
-
- @Override
- public com.yahoo.vespa.config.buildergen.ConfigDefinition get(ConfigDefinitionKey key) {
- return defs.get(key);
- }
- });
- return builder.build();
- }
-
-}