diff --git a/document-store/src/integrationTest/java/org/hypertrace/core/documentstore/mongo/MongoDocStoreTest.java b/document-store/src/integrationTest/java/org/hypertrace/core/documentstore/mongo/MongoDocStoreTest.java index d5f9af50..82a80c4e 100644 --- a/document-store/src/integrationTest/java/org/hypertrace/core/documentstore/mongo/MongoDocStoreTest.java +++ b/document-store/src/integrationTest/java/org/hypertrace/core/documentstore/mongo/MongoDocStoreTest.java @@ -557,180 +557,4 @@ public void testContains() throws IOException { || document.toJson().contains("\"id\":\"testKey3\"")); }); } - - @Test - public void test_bulkOperationOnArrayValue_addOperation() throws Exception { - datastore.createCollection(COLLECTION_NAME, null); - Collection collection = datastore.getCollection(COLLECTION_NAME); - Key key1 = new SingleValueKey("default", "testKey1"); - Document key1InsertedDocument = - Utils.createDocument( - ImmutablePair.of("id", "testKey1"), - ImmutablePair.of( - "attributes", - Map.of( - "name", - "testKey1", - "labels", - ImmutablePair.of( - "valueList", - ImmutablePair.of( - "values", - List.of(ImmutablePair.of("value", Map.of("string", "Label1")))))))); - Document key1ExpectedDocument = - Utils.createDocument( - ImmutablePair.of("id", "testKey1"), - ImmutablePair.of( - "attributes", - Map.of( - "name", - "testKey1", - "labels", - ImmutablePair.of( - "valueList", - ImmutablePair.of( - "values", - List.of( - ImmutablePair.of("value", Map.of("string", "Label1")), - ImmutablePair.of("value", Map.of("string", "Label2")), - ImmutablePair.of("value", Map.of("string", "Label3")))))))); - collection.upsert(key1, key1InsertedDocument); - - Key key2 = new SingleValueKey("default", "testKey2"); - Document key2InsertedDocument = - Utils.createDocument( - ImmutablePair.of("id", "testKey2"), - ImmutablePair.of( - "attributes", - Map.of( - "name", - "testKey2", - "labels", - ImmutablePair.of( - "valueList", - ImmutablePair.of( - "values", - List.of(ImmutablePair.of("value", Map.of("string", "Label2")))))))); - Document key2ExpectedDocument = - Utils.createDocument( - ImmutablePair.of("id", "testKey2"), - ImmutablePair.of( - "attributes", - Map.of( - "name", - "testKey2", - "labels", - ImmutablePair.of( - "valueList", - ImmutablePair.of( - "values", - List.of( - ImmutablePair.of("value", Map.of("string", "Label2")), - ImmutablePair.of("value", Map.of("string", "Label3")))))))); - collection.upsert(key2, key2InsertedDocument); - - Key key3 = new SingleValueKey("default", "testKey3"); - Document key3InsertedDocument = - Utils.createDocument( - ImmutablePair.of("id", "testKey3"), - ImmutablePair.of("attributes", Map.of("name", "testKey3"))); - Document key3ExpectedDocument = - Utils.createDocument( - ImmutablePair.of("id", "testKey3"), - ImmutablePair.of( - "attributes", - Map.of( - "name", - "testKey3", - "labels", - ImmutablePair.of( - "valueList", - ImmutablePair.of( - "values", - List.of( - ImmutablePair.of("value", Map.of("string", "Label2")), - ImmutablePair.of("value", Map.of("string", "Label3")))))))); - collection.upsert(key3, key3InsertedDocument); - - Key key4 = new SingleValueKey("default", "testKey4"); - Document key4InsertedDocument = - Utils.createDocument( - ImmutablePair.of("id", "testKey4"), - ImmutablePair.of( - "attributes", - Map.of( - "name", - "testKey4", - "labels", - ImmutablePair.of( - "valueList", - ImmutablePair.of( - "values", - List.of( - ImmutablePair.of("value", Map.of("string", "Label1")), - ImmutablePair.of("value", Map.of("string", "Label2")), - ImmutablePair.of("value", Map.of("string", "Label3")))))))); - Document key4ExpectedDocument = - Utils.createDocument( - ImmutablePair.of("id", "testKey4"), - ImmutablePair.of( - "attributes", - Map.of( - "name", - "testKey4", - "labels", - ImmutablePair.of( - "valueList", - ImmutablePair.of( - "values", - List.of( - ImmutablePair.of("value", Map.of("string", "Label1")), - ImmutablePair.of("value", Map.of("string", "Label2")), - ImmutablePair.of("value", Map.of("string", "Label3")))))))); - collection.upsert(key4, key4InsertedDocument); - - Document label2Document = - Utils.createDocument(ImmutablePair.of("value", Map.of("string", "Label2"))); - Document label3Document = - Utils.createDocument(ImmutablePair.of("value", Map.of("string", "Label3"))); - List subDocuments = List.of(label2Document, label3Document); - - BulkArrayValueUpdateRequest bulkArrayValueUpdateRequest = - new BulkArrayValueUpdateRequest( - Set.of(key1, key2, key3, key4), - "attributes.labels.valueList.values", - ADD, - subDocuments); - BulkUpdateResult bulkUpdateResult = - collection.bulkOperationOnArrayValue(bulkArrayValueUpdateRequest); - assertEquals(4, bulkUpdateResult.getUpdatedCount()); - - // get all documents - Query query = new Query(); - Iterator results = collection.search(query); - List documents = new ArrayList<>(); - while (results.hasNext()) { - documents.add(results.next()); - } - - assertEquals(4, documents.size()); - - Map actualDocs = convertToMap(documents, "id"); - Map expectedDocs = - convertToMap( - List.of( - key1ExpectedDocument, - key2ExpectedDocument, - key3ExpectedDocument, - key4ExpectedDocument), - "id"); - - // Verify that the documents returned are as expected - for (Map.Entry entry : actualDocs.entrySet()) { - String key = entry.getKey(); - JsonNode attributesJsonNode = entry.getValue().get("attributes"); - JsonNode expectedAttributesJsonNode = expectedDocs.get(key).get("attributes"); - assertEquals(expectedAttributesJsonNode, attributesJsonNode); - } - } }