From 1f943719c0600932bf9237cf65fd383ebb734577 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Sun, 1 Aug 2021 12:22:33 +0200 Subject: [PATCH] WIP: multi retrieve --- test/test_transaction.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp index 75a96ea..1caf49a 100644 --- a/test/test_transaction.cpp +++ b/test/test_transaction.cpp @@ -29,6 +29,7 @@ #include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, AssertionResult #include <memory> // for unique_ptr, allocator, __shar... #include <string> // for string +#include <vector> // for vector namespace caosdb::transaction { using caosdb::entity::Entity; @@ -135,4 +136,24 @@ TEST(test_transaction, insert_delete) { EXPECT_FALSE(deleted_entity.HasErrors()); } +TEST(test_transaction, test_multi_retrieve) { + const auto &connection = + caosdb::connection::ConnectionManager::GetDefaultConnection(); + + auto transaction(connection->CreateTransaction()); + + const std::vector<std::string> ids = {"20", "21", "22"}; + transaction->RetrieveById(ids.begin(), ids.end()); + transaction->ExecuteAsynchronously(); + + auto status = transaction->WaitForIt(); + + ASSERT_TRUE(status.IsTerminated()); + ASSERT_FALSE(status.IsError()); + + const auto &result_set = transaction->GetResultSet(); + + EXPECT_EQ(result_set.Size(), 3); +} + } // namespace caosdb::transaction -- GitLab