use of com.yahoo.document.DocumentType in project vespa by vespa-engine.
the class FailingDocumentProcessingTestCase method assertProcessingWorks.
protected void assertProcessingWorks(DocprocService service) {
// Create documents
DocumentType type = new DocumentType("test");
type.addField("test", DataType.STRING);
DocumentPut put1 = new DocumentPut(type, new DocumentId("doc:failing:test:1"));
DocumentPut put2 = new DocumentPut(type, new DocumentId("doc:failing:test:2"));
DocumentPut put3 = new DocumentPut(type, new DocumentId("doc:failing:test:3"));
// Process them
service.process(put1);
service.process(put2);
service.process(put3);
while (service.doWork()) {
}
// Verify
assertEquals(new StringFieldValue("done 3"), put1.getDocument().getFieldValue("test"));
// Due to exception in 2
assertEquals(new StringFieldValue("done 2"), put2.getDocument().getFieldValue("test"));
assertEquals(new StringFieldValue("done 3"), put3.getDocument().getFieldValue("test"));
}
use of com.yahoo.document.DocumentType in project vespa by vespa-engine.
the class FailingPermanentlyDocumentProcessingTestCase method assertProcessingWorks.
protected void assertProcessingWorks(DocprocService service) {
// Create documents
DocumentType type = new DocumentType("test");
type.addField("test", DataType.STRING);
DocumentPut put1 = new DocumentPut(type, new DocumentId("doc:permanentfailure:test:1"));
DocumentPut put2 = new DocumentPut(type, new DocumentId("doc:permanentfailure:test:2"));
DocumentPut put3 = new DocumentPut(type, new DocumentId("doc:permanentfailure:test:3"));
// Process them
service.process(put1);
service.process(put2);
service.process(put3);
while (service.doWork()) {
}
// Verify
assertEquals(new StringFieldValue("done 3"), put1.getDocument().getFieldValue("test"));
// Due to PERMANENT_FAILURE in 2
assertEquals(new StringFieldValue("done 2"), put2.getDocument().getFieldValue("test"));
// service is disabled now
assertNull(put3.getDocument().getFieldValue("test"));
assertFalse(service.isInService());
service.setInService(true);
while (service.doWork()) {
}
assertEquals(new StringFieldValue("done 3"), put3.getDocument().getFieldValue("test"));
assertTrue(service.isInService());
}
use of com.yahoo.document.DocumentType in project vespa by vespa-engine.
the class JsonReaderTestCase method parseUpdate.
private DocumentUpdate parseUpdate(String json) throws IOException {
InputStream rawDoc = new ByteArrayInputStream(Utf8.toBytes(json));
JsonReader r = new JsonReader(types, rawDoc, parserFactory);
DocumentParseInfo parseInfo = r.parseDocument().get();
DocumentType docType = r.readDocumentType(parseInfo.documentId);
DocumentUpdate update = new DocumentUpdate(docType, parseInfo.documentId);
new VespaJsonDocumentReader().readUpdate(parseInfo.fieldsBuffer, update);
return update;
}
use of com.yahoo.document.DocumentType in project vespa by vespa-engine.
the class JsonReaderTestCase method testMap.
@Test
public final void testMap() throws IOException {
InputStream rawDoc = new ByteArrayInputStream(Utf8.toBytes("{\"put\": \"id:unittest:testmap::whee\"," + " \"fields\": { \"actualmap\": {" + " \"nalle\": \"kalle\", \"tralle\": \"skalle\"}}}"));
JsonReader r = new JsonReader(types, rawDoc, parserFactory);
DocumentParseInfo parseInfo = r.parseDocument().get();
DocumentType docType = r.readDocumentType(parseInfo.documentId);
DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId));
new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put);
Document doc = put.getDocument();
FieldValue f = doc.getFieldValue(doc.getField("actualmap"));
assertSame(MapFieldValue.class, f.getClass());
MapFieldValue<?, ?> m = (MapFieldValue<?, ?>) f;
assertEquals(2, m.size());
assertEquals(new StringFieldValue("kalle"), m.get(new StringFieldValue("nalle")));
assertEquals(new StringFieldValue("skalle"), m.get(new StringFieldValue("tralle")));
}
use of com.yahoo.document.DocumentType in project vespa by vespa-engine.
the class JsonReaderTestCase method emptyDocTest.
@Test
public final void emptyDocTest() throws IOException {
InputStream rawDoc = new ByteArrayInputStream(Utf8.toBytes("{\"put\": \"id:unittest:smoke::whee\"," + " \"fields\": {}}"));
JsonReader r = new JsonReader(types, rawDoc, parserFactory);
DocumentParseInfo parseInfo = r.parseDocument().get();
DocumentType docType = r.readDocumentType(parseInfo.documentId);
DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId));
new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put);
assertEquals("id:unittest:smoke::whee", parseInfo.documentId.toString());
}
Aggregations