diff options
author | Harald Musum <musum@yahooinc.com> | 2024-04-11 09:34:57 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2024-04-11 09:34:57 +0200 |
commit | 73e63a0489263a1c7671e6f3cb29d31dcdd09c37 (patch) | |
tree | a2e589b79be05b5558cdd9d03ff089f1690ea5b4 /config-model/src/test | |
parent | ed76cd45f86c8af9431860a9ac7c40fc59fb9e3c (diff) |
Validate url for models
Diffstat (limited to 'config-model/src/test')
-rw-r--r-- | config-model/src/test/java/com/yahoo/vespa/model/container/component/ModelTest.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/component/ModelTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/component/ModelTest.java new file mode 100644 index 00000000000..cb2594ae49c --- /dev/null +++ b/config-model/src/test/java/com/yahoo/vespa/model/container/component/ModelTest.java @@ -0,0 +1,36 @@ +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.model.container.component; + +import com.yahoo.config.model.deploy.DeployState; +import com.yahoo.text.XML; +import org.junit.jupiter.api.Test; + +import java.util.Set; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; + +/** + * @author hmusum + */ +public class ModelTest { + + @Test + void invalid_url(){ + var xml = """ + <component id="bert-embedder" type="bert-embedder"> + <transformer-model url="models/e5-base-v2.onnx" /> + <tokenizer-vocab path="models/vocab.txt"/> + </component> + """; + + try { + var state = new DeployState.Builder().build(); + Model.fromXml(state, XML.getDocument(xml).getDocumentElement(), "transformer-model", Set.of()); + fail("should fail"); + } catch (IllegalArgumentException e) { + assertEquals("Invalid url 'models/e5-base-v2.onnx': url has no 'scheme' component", e.getMessage()); + } + } + +} |