Skip to content
Snippets Groups Projects
Verified Commit 113840e5 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

WIP: insert delete

parent 5d91ccc0
No related branches found
No related tags found
1 merge request!3TST: Add Tests for insert and delete
Pipeline #10905 failed
...@@ -34,6 +34,16 @@ namespace caosdb::transaction { ...@@ -34,6 +34,16 @@ namespace caosdb::transaction {
using caosdb::entity::Entity; using caosdb::entity::Entity;
using caosdb::entity::MessageCode; using caosdb::entity::MessageCode;
class test_transaction : public ::testing::Test {
protected:
void SetUp() override {
}
void TearDown() override {
// TODO(tf): delete all created entities
}
};
TEST(test_transaction, DISABLED_retrieve_manufacturer_by_id) { TEST(test_transaction, DISABLED_retrieve_manufacturer_by_id) {
const auto &connection = const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection(); caosdb::connection::ConnectionManager::GetDefaultConnection();
...@@ -49,7 +59,7 @@ TEST(test_transaction, DISABLED_retrieve_manufacturer_by_id) { ...@@ -49,7 +59,7 @@ TEST(test_transaction, DISABLED_retrieve_manufacturer_by_id) {
transaction->Execute(); transaction->Execute();
const auto &result_set = const auto &result_set =
dynamic_cast<const caosdb::transaction::UniqueResult &>( dynamic_cast<const UniqueResult &>(
transaction->GetResultSet()); transaction->GetResultSet());
const auto &entity = result_set.GetEntity(); const auto &entity = result_set.GetEntity();
...@@ -75,7 +85,7 @@ TEST(test_transaction, retrieve_non_existing) { ...@@ -75,7 +85,7 @@ TEST(test_transaction, retrieve_non_existing) {
ASSERT_EQ(status.GetCode(), StatusCode::SUCCESS); ASSERT_EQ(status.GetCode(), StatusCode::SUCCESS);
const auto &result_set = const auto &result_set =
dynamic_cast<const caosdb::transaction::UniqueResult &>( dynamic_cast<const UniqueResult &>(
transaction->GetResultSet()); transaction->GetResultSet());
const auto &entity = result_set.GetEntity(); const auto &entity = result_set.GetEntity();
...@@ -90,26 +100,45 @@ TEST(test_transaction, insert_delete) { ...@@ -90,26 +100,45 @@ TEST(test_transaction, insert_delete) {
const auto &connection = const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection(); caosdb::connection::ConnectionManager::GetDefaultConnection();
auto transaction(connection->CreateTransaction()); auto insert_transaction(connection->CreateTransaction());
Entity entity; Entity entity;
entity.SetRole("RecordType"); entity.SetRole("RecordType");
entity.SetName("RT1"); entity.SetName("RT1");
transaction->InsertEntity(&entity); insert_transaction->InsertEntity(&entity);
transaction->ExecuteAsynchronously(); insert_transaction->ExecuteAsynchronously();
auto status = transaction->WaitForIt(); auto insert_status = insert_transaction->WaitForIt();
ASSERT_TRUE(status.IsTerminated()); ASSERT_TRUE(insert_status.IsTerminated());
ASSERT_FALSE(status.IsError()); ASSERT_FALSE(insert_status.IsError());
const auto &result_set = const auto &insert_result_set =
dynamic_cast<const caosdb::transaction::UniqueResult &>( dynamic_cast<const UniqueResult &>(
transaction->GetResultSet()); insert_transaction->GetResultSet());
const auto &new_entity = result_set.GetEntity(); const auto &new_entity = insert_result_set.GetEntity();
EXPECT_FALSE(new_entity.GetId().empty()); EXPECT_FALSE(new_entity.GetId().empty());
EXPECT_FALSE(new_entity.HasErrors()); EXPECT_FALSE(new_entity.HasErrors());
auto delete_transaction(connection->CreateTransaction());
delete_transaction->DeleteById(new_entity.GetId());
delete_transaction->ExecuteAsynchronously();
auto delete_status = delete_transaction->WaitForIt();
ASSERT_TRUE(delete_status.IsTerminated());
ASSERT_FALSE(delete_status.IsError());
const auto &delete_result_set =
dynamic_cast<const UniqueResult &>(
delete_transaction->GetResultSet());
const auto &deleted_entity = delete_result_set.GetEntity();
EXPECT_EQ(deleted_entity.GetId(), new_entity.GetId());
EXPECT_FALSE(deleted_entity.HasErrors());
} }
} // namespace caosdb::transaction } // namespace caosdb::transaction
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment