aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/vespa/model/container
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@vespa.ai>2024-01-05 11:55:14 +0100
committerBjørn Christian Seime <bjorncs@vespa.ai>2024-01-05 13:58:47 +0100
commit9d03920ca70489d3d334dc90b5c0ad14b5ba2d63 (patch)
tree3ed98c68603948f8902a2010be0f4f102f9633ee /config-model/src/test/java/com/yahoo/vespa/model/container
parent21b8ca070ade5a2a35cf89c4b8b5f9748510ce3b (diff)
Tag provided models with type to catch misconfiguration
Diffstat (limited to 'config-model/src/test/java/com/yahoo/vespa/model/container')
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/xml/ModelIdResolverTest.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ModelIdResolverTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ModelIdResolverTest.java
new file mode 100644
index 00000000000..409c3ac833a
--- /dev/null
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ModelIdResolverTest.java
@@ -0,0 +1,35 @@
+package com.yahoo.vespa.model.container.xml;
+
+import com.yahoo.config.model.deploy.DeployState;
+import com.yahoo.config.model.deploy.TestProperties;
+import org.junit.jupiter.api.Test;
+
+import java.util.Optional;
+import java.util.Set;
+
+import static com.yahoo.vespa.model.container.xml.ModelIdResolver.HF_TOKENIZER;
+import static com.yahoo.vespa.model.container.xml.ModelIdResolver.ONNX_MODEL;
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+/**
+ * @author bjorncs
+ */
+class ModelIdResolverTest {
+
+ @Test
+ void throws_on_known_model_with_missing_tags() {
+ var state = new DeployState.Builder().properties(new TestProperties().setHostedVespa(true)).build();
+ var e = assertThrows(IllegalArgumentException.class, () ->
+ ModelIdResolver.resolveToModelReference(
+ "param", Optional.of("minilm-l6-v2"), Optional.empty(), Optional.empty(), Set.of(HF_TOKENIZER), state));
+ var expectedMsg = "Model 'minilm-l6-v2' on 'param' has tags [onnx-model] but are missing required tags [huggingface-tokenizer]";
+ assertEquals(expectedMsg, e.getMessage());
+
+ assertDoesNotThrow(
+ () -> ModelIdResolver.resolveToModelReference(
+ "param", Optional.of("minilm-l6-v2"), Optional.empty(), Optional.empty(), Set.of(ONNX_MODEL), state));
+ }
+
+} \ No newline at end of file