diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp index ec59df9e692416d727529f3c320583be99f6b8f8..654021d8b7adee128797f8675d4499a295bbc8a3 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