From 685649c3ddab79d924fdf5c06cef956dfe7a110e Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Thu, 22 Jul 2021 14:06:35 +0200
Subject: [PATCH] WIP: error handling

---
 test/test_transaction.cpp | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp
index ec59df9..654021d 100644
--- a/test/test_transaction.cpp
+++ b/test/test_transaction.cpp
@@ -54,4 +54,20 @@ TEST(test_transaction, DISABLED_retrieve_manufacturer_by_id) {
   EXPECT_EQ(version, entity.GetVersion());
 }
 
+TEST(test_transaction, retrieve_non_existing) {
+  const auto &connection =
+    caosdb::connection::ConnectionManager::GetDefaultConnection();
+
+  auto transaction(connection->CreateTransaction());
+
+  const auto *id = "non-existing-id";
+  transaction->RetrieveById(id);
+  transaction->ExecuteAsyncronously();
+
+  const auto &status = transaction->WaitForIt();
+  EXPECT_EQ(status, TransactionStatus::TRANSACTION_ERROR);
+
+  EXPECT_EQ(status.GetCode(), StatusCode::GENERIC_TRANSACTION_ERROR);
+}
+
 } // namespace caosdb::transaction
-- 
GitLab