diff options
author | freva <valerijf@yahoo-inc.com> | 2017-02-17 11:14:41 +0100 |
---|---|---|
committer | freva <valerijf@yahoo-inc.com> | 2017-02-17 11:14:41 +0100 |
commit | 271fca4531159761f21677d4c6ec0802ed420898 (patch) | |
tree | 311ed46b11a83145d6d5769291978a994d3362af /document/src/test | |
parent | 6be1754eaef156e766d8d5a99f118eb9a851c1ab (diff) |
Change fieldpath format
Diffstat (limited to 'document/src/test')
3 files changed, 74 insertions, 157 deletions
diff --git a/document/src/test/java/com/yahoo/document/json/DocumentUpdateJsonSerializerTest.java b/document/src/test/java/com/yahoo/document/json/DocumentUpdateJsonSerializerTest.java index f0251f9b494..da64ad380fb 100644 --- a/document/src/test/java/com/yahoo/document/json/DocumentUpdateJsonSerializerTest.java +++ b/document/src/test/java/com/yahoo/document/json/DocumentUpdateJsonSerializerTest.java @@ -343,172 +343,89 @@ public class DocumentUpdateJsonSerializerTest { public void testSimultaneousFieldsAndFieldPathsUpdate() { deSerializeAndSerializeJsonAndMatch(inputJson( "{", - " 'update': 'DOCUMENT_ID',", - " 'fields': {", - " 'singlepos_field': {", - " 'assign': 'N60.222333;E10.12'", - " }", - " },", - " 'fieldpaths': [", - " {", + " 'update': 'DOCUMENT_ID',", + " 'fields': {", + " 'singlepos_field': {", + " 'assign': 'N60.222333;E10.12'", + " },", + " 'deep_map{my_field}': {", " 'assign': {", - " 'int_field': {", - " 'value': '($value + 3) / 2',", - " 'createmissingpath': true,", - " 'removeifzero': false", - " },", - " 'where': 'int_field > 3'", + " 'my_key': 'my value',", + " 'new_key': 'new value'", " }", - " }", - " ]", + " }", + " }", "}" )); } - @Test(expected=IllegalArgumentException.class) - public void testDoubleFieldPathOperationFails() { + @Test + public void testAssignFieldPathValue() { deSerializeAndSerializeJsonAndMatch(inputJson( "{", - " 'update': 'DOCUMENT_ID',", - " 'fieldpaths': [", - " {", + " 'update': 'DOCUMENT_ID',", + " 'fields': {", + " 'deep_map{my_field}': {", " 'assign': {", - " 'deep_map{my_field}': {", - " 'value': {", - " 'key': 'my_key',", - " 'value': 'my_value'", - " },", - " 'createmissingpath': true,", - " 'removeifzero': true", - " },", - " 'map_struct{my_key}': {", - " 'value': {", - " 'my_string_field': 'Some string',", - " 'my_int_field': 5", - " },", - " 'createmissingpath': false,", - " 'removeifzero': false", - " }", + " 'my_key': 'my value',", + " 'new_key': 'new value'", " }", - " }", - " ]", + " },", + " 'map_struct{my_key}': {", + " 'assign': {", + " 'my_string_field': 'Some string',", + " 'my_int_field': 5", + " }", + " },", + " 'map_struct{my_key}.my_int_field': {", + " 'assign': '10'", + " }", + " }", "}" )); } @Test - public void testAssignFieldPathValue() { + public void testRemoveFieldPathValue() { deSerializeAndSerializeJsonAndMatch(inputJson( "{", - " 'update': 'DOCUMENT_ID',", - " 'fieldpaths': [", - " {", - " 'assign': {", - " 'int_field': {", - " 'value': '($value + 3) / 2',", - " 'createmissingpath': true,", - " 'removeifzero': false", - " },", - " 'where': 'int_field > 3'", - " }", - " },", - " {", - " 'assign': {", - " 'deep_map{my_field}': {", - " 'value': {", - " 'my_key': 'my value',", - " 'my_new_key': 'new value'", - " },", - " 'createmissingpath': true,", - " 'removeifzero': true", - " }", - " }", - " },", - " {", - " 'assign': {", - " 'map_struct{my_key}': {", - " 'value': {", - " 'my_string_field': 'Some string',", - " 'my_int_field': 5", - " },", - " 'createmissingpath': false,", - " 'removeifzero': false", - " }", - " }", - " },", - " {", - " 'assign': {", - " 'map_struct{my_key}.my_int_field': {", - " 'value': '$value / 2',", - " 'createmissingpath': false,", - " 'removeifzero': false", - " }", - " }", - " },", - " {", - " 'assign': {", - " 'string_field': {", - " 'value': 'test',", - " 'createmissingpath': false,", - " 'removeifzero': true", - " }", - " }", - " }", - " ]", + " 'update': 'DOCUMENT_ID',", + " 'fields': {", + " 'int_array[5]': {", + " 'remove': {}", + " }", + " }", "}" )); } @Test - public void testRemoveFieldPathValue() { + public void testAddFieldPathValue() { deSerializeAndSerializeJsonAndMatch(inputJson( "{", - " 'update': 'DOCUMENT_ID',", - " 'fieldpaths': [", - " {", - " 'remove': {", - " 'int_array': {},", - " 'where': '$value == 5'", - " }", - " },", - " {", - " 'remove': {", - " 'string_field': {}", - " }", - " }", - " ]", + " 'update': 'DOCUMENT_ID',", + " 'fields': {", + " 'map_array{my_value}': {", + " 'add': ['some', 'fancy', 'strings']", + " }", + " }", "}" )); } @Test - public void testAddFieldPathValue() { + public void testMultipleOperationsOnSingleFieldPath() { deSerializeAndSerializeJsonAndMatch(inputJson( "{", - " 'update': 'DOCUMENT_ID',", - " 'fieldpaths': [", - " {", - " 'add': {", - " 'int_array': {", - " 'items': [123, 456, 789]", - " }", - " }", - " },", - " {", - " 'add': {", - " 'map_array{my_value}': {", - " 'items': ['some', 'fancy', 'strings']", - " }", - " }", - " },", - " {", - " 'add': {", - " 'string_array': {", - " 'items': ['test', 'of', 'array', 'add']", - " }", - " }", - " }", - " ]", + " 'update': 'DOCUMENT_ID',", + " 'fields': {", + " 'map_struct{my_key}': {", + " 'assign': {", + " 'my_string_field': 'Some string'", + " },", + " 'remove': {}", + " }", + " }", "}" )); } diff --git a/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java b/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java index 283a65a71ba..7ad68be6b65 100644 --- a/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java +++ b/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java @@ -217,7 +217,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); - VespaJsonDocumentReader.readPut(parseInfo.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); smokeTestDoc(put.getDocument()); } @@ -233,7 +233,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); - VespaJsonDocumentReader.readPut(parseInfo.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); smokeTestDoc(put.getDocument()); } @@ -247,7 +247,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); - VespaJsonDocumentReader.readPut(parseInfo.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); assertEquals("id:unittest:smoke::whee", parseInfo.documentId.toString()); } @@ -263,7 +263,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); - VespaJsonDocumentReader.readPut(parseInfo.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); Document doc = put.getDocument(); FieldValue f = doc.getFieldValue(doc.getField("skuggsjaa")); assertSame(Struct.class, f.getClass()); @@ -283,7 +283,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentUpdate doc = new DocumentUpdate(docType, parseInfo.documentId); - VespaJsonDocumentReader.readUpdate(parseInfo.fieldsBuffer, doc); + new VespaJsonDocumentReader().readUpdate(parseInfo.fieldsBuffer, doc); checkSimpleArrayAdd(doc); } @@ -299,7 +299,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentUpdate doc = new DocumentUpdate(docType, parseInfo.documentId); - VespaJsonDocumentReader.readUpdate(parseInfo.fieldsBuffer, doc); + new VespaJsonDocumentReader().readUpdate(parseInfo.fieldsBuffer, doc); Map<String, Integer> weights = new HashMap<>(); FieldUpdate x = doc.getFieldUpdate("actualset"); for (ValueUpdate<?> v : x.getValueUpdates()) { @@ -329,7 +329,7 @@ public class JsonReaderTestCase { DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentUpdate doc = new DocumentUpdate(docType, parseInfo.documentId); - VespaJsonDocumentReader.readUpdate(parseInfo.fieldsBuffer, doc); + new VespaJsonDocumentReader().readUpdate(parseInfo.fieldsBuffer, doc); Map<String, Tuple2<Number, String>> matches = new HashMap<>(); FieldUpdate x = doc.getFieldUpdate("actualset"); for (ValueUpdate<?> v : x.getValueUpdates()) { @@ -371,7 +371,7 @@ public class JsonReaderTestCase { DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentUpdate doc = new DocumentUpdate(docType, parseInfo.documentId); - VespaJsonDocumentReader.readUpdate(parseInfo.fieldsBuffer, doc); + new VespaJsonDocumentReader().readUpdate(parseInfo.fieldsBuffer, doc); Map<String, Tuple2<Number, Operator>> matches = new HashMap<>(); FieldUpdate x = doc.getFieldUpdate("actualset"); for (ValueUpdate v : x.getValueUpdates()) { @@ -405,7 +405,7 @@ public class JsonReaderTestCase { DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentUpdate doc = new DocumentUpdate(docType, parseInfo.documentId); - VespaJsonDocumentReader.readUpdate(parseInfo.fieldsBuffer, doc); + new VespaJsonDocumentReader().readUpdate(parseInfo.fieldsBuffer, doc); Map<Number, String> matches = new HashMap<>(); FieldUpdate x = doc.getFieldUpdate("actualarray"); for (ValueUpdate v : x.getValueUpdates()) { @@ -442,7 +442,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); - VespaJsonDocumentReader.readPut(parseInfo.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); Document doc = put.getDocument(); FieldValue f = doc.getFieldValue(doc.getField("actualset")); assertSame(WeightedSet.class, f.getClass()); @@ -463,7 +463,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); - VespaJsonDocumentReader.readPut(parseInfo.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); Document doc = put.getDocument(); FieldValue f = doc.getFieldValue(doc.getField("actualarray")); assertSame(Array.class, f.getClass()); @@ -483,7 +483,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); - VespaJsonDocumentReader.readPut(parseInfo.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); Document doc = put.getDocument(); FieldValue f = doc.getFieldValue(doc.getField("actualmap")); assertSame(MapFieldValue.class, f.getClass()); @@ -502,7 +502,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); - VespaJsonDocumentReader.readPut(parseInfo.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); Document doc = put.getDocument(); FieldValue f = doc.getFieldValue(doc.getField("singlepos")); assertSame(Struct.class, f.getClass()); @@ -519,7 +519,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); - VespaJsonDocumentReader.readPut(parseInfo.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); Document doc = put.getDocument(); FieldValue f = doc.getFieldValue(doc.getField("singlepos")); assertSame(Struct.class, f.getClass()); @@ -540,7 +540,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); - VespaJsonDocumentReader.readPut(parseInfo.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); Document doc = put.getDocument(); FieldValue f = doc.getFieldValue(doc.getField("actualraw")); assertSame(Raw.class, f.getClass()); @@ -558,7 +558,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); - VespaJsonDocumentReader.readPut(parseInfo.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); Document doc = put.getDocument(); FieldValue f = doc.getFieldValue("actualMapStringToArrayOfInt"); assertSame(MapFieldValue.class, f.getClass()); @@ -580,7 +580,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentUpdate doc = new DocumentUpdate(docType, parseInfo.documentId); - VespaJsonDocumentReader.readUpdate(parseInfo.fieldsBuffer, doc); + new VespaJsonDocumentReader().readUpdate(parseInfo.fieldsBuffer, doc); FieldUpdate f = doc.getFieldUpdate("something"); assertEquals(1, f.size()); AssignValueUpdate a = (AssignValueUpdate) f.getValueUpdate(0); @@ -597,7 +597,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentUpdate doc = new DocumentUpdate(docType, parseInfo.documentId); - VespaJsonDocumentReader.readUpdate(parseInfo.fieldsBuffer, doc); + new VespaJsonDocumentReader().readUpdate(parseInfo.fieldsBuffer, doc); FieldUpdate f = doc.getFieldUpdate("actualMapStringToArrayOfInt"); assertEquals(1, f.size()); AssignValueUpdate assign = (AssignValueUpdate) f.getValueUpdate(0); @@ -621,7 +621,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentUpdate doc = new DocumentUpdate(docType, parseInfo.documentId); - VespaJsonDocumentReader.readUpdate(parseInfo.fieldsBuffer, doc); + new VespaJsonDocumentReader().readUpdate(parseInfo.fieldsBuffer, doc); FieldUpdate x = doc.getFieldUpdate("actualset"); assertEquals(1, x.size()); AssignValueUpdate assign = (AssignValueUpdate) x.getValueUpdate(0); @@ -824,7 +824,7 @@ public class JsonReaderTestCase { DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); exception.expect(NullPointerException.class); exception.expectMessage("Could not get field \"smething\" in the structure of type \"smoke\"."); - VespaJsonDocumentReader.readPut(parseInfo.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); } @Test @@ -851,7 +851,7 @@ public class JsonReaderTestCase { DocumentParseInfo parseInfo = r.parseDocument().get(); DocumentType docType = r.readDocumentType(parseInfo.documentId); DocumentPut put = new DocumentPut(new Document(docType, parseInfo.documentId)); - VespaJsonDocumentReader.readPut(parseInfo.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(parseInfo.fieldsBuffer, put); smokeTestDoc(put.getDocument()); } diff --git a/document/src/test/java/com/yahoo/document/json/JsonWriterTestCase.java b/document/src/test/java/com/yahoo/document/json/JsonWriterTestCase.java index 5949e079131..2e5989ecbbf 100644 --- a/document/src/test/java/com/yahoo/document/json/JsonWriterTestCase.java +++ b/document/src/test/java/com/yahoo/document/json/JsonWriterTestCase.java @@ -277,7 +277,7 @@ public class JsonWriterTestCase { DocumentParseInfo raw = r.parseDocument().get(); DocumentType docType = r.readDocumentType(raw.documentId); DocumentPut put = new DocumentPut(new Document(docType, raw.documentId)); - VespaJsonDocumentReader.readPut(raw.fieldsBuffer, put); + new VespaJsonDocumentReader().readPut(raw.fieldsBuffer, put); return put.getDocument(); } |