Skip to content
Snippets Groups Projects
Commit bf2a1002 authored by Florian Spreckelsen's avatar Florian Spreckelsen
Browse files

Merge branch 'f-multi-retrieve' into 'dev'

F multi retrieve

See merge request !4
parents 9e935351 c5209e1f
No related branches found
No related tags found
1 merge request!4F multi retrieve
Pipeline #11708 failed
[requires]
caosdb/0.0.7
caosdb/0.0.8
gtest/1.11.0
[generators]
......
......@@ -30,7 +30,7 @@
#include <iostream> // for endl, basic_ostream, cout
#include <memory> // for unique_ptr, allocator, __shar...
#include <string> // for string
#include <vector> // for vector
namespace caosdb::transaction {
using caosdb::entity::Entity;
using caosdb::entity::MessageCode;
......@@ -395,4 +395,33 @@ TEST(test_transaction, insert_delete_with_property) {
ASSERT_FALSE(prop_delete_status.IsError());
}
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);
EXPECT_EQ(result_set.At(1).GetId(), "21");
EXPECT_EQ(result_set.At(1).GetName(), "unit");
std::cout << result_set.At(1).ToString();
EXPECT_FALSE(result_set.At(1).HasErrors());
EXPECT_EQ(result_set.At(2).GetId(), "22");
EXPECT_TRUE(result_set.At(2).HasErrors());
EXPECT_EQ(result_set.At(2).GetErrors().At(0).GetCode(),
MessageCode::ENTITY_DOES_NOT_EXIST);
}
} // namespace caosdb::transaction
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment