aboutsummaryrefslogtreecommitdiffstats
path: root/clustercontroller-reindexer/src/test/java/ai/vespa/reindexing/ReindexingCuratorTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'clustercontroller-reindexer/src/test/java/ai/vespa/reindexing/ReindexingCuratorTest.java')
-rw-r--r--clustercontroller-reindexer/src/test/java/ai/vespa/reindexing/ReindexingCuratorTest.java48
1 files changed, 48 insertions, 0 deletions
diff --git a/clustercontroller-reindexer/src/test/java/ai/vespa/reindexing/ReindexingCuratorTest.java b/clustercontroller-reindexer/src/test/java/ai/vespa/reindexing/ReindexingCuratorTest.java
new file mode 100644
index 00000000000..0501ff474ca
--- /dev/null
+++ b/clustercontroller-reindexer/src/test/java/ai/vespa/reindexing/ReindexingCuratorTest.java
@@ -0,0 +1,48 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package ai.vespa.reindexing;
+
+import com.yahoo.document.DocumentType;
+import com.yahoo.document.DocumentTypeManager;
+import com.yahoo.document.config.DocumentmanagerConfig;
+import com.yahoo.documentapi.ProgressToken;
+import com.yahoo.searchdefinition.derived.Deriver;
+import com.yahoo.vespa.curator.mock.MockCurator;
+import org.junit.jupiter.api.Test;
+
+import java.time.Instant;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+/**
+ * @author jonmv
+ */
+class ReindexingCuratorTest {
+
+ @Test
+ void testSerialization() {
+ DocumentmanagerConfig musicConfig = Deriver.getDocumentManagerConfig("src/test/resources/schemas/music.sd").build();
+ DocumentmanagerConfig emptyConfig = new DocumentmanagerConfig.Builder().build();
+ DocumentTypeManager manager = new DocumentTypeManager(musicConfig);
+ DocumentType music = manager.getDocumentType("music");
+ MockCurator mockCurator = new MockCurator();
+ ReindexingCurator curator = new ReindexingCurator(mockCurator, manager);
+
+ assertEquals(Reindexing.empty(), curator.readReindexing());
+
+ Reindexing.Status status = Reindexing.Status.ready(Instant.ofEpochMilli(123))
+ .running()
+ .progressed(new ProgressToken());
+ Reindexing reindexing = Reindexing.empty().with(music, status);
+ curator.writeReindexing(reindexing);
+ assertEquals(reindexing, curator.readReindexing());
+
+ status = status.halted().running().failed(Instant.ofEpochMilli(321), "error");
+ reindexing = reindexing.with(music, status);
+ curator.writeReindexing(reindexing);
+ assertEquals(reindexing, curator.readReindexing());
+
+ // Unknown document types are forgotten.
+ assertEquals(Reindexing.empty(), new ReindexingCurator(mockCurator, new DocumentTypeManager(emptyConfig)).readReindexing());
+ }
+
+}