aboutsummaryrefslogtreecommitdiffstats
path: root/vespa-documentgen-plugin/src/test/java/com
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
commit72231250ed81e10d66bfe70701e64fa5fe50f712 (patch)
tree2728bba1131a6f6e5bdf95afec7d7ff9358dac50 /vespa-documentgen-plugin/src/test/java/com
Publish
Diffstat (limited to 'vespa-documentgen-plugin/src/test/java/com')
-rw-r--r--vespa-documentgen-plugin/src/test/java/com/yahoo/vespa/DocumentGenTest.java63
1 files changed, 63 insertions, 0 deletions
diff --git a/vespa-documentgen-plugin/src/test/java/com/yahoo/vespa/DocumentGenTest.java b/vespa-documentgen-plugin/src/test/java/com/yahoo/vespa/DocumentGenTest.java
new file mode 100644
index 00000000000..1220521558f
--- /dev/null
+++ b/vespa-documentgen-plugin/src/test/java/com/yahoo/vespa/DocumentGenTest.java
@@ -0,0 +1,63 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa;
+
+import com.yahoo.document.DataType;
+import com.yahoo.document.StructDataType;
+import com.yahoo.document.WeightedSetDataType;
+import com.yahoo.searchdefinition.Search;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.junit.Test;
+
+import java.io.File;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+public class DocumentGenTest {
+
+ @Test
+ public void testMusic() throws MojoExecutionException, MojoFailureException {
+ DocumentGenMojo mojo = new DocumentGenMojo();
+ mojo.execute(new File("etc/music/"), new File("target/generated-test-sources/vespa-documentgen-plugin/"), "com.yahoo.vespa.document");
+ Map<String, Search> searches = mojo.getSearches();
+ assertEquals(searches.size(),1);
+ assertEquals(searches.get("music").getDocument("music").getField("title").getDataType(), DataType.STRING);
+ }
+
+ @Test
+ public void testComplex() throws MojoFailureException {
+ DocumentGenMojo mojo = new DocumentGenMojo();
+ mojo.execute(new File("etc/complex/"), new File("target/generated-test-sources/vespa-documentgen-plugin/"), "com.yahoo.vespa.document");
+ Map<String, Search> searches = mojo.getSearches();
+ assertEquals(searches.get("video").getDocument("video").getField("weight").getDataType(), DataType.FLOAT);
+ assertTrue(searches.get("book").getDocument("book").getField("mystruct").getDataType() instanceof StructDataType);
+ assertTrue(searches.get("book").getDocument("book").getField("mywsfloat").getDataType() instanceof WeightedSetDataType);
+ assertTrue(((WeightedSetDataType)(searches.get("book").getDocument("book").getField("mywsfloat").getDataType())).getNestedType() == DataType.FLOAT);
+ }
+
+ @Test
+ public void testLocalApp() throws MojoFailureException {
+ DocumentGenMojo mojo = new DocumentGenMojo();
+ mojo.execute(new File("etc/localapp/"), new File("target/generated-test-sources/vespa-documentgen-plugin/"), "com.yahoo.vespa.document");
+ Map<String, Search> searches = mojo.getSearches();
+ assertEquals(searches.get("video").getDocument("video").getField("weight").getDataType(), DataType.FLOAT);
+ assertTrue(searches.get("book").getDocument("book").getField("mystruct").getDataType() instanceof StructDataType);
+ assertTrue(searches.get("book").getDocument("book").getField("mywsfloat").getDataType() instanceof WeightedSetDataType);
+ assertTrue(((WeightedSetDataType)(searches.get("book").getDocument("book").getField("mywsfloat").getDataType())).getNestedType() == DataType.FLOAT);
+ }
+
+ @Test
+ public void testEmptyPkgNameForbidden() throws MojoFailureException {
+ DocumentGenMojo mojo = new DocumentGenMojo();
+ try {
+ mojo.execute(new File("etc/localapp/"), new File("target/generated-test-sources/vespa-documentgen-plugin/"), "");
+ fail("Didn't throw in empty pkg");
+ } catch (IllegalArgumentException e) {
+
+ }
+ }
+
+}