diff options
author | Bjørn Christian Seime <bjorncs@vespa.ai> | 2024-01-05 11:55:14 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@vespa.ai> | 2024-01-05 13:58:47 +0100 |
commit | 9d03920ca70489d3d334dc90b5c0ad14b5ba2d63 (patch) | |
tree | 3ed98c68603948f8902a2010be0f4f102f9633ee /config-model/src/test/java/com/yahoo/vespa/model/container | |
parent | 21b8ca070ade5a2a35cf89c4b8b5f9748510ce3b (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.java | 35 |
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 |