aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/vespa/model/utils/FileSenderTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/test/java/com/yahoo/vespa/model/utils/FileSenderTest.java')
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/utils/FileSenderTest.java58
1 files changed, 58 insertions, 0 deletions
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/utils/FileSenderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/utils/FileSenderTest.java
index c7358ff1d7e..e113e53f541 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/utils/FileSenderTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/utils/FileSenderTest.java
@@ -3,6 +3,8 @@ package com.yahoo.vespa.model.utils;
import com.yahoo.config.FileNode;
import com.yahoo.config.FileReference;
+import com.yahoo.config.ModelReference;
+import com.yahoo.config.UrlReference;
import com.yahoo.config.application.api.FileRegistry;
import com.yahoo.config.model.application.provider.BaseDeployLogger;
import com.yahoo.config.model.producer.AbstractConfigProducer;
@@ -22,6 +24,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -106,6 +109,42 @@ public class FileSenderTest {
}
@Test
+ void require_that_simple_model_field_with_just_path_is_modified() {
+ var originalValue = ModelReference.unresolved(new FileReference("myModel.onnx"));
+ def.addModelDef("modelVal");
+ builder.setField("modelVal", originalValue.toString());
+ assertFileSent("myModel.onnx", originalValue);
+ }
+
+ @Test
+ void require_that_simple_model_field_with_path_and_url_is_modified() {
+ var originalValue = ModelReference.unresolved(Optional.empty(),
+ Optional.of(new UrlReference("myUrl")),
+ Optional.of(new FileReference("myModel.onnx")));
+ def.addModelDef("modelVal");
+ builder.setField("modelVal", originalValue.toString());
+ assertFileSent("myModel.onnx", originalValue);
+ }
+
+ @Test
+ void require_that_simple_model_field_with_just_url_is_not_modified() {
+ var originalValue = ModelReference.unresolved(new UrlReference("myUrl"));
+ def.addModelDef("modelVal");
+ builder.setField("modelVal",originalValue.toString());
+ fileSender().sendUserConfiguredFiles(producer);
+ assertEquals(originalValue, ModelReference.valueOf(builder.getObject("modelVal").getValue()));
+ }
+
+ private void assertFileSent(String path, ModelReference originalValue) {
+ fileRegistry.pathToRef.put(path, new FileNode("myModelHash").value());
+ fileSender().sendUserConfiguredFiles(producer);
+ var expected = ModelReference.unresolved(originalValue.modelId(),
+ originalValue.url(),
+ Optional.of(new FileReference("myModelHash")));
+ assertEquals(expected, ModelReference.valueOf(builder.getObject("modelVal").getValue()));
+ }
+
+ @Test
void require_that_fields_in_inner_arrays_are_modified() {
def.innerArrayDef("inner").addFileDef("fileVal");
def.innerArrayDef("inner").addStringDef("stringVal");
@@ -119,6 +158,25 @@ public class FileSenderTest {
}
@Test
+ void require_that_paths_and_model_fields_are_modified() {
+ def.arrayDef("fileArray").setTypeSpec(new ConfigDefinition.TypeSpec("fileArray", "file", null, null, null, null));
+ def.arrayDef("pathArray").setTypeSpec(new ConfigDefinition.TypeSpec("pathArray", "path", null, null, null, null));
+ def.arrayDef("stringArray").setTypeSpec(new ConfigDefinition.TypeSpec("stringArray", "string", null, null, null, null));
+ builder.getArray("fileArray").append("foo.txt");
+ builder.getArray("fileArray").append("bar.txt");
+ builder.getArray("pathArray").append("path.txt");
+ builder.getArray("stringArray").append("foo.txt");
+ fileRegistry.pathToRef.put("foo.txt", new FileNode("foohash").value());
+ fileRegistry.pathToRef.put("bar.txt", new FileNode("barhash").value());
+ fileRegistry.pathToRef.put("path.txt", new FileNode("pathhash").value());
+ fileSender().sendUserConfiguredFiles(producer);
+ assertEquals("foohash", builder.getArray("fileArray").get(0).getValue());
+ assertEquals("barhash", builder.getArray("fileArray").get(1).getValue());
+ assertEquals("pathhash", builder.getArray("pathArray").get(0).getValue());
+ assertEquals("foo.txt", builder.getArray("stringArray").get(0).getValue());
+ }
+
+ @Test
void require_that_arrays_are_modified() {
def.arrayDef("fileArray").setTypeSpec(new ConfigDefinition.TypeSpec("fileArray", "file", null, null, null, null));
def.arrayDef("pathArray").setTypeSpec(new ConfigDefinition.TypeSpec("pathArray", "path", null, null, null, null));