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

refactoring of teardown

parent 04bc5bd0
No related branches found
No related tags found
1 merge request!6ENH: Add tests for queries
Pipeline #12113 passed
This commit is part of merge request !6. Comments created here will be created in the context of that merge request.
...@@ -47,16 +47,16 @@ protected: ...@@ -47,16 +47,16 @@ protected:
query_transaction->Query("FIND ENTITY WITH id > 99"); query_transaction->Query("FIND ENTITY WITH id > 99");
query_transaction->Execute(); query_transaction->Execute();
if (query_transaction->GetResultSet().Size() > 0) { if (query_transaction->GetResultSet().Size() > 0) {
auto delete_transaction(connection->CreateTransaction());
for (const Entity &entity : query_transaction->GetResultSet()) { for (const Entity &entity : query_transaction->GetResultSet()) {
auto delete_transaction(connection->CreateTransaction());
delete_transaction->DeleteById(entity.GetId()); delete_transaction->DeleteById(entity.GetId());
delete_transaction->Execute();
} }
delete_transaction->Execute();
} }
} }
}; };
TEST(test_transaction, DISABLED_retrieve_manufacturer_by_id) { TEST_F(test_transaction, DISABLED_retrieve_manufacturer_by_id) {
const auto &connection = const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection(); caosdb::connection::ConnectionManager::GetDefaultConnection();
...@@ -81,7 +81,7 @@ TEST(test_transaction, DISABLED_retrieve_manufacturer_by_id) { ...@@ -81,7 +81,7 @@ TEST(test_transaction, DISABLED_retrieve_manufacturer_by_id) {
EXPECT_EQ(version, entity.GetVersionId()); EXPECT_EQ(version, entity.GetVersionId());
} }
TEST(test_transaction, retrieve_non_existing) { TEST_F(test_transaction, retrieve_non_existing) {
const auto &connection = const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection(); caosdb::connection::ConnectionManager::GetDefaultConnection();
...@@ -106,7 +106,37 @@ TEST(test_transaction, retrieve_non_existing) { ...@@ -106,7 +106,37 @@ TEST(test_transaction, retrieve_non_existing) {
MessageCode::ENTITY_DOES_NOT_EXIST); MessageCode::ENTITY_DOES_NOT_EXIST);
} }
TEST(test_transaction, insert_delete) { TEST_F(test_transaction, insert_without_delete) {
const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto insert_transaction(connection->CreateTransaction());
Entity entity;
entity.SetRole("RecordType");
entity.SetName("RT1");
insert_transaction->InsertEntity(&entity);
insert_transaction->ExecuteAsynchronously();
auto insert_status = insert_transaction->WaitForIt();
ASSERT_TRUE(insert_status.IsTerminated());
ASSERT_FALSE(insert_status.IsError());
const auto &insert_result_set =
dynamic_cast<const UniqueResult &>(insert_transaction->GetResultSet());
const auto &new_entity = insert_result_set.GetEntity();
EXPECT_FALSE(new_entity.GetId().empty());
EXPECT_FALSE(new_entity.HasErrors());
// Should have a warning since it has no properties
EXPECT_TRUE(new_entity.HasWarnings());
EXPECT_EQ(new_entity.GetWarnings().Size(), 1);
EXPECT_EQ(new_entity.GetWarnings().At(0).GetCode(),
MessageCode::ENTITY_HAS_NO_PROPERTIES);
}
TEST_F(test_transaction, insert_delete) {
const auto &connection = const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection(); caosdb::connection::ConnectionManager::GetDefaultConnection();
...@@ -153,7 +183,7 @@ TEST(test_transaction, insert_delete) { ...@@ -153,7 +183,7 @@ TEST(test_transaction, insert_delete) {
EXPECT_FALSE(deleted_entity.HasErrors()); EXPECT_FALSE(deleted_entity.HasErrors());
} }
TEST(test_transaction, insert_delete_with_parent) { TEST_F(test_transaction, insert_delete_with_parent) {
const auto &connection = const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection(); caosdb::connection::ConnectionManager::GetDefaultConnection();
...@@ -240,9 +270,7 @@ TEST(test_transaction, insert_delete_with_parent) { ...@@ -240,9 +270,7 @@ TEST(test_transaction, insert_delete_with_parent) {
ASSERT_FALSE(rt_delete_status.IsError()); ASSERT_FALSE(rt_delete_status.IsError());
} }
// TODO(fspreck) Insert a Record with a parent and a Property. Check TEST_F(test_transaction, insert_delete_with_property) {
// for success and delete everything.
TEST(test_transaction, insert_delete_with_property) {
const auto &connection = const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection(); caosdb::connection::ConnectionManager::GetDefaultConnection();
...@@ -375,36 +403,9 @@ TEST(test_transaction, insert_delete_with_property) { ...@@ -375,36 +403,9 @@ TEST(test_transaction, insert_delete_with_property) {
EXPECT_EQ(retrieved_prop_rec.GetId(), inserted_prop.GetId()); EXPECT_EQ(retrieved_prop_rec.GetId(), inserted_prop.GetId());
EXPECT_EQ(retrieved_prop_rec.GetDatatype(), prop_ent.GetDatatype()); EXPECT_EQ(retrieved_prop_rec.GetDatatype(), prop_ent.GetDatatype());
EXPECT_EQ(retrieved_prop_rec.GetValue(), prop_rec.GetValue()); EXPECT_EQ(retrieved_prop_rec.GetValue(), prop_rec.GetValue());
// Delete eveything: First record ...
auto rec_deletion(connection->CreateTransaction());
rec_deletion->DeleteById(inserted_rec.GetId());
rec_deletion->ExecuteAsynchronously();
auto rec_delete_status = rec_deletion->WaitForIt();
ASSERT_TRUE(rec_delete_status.IsTerminated());
ASSERT_FALSE(rec_delete_status.IsError());
// ... then parent ...
auto rt_deletion(connection->CreateTransaction());
rt_deletion->DeleteById(inserted_rt.GetId());
rt_deletion->ExecuteAsynchronously();
auto rt_delete_status = rt_deletion->WaitForIt();
ASSERT_TRUE(rt_delete_status.IsTerminated());
ASSERT_FALSE(rt_delete_status.IsError());
// ... then property.
auto prop_deletion(connection->CreateTransaction());
prop_deletion->DeleteById(inserted_prop.GetId());
prop_deletion->ExecuteAsynchronously();
auto prop_delete_status = prop_deletion->WaitForIt();
ASSERT_TRUE(prop_delete_status.IsTerminated());
ASSERT_FALSE(prop_delete_status.IsError());
} }
TEST(test_transaction, test_multi_retrieve) { TEST_F(test_transaction, test_multi_retrieve) {
const auto &connection = const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection(); caosdb::connection::ConnectionManager::GetDefaultConnection();
...@@ -432,7 +433,7 @@ TEST(test_transaction, test_multi_retrieve) { ...@@ -432,7 +433,7 @@ TEST(test_transaction, test_multi_retrieve) {
MessageCode::ENTITY_DOES_NOT_EXIST); MessageCode::ENTITY_DOES_NOT_EXIST);
} }
TEST(test_transaction, insert_update_delete) { TEST_F(test_transaction, insert_update_delete) {
const auto &connection = const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection(); caosdb::connection::ConnectionManager::GetDefaultConnection();
...@@ -499,7 +500,7 @@ TEST(test_transaction, insert_update_delete) { ...@@ -499,7 +500,7 @@ TEST(test_transaction, insert_update_delete) {
EXPECT_FALSE(deleted_entity.HasErrors()); EXPECT_FALSE(deleted_entity.HasErrors());
} }
TEST(test_transaction, test_query) { TEST_F(test_transaction, test_query) {
const auto &connection = const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection(); caosdb::connection::ConnectionManager::GetDefaultConnection();
...@@ -540,9 +541,7 @@ TEST(test_transaction, test_query) { ...@@ -540,9 +541,7 @@ TEST(test_transaction, test_query) {
EXPECT_EQ(count_query_trans->GetCountResult(), 1); EXPECT_EQ(count_query_trans->GetCountResult(), 1);
} }
// TODO(fspreck) Add tests for unique queries TEST_F(test_transaction, test_query_with_retrieve) {
TEST(test_transaction, test_query_with_retrieve) {
const auto &connection = const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection(); caosdb::connection::ConnectionManager::GetDefaultConnection();
......
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