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

Merge branch 'f-update-proto' into dev

parents 3663c219 617de16a
Branches
Tags
1 merge request!18F update proto
Pipeline #17228 failed
../caosdb-cpplib/.clang-format
\ No newline at end of file
...@@ -22,11 +22,11 @@ ...@@ -22,11 +22,11 @@
# This Makefile is a wrapper for several other scripts. # This Makefile is a wrapper for several other scripts.
CLANG-FORMAT = clang-format-11 CLANG_FORMAT ?= clang-format-11
CLANG-TIDY = clang-tidy-11 CLANG_TIDY ?= clang-tidy-11
CLANG_TIDY_CHECKS = "--checks=*,-fuchsia-*,-llvmlibc-*,-cert-err58-cpp,-cppcoreguidelines-avoid-non-const-global-variables,-cppcoreguidelines-owning-memory,-modernize-use-trailing-return-type,-google-readability-avoid-underscore-in-googletest-name,-cppcoreguidelines-avoid-magic-numbers,-readability-magic-numbers,-cppcoreguidelines-avoid-goto,-hicpp-avoid-goto,-readability-function-cognitive-complexity,-cppcoreguidelines-pro-type-vararg,-cppcoreguidelines-non-private-member-variables-in-classes,-misc-non-private-member-variables-in-classes,-cppcoreguidelines-pro-type-vararg,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-hicpp-no-array-decay" CLANG_TIDY_CHECKS = "--checks=*,-fuchsia-*,-llvmlibc-*,-cert-err58-cpp,-cppcoreguidelines-avoid-non-const-global-variables,-cppcoreguidelines-owning-memory,-modernize-use-trailing-return-type,-google-readability-avoid-underscore-in-googletest-name,-cppcoreguidelines-avoid-magic-numbers,-readability-magic-numbers,-cppcoreguidelines-avoid-goto,-hicpp-avoid-goto,-readability-function-cognitive-complexity,-cppcoreguidelines-pro-type-vararg,-cppcoreguidelines-non-private-member-variables-in-classes,-misc-non-private-member-variables-in-classes,-cppcoreguidelines-pro-type-vararg,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-hicpp-no-array-decay"
CLANG_TIDY_CMD = $(CLANG-TIDY) \ CLANG_TIDY_CMD = $(CLANG_TIDY) \
--header-filter=caosdb/.*[^\(\.pb\.h\)]$ \ --header-filter=caosdb/.*[^\(\.pb\.h\)]$ \
--fix \ --fix \
$(CLANG_TIDY_CHECKS) $(CLANG_TIDY_CHECKS)
...@@ -43,7 +43,7 @@ conan-install: ...@@ -43,7 +43,7 @@ conan-install:
.PHONY: conan-install .PHONY: conan-install
format: conan-install format: conan-install
$(CLANG-FORMAT) -i --verbose \ $(CLANG_FORMAT) -i --verbose \
$$(find test/ -type f -iname "*.cpp" -o -iname "*.h" -o -iname "*.h.in") $$(find test/ -type f -iname "*.cpp" -o -iname "*.h" -o -iname "*.h.in")
$(CLANG_TIDY_CMD) $$(find test/ -type f -iname "*.cpp" -o -iname "*.h" -o -iname "*.h.in") $(CLANG_TIDY_CMD) $$(find test/ -type f -iname "*.cpp" -o -iname "*.h" -o -iname "*.h.in")
.PHONY: format .PHONY: format
[requires] [requires]
caosdb/0.0.20 caosdb/0.1.0
[build_requires]
gtest/1.11.0 gtest/1.11.0
[generators] [generators]
......
...@@ -31,18 +31,18 @@ ...@@ -31,18 +31,18 @@
* @author Timm Fitschen * @author Timm Fitschen
* @date 2021-07-07 * @date 2021-07-07
*/ */
#define EXPECT_THROW_MESSAGE(statement, exeption_type, message) \ #define EXPECT_THROW_MESSAGE(statement, exeption_type, message) \
EXPECT_THROW( \ EXPECT_THROW( \
try { statement; } catch (const exeption_type &e) { \ try { statement; } catch (const exeption_type &e) { \
EXPECT_EQ(std::string(e.what()), message); \ EXPECT_EQ(std::string(e.what()), message); \
throw; \ throw; \
}, \ }, \
exeption_type) exeption_type)
#define ASSERT_THROW_MESSAGE(statement, exeption_type, message) \ #define ASSERT_THROW_MESSAGE(statement, exeption_type, message) \
ASSERT_THROW( \ ASSERT_THROW( \
try { statement; } catch (const exeption_type &e) { \ try { statement; } catch (const exeption_type &e) { \
ASSERT_EQ(std::string(e.what()), message); \ ASSERT_EQ(std::string(e.what()), message); \
throw; \ throw; \
}, \ }, \
exeption_type) exeption_type)
#endif #endif
...@@ -67,21 +67,17 @@ protected: ...@@ -67,21 +67,17 @@ protected:
caosdb_connection_connection_manager_get_default_connection(&connection); caosdb_connection_connection_manager_get_default_connection(&connection);
caosdb_transaction_transaction query_transaction; caosdb_transaction_transaction query_transaction;
caosdb_connection_connection_create_transaction(&connection, caosdb_connection_connection_create_transaction(&connection, &query_transaction);
&query_transaction); caosdb_transaction_transaction_query(&query_transaction, "FIND ENTITY WITH id > 99");
caosdb_transaction_transaction_query(&query_transaction,
"FIND ENTITY WITH id > 99");
caosdb_transaction_transaction_execute(&query_transaction); caosdb_transaction_transaction_execute(&query_transaction);
caosdb_transaction_result_set result_set; caosdb_transaction_result_set result_set;
caosdb_transaction_transaction_get_result_set(&query_transaction, caosdb_transaction_transaction_get_result_set(&query_transaction, &result_set);
&result_set);
int count[] = {-1}; // NOLINT int count[] = {-1}; // NOLINT
caosdb_transaction_result_set_size(&result_set, count); caosdb_transaction_result_set_size(&result_set, count);
if (*count > 0) { if (*count > 0) {
caosdb_transaction_transaction delete_transaction; caosdb_transaction_transaction delete_transaction;
caosdb_connection_connection_create_transaction(&connection, caosdb_connection_connection_create_transaction(&connection, &delete_transaction);
&delete_transaction);
caosdb_entity_entity entity; caosdb_entity_entity entity;
char *id = nullptr; // NOLINT char *id = nullptr; // NOLINT
for (int i = 0; i < *count; i++) { for (int i = 0; i < *count; i++) {
...@@ -108,8 +104,7 @@ TEST_F(test_ccaosdb, connection_ssl_authentication_success) { ...@@ -108,8 +104,7 @@ TEST_F(test_ccaosdb, connection_ssl_authentication_success) {
auto major = caosdb_constants_COMPATIBLE_SERVER_VERSION_MAJOR(); auto major = caosdb_constants_COMPATIBLE_SERVER_VERSION_MAJOR();
auto minor = caosdb_constants_COMPATIBLE_SERVER_VERSION_MINOR(); auto minor = caosdb_constants_COMPATIBLE_SERVER_VERSION_MINOR();
const auto *const pre_release = const auto *const pre_release = caosdb_constants_COMPATIBLE_SERVER_VERSION_PRE_RELEASE();
caosdb_constants_COMPATIBLE_SERVER_VERSION_PRE_RELEASE();
EXPECT_EQ(major, version_info.major); EXPECT_EQ(major, version_info.major);
EXPECT_EQ(minor, version_info.minor); EXPECT_EQ(minor, version_info.minor);
...@@ -119,18 +114,15 @@ TEST_F(test_ccaosdb, connection_ssl_authentication_success) { ...@@ -119,18 +114,15 @@ TEST_F(test_ccaosdb, connection_ssl_authentication_success) {
TEST_F(test_ccaosdb, test_count_query) { TEST_F(test_ccaosdb, test_count_query) {
caosdb_connection_connection connection; caosdb_connection_connection connection;
int return_code( int return_code(caosdb_connection_connection_manager_get_default_connection(&connection));
caosdb_connection_connection_manager_get_default_connection(&connection));
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_transaction transaction; caosdb_transaction_transaction transaction;
return_code = return_code = caosdb_connection_connection_create_transaction(&connection, &transaction);
caosdb_connection_connection_create_transaction(&connection, &transaction);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
// COUNT query with an empty result // COUNT query with an empty result
return_code = caosdb_transaction_transaction_query(&transaction, return_code = caosdb_transaction_transaction_query(&transaction, "COUNT ENTITY WITH id=-1");
"COUNT ENTITY WITH id=-1");
EXPECT_EQ(return_code, caosdb::StatusCode::GO_ON); EXPECT_EQ(return_code, caosdb::StatusCode::GO_ON);
return_code = caosdb_transaction_transaction_execute(&transaction); return_code = caosdb_transaction_transaction_execute(&transaction);
...@@ -138,8 +130,7 @@ TEST_F(test_ccaosdb, test_count_query) { ...@@ -138,8 +130,7 @@ TEST_F(test_ccaosdb, test_count_query) {
long dummy(-1); // NOLINT long dummy(-1); // NOLINT
long *count = &dummy; // NOLINT long *count = &dummy; // NOLINT
return_code = return_code = caosdb_transaction_transaction_get_count_result(&transaction, count);
caosdb_transaction_transaction_get_count_result(&transaction, count);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
EXPECT_EQ(*count, 0); EXPECT_EQ(*count, 0);
...@@ -149,25 +140,21 @@ TEST_F(test_ccaosdb, test_count_query) { ...@@ -149,25 +140,21 @@ TEST_F(test_ccaosdb, test_count_query) {
TEST_F(test_ccaosdb, test_query) { TEST_F(test_ccaosdb, test_query) {
caosdb_connection_connection connection; caosdb_connection_connection connection;
int return_code( int return_code(caosdb_connection_connection_manager_get_default_connection(&connection));
caosdb_connection_connection_manager_get_default_connection(&connection));
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_transaction transaction; caosdb_transaction_transaction transaction;
return_code = return_code = caosdb_connection_connection_create_transaction(&connection, &transaction);
caosdb_connection_connection_create_transaction(&connection, &transaction);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
return_code = caosdb_transaction_transaction_query(&transaction, return_code = caosdb_transaction_transaction_query(&transaction, "FIND ENTITY WITH id=-1");
"FIND ENTITY WITH id=-1");
EXPECT_EQ(return_code, caosdb::StatusCode::GO_ON); EXPECT_EQ(return_code, caosdb::StatusCode::GO_ON);
return_code = caosdb_transaction_transaction_execute(&transaction); return_code = caosdb_transaction_transaction_execute(&transaction);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_result_set result_set; caosdb_transaction_result_set result_set;
return_code = return_code = caosdb_transaction_transaction_get_result_set(&transaction, &result_set);
caosdb_transaction_transaction_get_result_set(&transaction, &result_set);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
int dummy(-1); int dummy(-1);
...@@ -182,25 +169,21 @@ TEST_F(test_ccaosdb, test_query) { ...@@ -182,25 +169,21 @@ TEST_F(test_ccaosdb, test_query) {
TEST_F(test_ccaosdb, test_single_id_retrieve) { TEST_F(test_ccaosdb, test_single_id_retrieve) {
caosdb_connection_connection connection; caosdb_connection_connection connection;
int return_code( int return_code(caosdb_connection_connection_manager_get_default_connection(&connection));
caosdb_connection_connection_manager_get_default_connection(&connection));
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_transaction transaction; caosdb_transaction_transaction transaction;
return_code = return_code = caosdb_connection_connection_create_transaction(&connection, &transaction);
caosdb_connection_connection_create_transaction(&connection, &transaction);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
return_code = return_code = caosdb_transaction_transaction_retrieve_by_id(&transaction, "21");
caosdb_transaction_transaction_retrieve_by_id(&transaction, "21");
EXPECT_EQ(return_code, caosdb::StatusCode::GO_ON); EXPECT_EQ(return_code, caosdb::StatusCode::GO_ON);
return_code = caosdb_transaction_transaction_execute(&transaction); return_code = caosdb_transaction_transaction_execute(&transaction);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_result_set result_set; caosdb_transaction_result_set result_set;
return_code = return_code = caosdb_transaction_transaction_get_result_set(&transaction, &result_set);
caosdb_transaction_transaction_get_result_set(&transaction, &result_set);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
int dummy(-1); int dummy(-1);
...@@ -228,18 +211,15 @@ TEST_F(test_ccaosdb, test_single_id_retrieve) { ...@@ -228,18 +211,15 @@ TEST_F(test_ccaosdb, test_single_id_retrieve) {
TEST_F(test_ccaosdb, test_multi_id_retrieve) { TEST_F(test_ccaosdb, test_multi_id_retrieve) {
caosdb_connection_connection connection; caosdb_connection_connection connection;
int return_code( int return_code(caosdb_connection_connection_manager_get_default_connection(&connection));
caosdb_connection_connection_manager_get_default_connection(&connection));
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_transaction transaction; caosdb_transaction_transaction transaction;
return_code = return_code = caosdb_connection_connection_create_transaction(&connection, &transaction);
caosdb_connection_connection_create_transaction(&connection, &transaction);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
const char *ids[] = {"20", "21", "22"}; // NOLINT const char *ids[] = {"20", "21", "22"}; // NOLINT
return_code = return_code = caosdb_transaction_transaction_retrieve_by_ids(&transaction, ids, 3);
caosdb_transaction_transaction_retrieve_by_ids(&transaction, ids, 3);
EXPECT_EQ(return_code, caosdb::StatusCode::GO_ON); EXPECT_EQ(return_code, caosdb::StatusCode::GO_ON);
return_code = caosdb_transaction_transaction_execute(&transaction); return_code = caosdb_transaction_transaction_execute(&transaction);
...@@ -247,8 +227,7 @@ TEST_F(test_ccaosdb, test_multi_id_retrieve) { ...@@ -247,8 +227,7 @@ TEST_F(test_ccaosdb, test_multi_id_retrieve) {
EXPECT_TRUE((return_code > 0)); EXPECT_TRUE((return_code > 0));
caosdb_transaction_result_set result_set; caosdb_transaction_result_set result_set;
return_code = return_code = caosdb_transaction_transaction_get_result_set(&transaction, &result_set);
caosdb_transaction_transaction_get_result_set(&transaction, &result_set);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
int dummy(-1); int dummy(-1);
...@@ -303,17 +282,14 @@ TEST_F(test_ccaosdb, test_insert_update_delete) { ...@@ -303,17 +282,14 @@ TEST_F(test_ccaosdb, test_insert_update_delete) {
caosdb_entity_entity_set_datatype(&original_entity, &in_type); caosdb_entity_entity_set_datatype(&original_entity, &in_type);
caosdb_transaction_transaction insert_transaction; caosdb_transaction_transaction insert_transaction;
caosdb_connection_connection_create_transaction(&connection, caosdb_connection_connection_create_transaction(&connection, &insert_transaction);
&insert_transaction); caosdb_transaction_transaction_insert_entity(&insert_transaction, &original_entity);
caosdb_transaction_transaction_insert_entity(&insert_transaction,
&original_entity);
int return_code(caosdb_transaction_transaction_execute(&insert_transaction)); int return_code(caosdb_transaction_transaction_execute(&insert_transaction));
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
// Insert the entity and check results // Insert the entity and check results
caosdb_transaction_result_set insert_result_set; caosdb_transaction_result_set insert_result_set;
caosdb_transaction_transaction_get_result_set(&insert_transaction, caosdb_transaction_transaction_get_result_set(&insert_transaction, &insert_result_set);
&insert_result_set);
int count[] = {-1}; // NOLINT int count[] = {-1}; // NOLINT
caosdb_transaction_result_set_size(&insert_result_set, count); caosdb_transaction_result_set_size(&insert_result_set, count);
EXPECT_EQ(*count, 1); EXPECT_EQ(*count, 1);
...@@ -324,15 +300,13 @@ TEST_F(test_ccaosdb, test_insert_update_delete) { ...@@ -324,15 +300,13 @@ TEST_F(test_ccaosdb, test_insert_update_delete) {
// Retrieve it again for checks and update // Retrieve it again for checks and update
caosdb_transaction_transaction retrieve_transaction_1; caosdb_transaction_transaction retrieve_transaction_1;
caosdb_connection_connection_create_transaction(&connection, caosdb_connection_connection_create_transaction(&connection, &retrieve_transaction_1);
&retrieve_transaction_1);
caosdb_transaction_transaction_retrieve_by_id(&retrieve_transaction_1, in); caosdb_transaction_transaction_retrieve_by_id(&retrieve_transaction_1, in);
return_code = caosdb_transaction_transaction_execute(&retrieve_transaction_1); return_code = caosdb_transaction_transaction_execute(&retrieve_transaction_1);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_result_set retrieve_results_1; caosdb_transaction_result_set retrieve_results_1;
caosdb_transaction_transaction_get_result_set(&retrieve_transaction_1, caosdb_transaction_transaction_get_result_set(&retrieve_transaction_1, &retrieve_results_1);
&retrieve_results_1);
caosdb_transaction_result_set_size(&retrieve_results_1, count); caosdb_transaction_result_set_size(&retrieve_results_1, count);
EXPECT_EQ(*count, 1); EXPECT_EQ(*count, 1);
caosdb_entity_entity retrieved_entity_1; caosdb_entity_entity retrieved_entity_1;
...@@ -359,20 +333,16 @@ TEST_F(test_ccaosdb, test_insert_update_delete) { ...@@ -359,20 +333,16 @@ TEST_F(test_ccaosdb, test_insert_update_delete) {
EXPECT_EQ(strcmp(in, out), 0); EXPECT_EQ(strcmp(in, out), 0);
// Change name and update // Change name and update
return_code = return_code = caosdb_entity_entity_set_name(&retrieved_entity_1, "TestNameNew");
caosdb_entity_entity_set_name(&retrieved_entity_1, "TestNameNew");
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_transaction update_transaction; caosdb_transaction_transaction update_transaction;
caosdb_connection_connection_create_transaction(&connection, caosdb_connection_connection_create_transaction(&connection, &update_transaction);
&update_transaction); caosdb_transaction_transaction_update_entity(&update_transaction, &retrieved_entity_1);
caosdb_transaction_transaction_update_entity(&update_transaction,
&retrieved_entity_1);
return_code = caosdb_transaction_transaction_execute(&update_transaction); return_code = caosdb_transaction_transaction_execute(&update_transaction);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_result_set update_results; caosdb_transaction_result_set update_results;
caosdb_transaction_transaction_get_result_set(&update_transaction, caosdb_transaction_transaction_get_result_set(&update_transaction, &update_results);
&update_results);
caosdb_transaction_result_set_size(&update_results, count); caosdb_transaction_result_set_size(&update_results, count);
EXPECT_EQ(*count, 1); EXPECT_EQ(*count, 1);
caosdb_entity_entity updated_entity; caosdb_entity_entity updated_entity;
...@@ -383,15 +353,13 @@ TEST_F(test_ccaosdb, test_insert_update_delete) { ...@@ -383,15 +353,13 @@ TEST_F(test_ccaosdb, test_insert_update_delete) {
// Retrieve again // Retrieve again
caosdb_transaction_transaction retrieve_transaction_2; caosdb_transaction_transaction retrieve_transaction_2;
caosdb_connection_connection_create_transaction(&connection, caosdb_connection_connection_create_transaction(&connection, &retrieve_transaction_2);
&retrieve_transaction_2);
caosdb_transaction_transaction_retrieve_by_id(&retrieve_transaction_2, out); caosdb_transaction_transaction_retrieve_by_id(&retrieve_transaction_2, out);
return_code = caosdb_transaction_transaction_execute(&retrieve_transaction_2); return_code = caosdb_transaction_transaction_execute(&retrieve_transaction_2);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_result_set retrieve_results_2; caosdb_transaction_result_set retrieve_results_2;
caosdb_transaction_transaction_get_result_set(&retrieve_transaction_2, caosdb_transaction_transaction_get_result_set(&retrieve_transaction_2, &retrieve_results_2);
&retrieve_results_2);
caosdb_transaction_result_set_size(&retrieve_results_2, count); caosdb_transaction_result_set_size(&retrieve_results_2, count);
EXPECT_EQ(*count, 1); EXPECT_EQ(*count, 1);
caosdb_entity_entity retrieved_entity_2; caosdb_entity_entity retrieved_entity_2;
...@@ -422,16 +390,14 @@ TEST_F(test_ccaosdb, test_insert_update_delete) { ...@@ -422,16 +390,14 @@ TEST_F(test_ccaosdb, test_insert_update_delete) {
// Now delete // Now delete
caosdb_transaction_transaction delete_transaction; caosdb_transaction_transaction delete_transaction;
caosdb_connection_connection_create_transaction(&connection, caosdb_connection_connection_create_transaction(&connection, &delete_transaction);
&delete_transaction);
caosdb_entity_entity_get_id(&retrieved_entity_2, &in); caosdb_entity_entity_get_id(&retrieved_entity_2, &in);
caosdb_transaction_transaction_delete_by_id(&delete_transaction, in); caosdb_transaction_transaction_delete_by_id(&delete_transaction, in);
return_code = caosdb_transaction_transaction_execute(&delete_transaction); return_code = caosdb_transaction_transaction_execute(&delete_transaction);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_result_set delete_results; caosdb_transaction_result_set delete_results;
caosdb_transaction_transaction_get_result_set(&delete_transaction, caosdb_transaction_transaction_get_result_set(&delete_transaction, &delete_results);
&delete_results);
caosdb_transaction_result_set_size(&delete_results, count); caosdb_transaction_result_set_size(&delete_results, count);
EXPECT_EQ(*count, 1); EXPECT_EQ(*count, 1);
...@@ -442,15 +408,13 @@ TEST_F(test_ccaosdb, test_insert_update_delete) { ...@@ -442,15 +408,13 @@ TEST_F(test_ccaosdb, test_insert_update_delete) {
// Try to retrieve again // Try to retrieve again
caosdb_transaction_transaction retrieve_transaction_3; caosdb_transaction_transaction retrieve_transaction_3;
caosdb_connection_connection_create_transaction(&connection, caosdb_connection_connection_create_transaction(&connection, &retrieve_transaction_3);
&retrieve_transaction_3);
caosdb_transaction_transaction_retrieve_by_id(&retrieve_transaction_3, out); caosdb_transaction_transaction_retrieve_by_id(&retrieve_transaction_3, out);
return_code = caosdb_transaction_transaction_execute(&retrieve_transaction_3); return_code = caosdb_transaction_transaction_execute(&retrieve_transaction_3);
EXPECT_TRUE((return_code > 0)); EXPECT_TRUE((return_code > 0));
caosdb_transaction_result_set retrieve_results_3; caosdb_transaction_result_set retrieve_results_3;
caosdb_transaction_transaction_get_result_set(&retrieve_transaction_3, caosdb_transaction_transaction_get_result_set(&retrieve_transaction_3, &retrieve_results_3);
&retrieve_results_3);
caosdb_transaction_result_set_size(&retrieve_results_3, count); caosdb_transaction_result_set_size(&retrieve_results_3, count);
EXPECT_EQ(*count, 1); EXPECT_EQ(*count, 1);
caosdb_entity_entity retrieved_entity_3; caosdb_entity_entity retrieved_entity_3;
...@@ -561,15 +525,13 @@ TEST_F(test_ccaosdb, test_insert_with_prop_and_parent) { ...@@ -561,15 +525,13 @@ TEST_F(test_ccaosdb, test_insert_with_prop_and_parent) {
// Retrieve the record again for comparison // Retrieve the record again for comparison
caosdb_transaction_transaction retrieve_transaction; caosdb_transaction_transaction retrieve_transaction;
caosdb_connection_connection_create_transaction(&connection, caosdb_connection_connection_create_transaction(&connection, &retrieve_transaction);
&retrieve_transaction);
caosdb_transaction_transaction_retrieve_by_id(&retrieve_transaction, rec_id); caosdb_transaction_transaction_retrieve_by_id(&retrieve_transaction, rec_id);
return_code = caosdb_transaction_transaction_execute(&retrieve_transaction); return_code = caosdb_transaction_transaction_execute(&retrieve_transaction);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_result_set retrieve_result; caosdb_transaction_result_set retrieve_result;
caosdb_transaction_transaction_get_result_set(&retrieve_transaction, caosdb_transaction_transaction_get_result_set(&retrieve_transaction, &retrieve_result);
&retrieve_result);
caosdb_entity_entity retrieved_rec; caosdb_entity_entity retrieved_rec;
caosdb_transaction_result_set_at(&retrieve_result, &retrieved_rec, 0); caosdb_transaction_result_set_at(&retrieve_result, &retrieved_rec, 0);
char *in = nullptr; // NOLINT char *in = nullptr; // NOLINT
...@@ -624,21 +586,17 @@ TEST_F(test_ccaosdb, test_up_n_download_file) { ...@@ -624,21 +586,17 @@ TEST_F(test_ccaosdb, test_up_n_download_file) {
caosdb_entity_entity original_entity; caosdb_entity_entity original_entity;
caosdb_entity_create_entity(&original_entity); caosdb_entity_create_entity(&original_entity);
caosdb_entity_entity_set_role(&original_entity, "FILE"); caosdb_entity_entity_set_role(&original_entity, "FILE");
caosdb_entity_entity_set_local_path(&original_entity, caosdb_entity_entity_set_local_path(&original_entity, test_upload_file_1.c_str());
test_upload_file_1.c_str());
caosdb_entity_entity_set_file_path(&original_entity, "/some/file"); caosdb_entity_entity_set_file_path(&original_entity, "/some/file");
caosdb_transaction_transaction insert_transaction; caosdb_transaction_transaction insert_transaction;
caosdb_connection_connection_create_transaction(&connection, caosdb_connection_connection_create_transaction(&connection, &insert_transaction);
&insert_transaction); caosdb_transaction_transaction_insert_entity(&insert_transaction, &original_entity);
caosdb_transaction_transaction_insert_entity(&insert_transaction,
&original_entity);
int return_code(caosdb_transaction_transaction_execute(&insert_transaction)); int return_code(caosdb_transaction_transaction_execute(&insert_transaction));
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_result_set rec_results; caosdb_transaction_result_set rec_results;
caosdb_transaction_transaction_get_result_set(&insert_transaction, caosdb_transaction_transaction_get_result_set(&insert_transaction, &rec_results);
&rec_results);
caosdb_entity_entity inserted_rec; caosdb_entity_entity inserted_rec;
caosdb_transaction_result_set_at(&rec_results, &inserted_rec, 0); caosdb_transaction_result_set_at(&rec_results, &inserted_rec, 0);
char *rec_id = nullptr; // NOLINT char *rec_id = nullptr; // NOLINT
...@@ -651,8 +609,7 @@ TEST_F(test_ccaosdb, test_up_n_download_file) { ...@@ -651,8 +609,7 @@ TEST_F(test_ccaosdb, test_up_n_download_file) {
caosdb_entity_entity_set_file_path(&download_entity, "/some/file"); caosdb_entity_entity_set_file_path(&download_entity, "/some/file");
caosdb_transaction_transaction retrieve_transaction_1; caosdb_transaction_transaction retrieve_transaction_1;
caosdb_connection_connection_create_transaction(&connection, caosdb_connection_connection_create_transaction(&connection, &retrieve_transaction_1);
&retrieve_transaction_1);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
// return_code = caosdb_transaction_transaction_retrieve_by_id( // return_code = caosdb_transaction_transaction_retrieve_by_id(
// &retrieve_transaction_1, rec_id); // &retrieve_transaction_1, rec_id);
...@@ -663,7 +620,6 @@ TEST_F(test_ccaosdb, test_up_n_download_file) { ...@@ -663,7 +620,6 @@ TEST_F(test_ccaosdb, test_up_n_download_file) {
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_result_set result_set; caosdb_transaction_result_set result_set;
return_code = caosdb_transaction_transaction_get_result_set( return_code = caosdb_transaction_transaction_get_result_set(&retrieve_transaction_1, &result_set);
&retrieve_transaction_1, &result_set);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
} }
...@@ -61,11 +61,9 @@ TEST(test_connection, connect_somehost_42347_fails) { ...@@ -61,11 +61,9 @@ TEST(test_connection, connect_somehost_42347_fails) {
} }
TEST(test_connection, connection_insecure_authentication_error_anonymous) { TEST(test_connection, connection_insecure_authentication_error_anonymous) {
const auto *port_str = const auto *port_str = caosdb::utility::get_env_fallback("CAOSDB_SERVER_GRPC_PORT_HTTP", "8080");
caosdb::utility::get_env_fallback("CAOSDB_SERVER_GRPC_PORT_HTTP", "8080");
auto port = std::stoi(port_str); auto port = std::stoi(port_str);
const auto *const host = const auto *const host = caosdb::utility::get_env_fallback("CAOSDB_SERVER_HOST", "localhost");
caosdb::utility::get_env_fallback("CAOSDB_SERVER_HOST", "localhost");
auto config = InsecureConnectionConfiguration(host, port); auto config = InsecureConnectionConfiguration(host, port);
auto connection = Connection(config); auto connection = Connection(config);
...@@ -74,13 +72,10 @@ TEST(test_connection, connection_insecure_authentication_error_anonymous) { ...@@ -74,13 +72,10 @@ TEST(test_connection, connection_insecure_authentication_error_anonymous) {
} }
TEST(test_connection, connection_ssl_authentication_error_anonymous) { TEST(test_connection, connection_ssl_authentication_error_anonymous) {
const auto *port_str = const auto *port_str = caosdb::utility::get_env_fallback("CAOSDB_SERVER_GRPC_PORT_HTTPS", "8443");
caosdb::utility::get_env_fallback("CAOSDB_SERVER_GRPC_PORT_HTTPS", "8443");
auto port = std::stoi(port_str); auto port = std::stoi(port_str);
const auto *const host = const auto *const host = caosdb::utility::get_env_fallback("CAOSDB_SERVER_HOST", "localhost");
caosdb::utility::get_env_fallback("CAOSDB_SERVER_HOST", "localhost"); const auto path = caosdb::utility::get_env_fallback("CAOSDB_SERVER_CERT", std::string());
const auto path =
caosdb::utility::get_env_fallback("CAOSDB_SERVER_CERT", std::string());
auto cert = PemFileCertificateProvider(path); auto cert = PemFileCertificateProvider(path);
auto config = TlsConnectionConfiguration(host, port, cert); auto config = TlsConnectionConfiguration(host, port, cert);
...@@ -93,13 +88,10 @@ TEST(test_connection, connection_ssl_authentication_error_anonymous) { ...@@ -93,13 +88,10 @@ TEST(test_connection, connection_ssl_authentication_error_anonymous) {
} }
TEST(test_connection, connection_ssl_authentication_error_wrong_credentials) { TEST(test_connection, connection_ssl_authentication_error_wrong_credentials) {
const auto *port_str = const auto *port_str = caosdb::utility::get_env_fallback("CAOSDB_SERVER_GRPC_PORT_HTTPS", "8443");
caosdb::utility::get_env_fallback("CAOSDB_SERVER_GRPC_PORT_HTTPS", "8443");
auto port = std::stoi(port_str); auto port = std::stoi(port_str);
const auto *const host = const auto *const host = caosdb::utility::get_env_fallback("CAOSDB_SERVER_HOST", "localhost");
caosdb::utility::get_env_fallback("CAOSDB_SERVER_HOST", "localhost"); const auto path = caosdb::utility::get_env_fallback("CAOSDB_SERVER_CERT", std::string());
const auto path =
caosdb::utility::get_env_fallback("CAOSDB_SERVER_CERT", std::string());
const auto *const user = "not-a-user-23461237"; const auto *const user = "not-a-user-23461237";
const auto *const password = "very-c-cred"; const auto *const password = "very-c-cred";
...@@ -108,11 +100,10 @@ TEST(test_connection, connection_ssl_authentication_error_wrong_credentials) { ...@@ -108,11 +100,10 @@ TEST(test_connection, connection_ssl_authentication_error_wrong_credentials) {
auto config = TlsConnectionConfiguration(host, port, cert, auth); auto config = TlsConnectionConfiguration(host, port, cert, auth);
auto connection = Connection(config); auto connection = Connection(config);
EXPECT_THROW_MESSAGE( EXPECT_THROW_MESSAGE(connection.RetrieveVersionInfo(), AuthenticationError,
connection.RetrieveVersionInfo(), AuthenticationError, "The attempt to execute this transaction has not been executed at all "
"The attempt to execute this transaction has not been executed at all " "because the authentication did not succeed. Original error: "
"because the authentication did not succeed. Original error: " "Authentication failed. Username or password wrong.");
"Authentication failed. Username or password wrong.");
} }
TEST(test_connection, connection_ssl_authentication_success) { TEST(test_connection, connection_ssl_authentication_success) {
...@@ -120,8 +111,7 @@ TEST(test_connection, connection_ssl_authentication_success) { ...@@ -120,8 +111,7 @@ TEST(test_connection, connection_ssl_authentication_success) {
auto major = caosdb::COMPATIBLE_SERVER_VERSION_MAJOR; auto major = caosdb::COMPATIBLE_SERVER_VERSION_MAJOR;
auto minor = caosdb::COMPATIBLE_SERVER_VERSION_MINOR; auto minor = caosdb::COMPATIBLE_SERVER_VERSION_MINOR;
const auto pre_release = const auto pre_release = std::string(caosdb::COMPATIBLE_SERVER_VERSION_PRE_RELEASE);
std::string(caosdb::COMPATIBLE_SERVER_VERSION_PRE_RELEASE);
const auto &v_info = connection->RetrieveVersionInfo(); const auto &v_info = connection->RetrieveVersionInfo();
EXPECT_EQ(major, v_info.GetMajor()); EXPECT_EQ(major, v_info.GetMajor());
......
...@@ -45,14 +45,12 @@ public: ...@@ -45,14 +45,12 @@ public:
static void DeleteEntities() { static void DeleteEntities() {
// delete all entities // delete all entities
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto query_transaction(connection->CreateTransaction()); auto query_transaction(connection->CreateTransaction());
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) {
std::cout << "Cleanup: Deleting " std::cout << "Cleanup: Deleting " << query_transaction->GetResultSet().size() << " entities."
<< query_transaction->GetResultSet().size() << " entities."
<< std::endl; << std::endl;
auto delete_transaction(connection->CreateTransaction()); auto delete_transaction(connection->CreateTransaction());
for (const Entity &entity : query_transaction->GetResultSet()) { for (const Entity &entity : query_transaction->GetResultSet()) {
...@@ -74,8 +72,7 @@ protected: ...@@ -74,8 +72,7 @@ protected:
* test error-prone updates * test error-prone updates
*/ */
TEST_F(test_issues, server_issue_170) { TEST_F(test_issues, server_issue_170) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
// Insert original // Insert original
auto insert_transaction(connection->CreateTransaction()); auto insert_transaction(connection->CreateTransaction());
...@@ -119,8 +116,7 @@ TEST_F(test_issues, server_issue_170) { ...@@ -119,8 +116,7 @@ TEST_F(test_issues, server_issue_170) {
* This must result in a server error. * This must result in a server error.
*/ */
TEST_F(test_issues, server_issue_171) { TEST_F(test_issues, server_issue_171) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto insert_transaction(connection->CreateTransaction()); auto insert_transaction(connection->CreateTransaction());
...@@ -170,8 +166,7 @@ TEST_F(test_issues, server_issue_171) { ...@@ -170,8 +166,7 @@ TEST_F(test_issues, server_issue_171) {
* The file attributes should be ignored by the server. * The file attributes should be ignored by the server.
*/ */
TEST_F(test_issues, server_issue_174) { TEST_F(test_issues, server_issue_174) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto insert_transaction(connection->CreateTransaction()); auto insert_transaction(connection->CreateTransaction());
......
...@@ -42,8 +42,7 @@ protected: ...@@ -42,8 +42,7 @@ protected:
void TearDown() override { DeleteEntities(); } void TearDown() override { DeleteEntities(); }
static void DeleteEntities() { static void DeleteEntities() {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto query_transaction(connection->CreateTransaction()); auto query_transaction(connection->CreateTransaction());
query_transaction->Query("FIND ENTITY WITH id > 99"); query_transaction->Query("FIND ENTITY WITH id > 99");
query_transaction->Execute(); query_transaction->Execute();
...@@ -58,8 +57,7 @@ protected: ...@@ -58,8 +57,7 @@ protected:
}; };
TEST_F(test_list_properties, insert_list_of_text) { TEST_F(test_list_properties, insert_list_of_text) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto insertion_prop(connection->CreateTransaction()); auto insertion_prop(connection->CreateTransaction());
...@@ -67,8 +65,7 @@ TEST_F(test_list_properties, insert_list_of_text) { ...@@ -67,8 +65,7 @@ TEST_F(test_list_properties, insert_list_of_text) {
abstract_list_property.SetRole(Role::PROPERTY); abstract_list_property.SetRole(Role::PROPERTY);
abstract_list_property.SetName("TestProp"); abstract_list_property.SetName("TestProp");
abstract_list_property.SetDataType(DataType::ListOf(AtomicDataType::TEXT)); abstract_list_property.SetDataType(DataType::ListOf(AtomicDataType::TEXT));
abstract_list_property.SetValue( abstract_list_property.SetValue(std::vector<std::string>{"item1", "item2", "item3"});
std::vector<std::string>{"item1", "item2", "item3"});
insertion_prop->InsertEntity(&abstract_list_property); insertion_prop->InsertEntity(&abstract_list_property);
std::cout << "response " << insertion_prop->ResponseToString(); std::cout << "response " << insertion_prop->ResponseToString();
...@@ -115,8 +112,7 @@ TEST_F(test_list_properties, insert_list_of_text) { ...@@ -115,8 +112,7 @@ TEST_F(test_list_properties, insert_list_of_text) {
} }
TEST_F(test_list_properties, insert_list_of_int) { TEST_F(test_list_properties, insert_list_of_int) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto insertion_prop(connection->CreateTransaction()); auto insertion_prop(connection->CreateTransaction());
...@@ -171,8 +167,7 @@ TEST_F(test_list_properties, insert_list_of_int) { ...@@ -171,8 +167,7 @@ TEST_F(test_list_properties, insert_list_of_int) {
} }
TEST_F(test_list_properties, insert_list_of_bool) { TEST_F(test_list_properties, insert_list_of_bool) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto insertion_prop(connection->CreateTransaction()); auto insertion_prop(connection->CreateTransaction());
......
...@@ -37,8 +37,7 @@ protected: ...@@ -37,8 +37,7 @@ protected:
void TearDown() override { DeleteEntities(); } void TearDown() override { DeleteEntities(); }
static void DeleteEntities() { static void DeleteEntities() {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto query_transaction(connection->CreateTransaction()); auto query_transaction(connection->CreateTransaction());
query_transaction->Query("FIND ENTITY WITH id > 99"); query_transaction->Query("FIND ENTITY WITH id > 99");
query_transaction->Execute(); query_transaction->Execute();
...@@ -53,8 +52,7 @@ protected: ...@@ -53,8 +52,7 @@ protected:
}; };
TEST_F(test_properties, retrieve_unit) { TEST_F(test_properties, retrieve_unit) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto insertion_prop(connection->CreateTransaction()); auto insertion_prop(connection->CreateTransaction());
......
...@@ -84,14 +84,12 @@ public: ...@@ -84,14 +84,12 @@ public:
} }
static void DeleteEntities() { static void DeleteEntities() {
// delete all entities // delete all entities
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto query_transaction(connection->CreateTransaction()); auto query_transaction(connection->CreateTransaction());
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) {
std::cout << "Cleanup: Deleting " std::cout << "Cleanup: Deleting " << query_transaction->GetResultSet().size() << " entities."
<< query_transaction->GetResultSet().size() << " entities."
<< std::endl; << std::endl;
auto delete_transaction(connection->CreateTransaction()); auto delete_transaction(connection->CreateTransaction());
for (const Entity &entity : query_transaction->GetResultSet()) { for (const Entity &entity : query_transaction->GetResultSet()) {
...@@ -104,8 +102,7 @@ public: ...@@ -104,8 +102,7 @@ public:
protected: protected:
fs::path test_upload_file_1; fs::path test_upload_file_1;
fs::path test_download_file_1; fs::path test_download_file_1;
size_t test_file_size_kib = size_t test_file_size_kib = 20; // We should test at least something over 16kiB
20; // We should test at least something over 16kiB
// Fixture methods ////////////////////////////////////////////////////////// // Fixture methods //////////////////////////////////////////////////////////
...@@ -131,23 +128,19 @@ protected: ...@@ -131,23 +128,19 @@ protected:
} }
}; };
template <> template <> auto test_transaction::getValueAs<double>(const Value &value) -> double {
auto test_transaction::getValueAs<double>(const Value &value) -> double {
return value.GetAsDouble(); return value.GetAsDouble();
} }
template <> template <> auto test_transaction::getValueAs<int64_t>(const Value &value) -> int64_t {
auto test_transaction::getValueAs<int64_t>(const Value &value) -> int64_t {
return value.GetAsInt64(); return value.GetAsInt64();
} }
template <> template <> auto test_transaction::getValueAs<int32_t>(const Value &value) -> int32_t {
auto test_transaction::getValueAs<int32_t>(const Value &value) -> int32_t {
return static_cast<int32_t>(value.GetAsInt64()); return static_cast<int32_t>(value.GetAsInt64());
} }
template <> template <> auto test_transaction::getValueAs<bool>(const Value &value) -> bool {
auto test_transaction::getValueAs<bool>(const Value &value) -> bool {
return value.GetAsBool(); return value.GetAsBool();
} }
...@@ -158,8 +151,7 @@ auto test_transaction::getValueAs<bool>(const Value &value) -> bool { ...@@ -158,8 +151,7 @@ auto test_transaction::getValueAs<bool>(const Value &value) -> bool {
* error message * error message
*/ */
TEST_F(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();
auto transaction(connection->CreateTransaction()); auto transaction(connection->CreateTransaction());
...@@ -177,8 +169,7 @@ TEST_F(test_transaction, retrieve_non_existing) { ...@@ -177,8 +169,7 @@ TEST_F(test_transaction, retrieve_non_existing) {
EXPECT_EQ(id, entity.GetId()); EXPECT_EQ(id, entity.GetId());
EXPECT_TRUE(entity.HasErrors()); EXPECT_TRUE(entity.HasErrors());
ASSERT_EQ(entity.GetErrors().size(), 1); ASSERT_EQ(entity.GetErrors().size(), 1);
EXPECT_EQ(entity.GetErrors().at(0).GetCode(), EXPECT_EQ(entity.GetErrors().at(0).GetCode(), MessageCode::ENTITY_DOES_NOT_EXIST);
MessageCode::ENTITY_DOES_NOT_EXIST);
} }
/* /*
...@@ -188,8 +179,7 @@ TEST_F(test_transaction, retrieve_non_existing) { ...@@ -188,8 +179,7 @@ TEST_F(test_transaction, retrieve_non_existing) {
* is set. * is set.
*/ */
TEST_F(test_transaction, insert_without_delete) { TEST_F(test_transaction, insert_without_delete) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto insert_transaction(connection->CreateTransaction()); auto insert_transaction(connection->CreateTransaction());
...@@ -212,8 +202,7 @@ TEST_F(test_transaction, insert_without_delete) { ...@@ -212,8 +202,7 @@ TEST_F(test_transaction, insert_without_delete) {
// Should have a warning since it has no properties // Should have a warning since it has no properties
EXPECT_TRUE(new_entity.HasWarnings()); EXPECT_TRUE(new_entity.HasWarnings());
EXPECT_EQ(new_entity.GetWarnings().size(), 1); EXPECT_EQ(new_entity.GetWarnings().size(), 1);
EXPECT_EQ(new_entity.GetWarnings().at(0).GetCode(), EXPECT_EQ(new_entity.GetWarnings().at(0).GetCode(), MessageCode::ENTITY_HAS_NO_PROPERTIES);
MessageCode::ENTITY_HAS_NO_PROPERTIES);
} }
/* /*
...@@ -223,8 +212,7 @@ TEST_F(test_transaction, insert_without_delete) { ...@@ -223,8 +212,7 @@ TEST_F(test_transaction, insert_without_delete) {
TEST_F(test_transaction, insert_delete) { TEST_F(test_transaction, insert_delete) {
// same as in insert_without_delete // same as in insert_without_delete
// until marked END SAME // until marked END SAME
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto insert_transaction(connection->CreateTransaction()); auto insert_transaction(connection->CreateTransaction());
...@@ -268,8 +256,7 @@ TEST_F(test_transaction, insert_delete) { ...@@ -268,8 +256,7 @@ TEST_F(test_transaction, insert_delete) {
TEST_F(test_transaction, insert_delete_with_parent) { TEST_F(test_transaction, insert_delete_with_parent) {
// same as in insert_without_delete // same as in insert_without_delete
// until marked END SAME // until marked END SAME
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto insert_transaction(connection->CreateTransaction()); auto insert_transaction(connection->CreateTransaction());
...@@ -363,8 +350,7 @@ TEST_F(test_transaction, insert_delete_with_parent) { ...@@ -363,8 +350,7 @@ TEST_F(test_transaction, insert_delete_with_parent) {
* insert a property, record type with that property and a record with it * insert a property, record type with that property and a record with it
*/ */
TEST_F(test_transaction, insert_delete_with_property) { TEST_F(test_transaction, insert_delete_with_property) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
// Create and insert Text property // Create and insert Text property
Entity prop_ent; Entity prop_ent;
...@@ -547,8 +533,7 @@ TEST_F(test_transaction, insert_delete_with_property) { ...@@ -547,8 +533,7 @@ TEST_F(test_transaction, insert_delete_with_property) {
EXPECT_EQ(retrieved_prop_double->GetName(), prop_double_ent.GetName()); EXPECT_EQ(retrieved_prop_double->GetName(), prop_double_ent.GetName());
EXPECT_EQ(retrieved_prop_double->GetId(), inserted_prop_double.GetId()); EXPECT_EQ(retrieved_prop_double->GetId(), inserted_prop_double.GetId());
EXPECT_EQ(retrieved_prop_double->GetDataType(), EXPECT_EQ(retrieved_prop_double->GetDataType(), prop_double_ent.GetDataType());
prop_double_ent.GetDataType());
EXPECT_TRUE(retrieved_prop_double->GetValue().IsDouble()); EXPECT_TRUE(retrieved_prop_double->GetValue().IsDouble());
EXPECT_EQ(retrieved_prop_double->GetValue(), prop_double_rec.GetValue()); EXPECT_EQ(retrieved_prop_double->GetValue(), prop_double_rec.GetValue());
} }
...@@ -557,8 +542,7 @@ TEST_F(test_transaction, insert_delete_with_property) { ...@@ -557,8 +542,7 @@ TEST_F(test_transaction, insert_delete_with_property) {
* test retrieving multiple entities at once * test retrieving multiple entities at once
*/ */
TEST_F(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();
auto transaction(connection->CreateTransaction()); auto transaction(connection->CreateTransaction());
...@@ -583,16 +567,14 @@ TEST_F(test_transaction, test_multi_retrieve) { ...@@ -583,16 +567,14 @@ TEST_F(test_transaction, test_multi_retrieve) {
// ... but this does not // ... but this does not
EXPECT_EQ(result_set.at(2).GetId(), "22"); EXPECT_EQ(result_set.at(2).GetId(), "22");
EXPECT_TRUE(result_set.at(2).HasErrors()); EXPECT_TRUE(result_set.at(2).HasErrors());
EXPECT_EQ(result_set.at(2).GetErrors().at(0).GetCode(), EXPECT_EQ(result_set.at(2).GetErrors().at(0).GetCode(), MessageCode::ENTITY_DOES_NOT_EXIST);
MessageCode::ENTITY_DOES_NOT_EXIST);
} }
/* /*
* test insert, then update and then delete a RecordType * test insert, then update and then delete a RecordType
*/ */
TEST_F(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();
// INSERT // INSERT
auto insert_transaction(connection->CreateTransaction()); auto insert_transaction(connection->CreateTransaction());
...@@ -659,8 +641,7 @@ TEST_F(test_transaction, insert_update_delete) { ...@@ -659,8 +641,7 @@ TEST_F(test_transaction, insert_update_delete) {
* test insert a RecordType and then submit a find and a count query * test insert a RecordType and then submit a find and a count query
*/ */
TEST_F(test_transaction, test_query) { TEST_F(test_transaction, test_query) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto insert_transaction(connection->CreateTransaction()); auto insert_transaction(connection->CreateTransaction());
...@@ -685,8 +666,7 @@ TEST_F(test_transaction, test_query) { ...@@ -685,8 +666,7 @@ TEST_F(test_transaction, test_query) {
query_transaction->Query("FIND ENTITY WITH id = " + new_entity.GetId()); query_transaction->Query("FIND ENTITY WITH id = " + new_entity.GetId());
query_transaction->Execute(); query_transaction->Execute();
EXPECT_EQ(query_transaction->GetResultSet().size(), 1); EXPECT_EQ(query_transaction->GetResultSet().size(), 1);
EXPECT_EQ(query_transaction->GetResultSet().at(0).GetId(), EXPECT_EQ(query_transaction->GetResultSet().at(0).GetId(), new_entity.GetId());
new_entity.GetId());
// No count query, so no count result should be present // No count query, so no count result should be present
EXPECT_TRUE((query_transaction->GetCountResult() < 0)); EXPECT_TRUE((query_transaction->GetCountResult() < 0));
...@@ -703,10 +683,8 @@ TEST_F(test_transaction, test_query) { ...@@ -703,10 +683,8 @@ TEST_F(test_transaction, test_query) {
/** /**
* Test numeric values (template). * Test numeric values (template).
*/ */
template <typename T, typename S> template <typename T, typename S> auto test_numeric_values_impl(AtomicDataType a_type) -> void {
auto test_numeric_values_impl(AtomicDataType a_type) -> void { const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection();
// Insert entities // Insert entities
auto values_orig = test_transaction::generateValues<T>(); auto values_orig = test_transaction::generateValues<T>();
...@@ -749,8 +727,7 @@ auto test_numeric_values_impl(AtomicDataType a_type) -> void { ...@@ -749,8 +727,7 @@ auto test_numeric_values_impl(AtomicDataType a_type) -> void {
if (retrieve_transaction->GetResultSet().size() > 0) { if (retrieve_transaction->GetResultSet().size() > 0) {
const auto result = retrieve_transaction->GetResultSet().at(0); const auto result = retrieve_transaction->GetResultSet().at(0);
EXPECT_EQ(result.GetDataType(), a_type); EXPECT_EQ(result.GetDataType(), a_type);
const auto &retrieved_value = const auto &retrieved_value = test_transaction::getValueAs<T>(result.GetValue());
test_transaction::getValueAs<T>(result.GetValue());
// std::cout << "retrieved_value: " << retrieved_value << std::endl; // std::cout << "retrieved_value: " << retrieved_value << std::endl;
EXPECT_EQ(retrieved_value, value); EXPECT_EQ(retrieved_value, value);
} }
...@@ -770,8 +747,7 @@ TEST_F(test_transaction, test_numeric_values) { ...@@ -770,8 +747,7 @@ TEST_F(test_transaction, test_numeric_values) {
} }
TEST_F(test_transaction, test_integer_out_of_range) { TEST_F(test_transaction, test_integer_out_of_range) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
// Insert entities // Insert entities
std::vector<int64_t> values = {std::numeric_limits<int64_t>::max(), std::vector<int64_t> values = {std::numeric_limits<int64_t>::max(),
...@@ -797,9 +773,8 @@ TEST_F(test_transaction, test_integer_out_of_range) { ...@@ -797,9 +773,8 @@ TEST_F(test_transaction, test_integer_out_of_range) {
EXPECT_EQ(t_stat.GetCode(), StatusCode::GENERIC_TRANSACTION_ERROR); EXPECT_EQ(t_stat.GetCode(), StatusCode::GENERIC_TRANSACTION_ERROR);
EXPECT_EQ(insert_transaction->GetResultSet().size(), 1); EXPECT_EQ(insert_transaction->GetResultSet().size(), 1);
EXPECT_TRUE(insert_transaction->GetResultSet().at(0).HasErrors()); EXPECT_TRUE(insert_transaction->GetResultSet().at(0).HasErrors());
EXPECT_EQ( EXPECT_EQ(insert_transaction->GetResultSet().at(0).GetErrors().at(0).GetCode(),
insert_transaction->GetResultSet().at(0).GetErrors().at(0).GetCode(), MessageCode::INTEGER_VALUE_OUT_OF_RANGE);
MessageCode::INTEGER_VALUE_OUT_OF_RANGE);
} }
} }
...@@ -807,8 +782,7 @@ TEST_F(test_transaction, test_integer_out_of_range) { ...@@ -807,8 +782,7 @@ TEST_F(test_transaction, test_integer_out_of_range) {
* Insert three record types in a single transaction. * Insert three record types in a single transaction.
*/ */
TEST_F(test_transaction, test_multi_insert_transactions) { TEST_F(test_transaction, test_multi_insert_transactions) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto insert_transaction(connection->CreateTransaction()); auto insert_transaction(connection->CreateTransaction());
...@@ -841,8 +815,7 @@ TEST_F(test_transaction, test_multi_insert_transactions) { ...@@ -841,8 +815,7 @@ TEST_F(test_transaction, test_multi_insert_transactions) {
* Update three record types in a single transaction. * Update three record types in a single transaction.
*/ */
TEST_F(test_transaction, test_multi_update_transactions) { TEST_F(test_transaction, test_multi_update_transactions) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto insert_transaction(connection->CreateTransaction()); auto insert_transaction(connection->CreateTransaction());
...@@ -897,8 +870,7 @@ TEST_F(test_transaction, test_multi_update_transactions) { ...@@ -897,8 +870,7 @@ TEST_F(test_transaction, test_multi_update_transactions) {
* to C), delete B. * to C), delete B.
*/ */
TEST_F(test_transaction, test_multi_write_transactions) { TEST_F(test_transaction, test_multi_write_transactions) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
Entity entity_a; Entity entity_a;
Entity entity_b; Entity entity_b;
...@@ -921,10 +893,8 @@ TEST_F(test_transaction, test_multi_write_transactions) { ...@@ -921,10 +893,8 @@ TEST_F(test_transaction, test_multi_write_transactions) {
insert_transaction->WaitForIt(); insert_transaction->WaitForIt();
ASSERT_TRUE(insert_transaction->GetStatus().IsTerminated()); ASSERT_TRUE(insert_transaction->GetStatus().IsTerminated());
ASSERT_FALSE(insert_transaction->GetStatus().IsError()); ASSERT_FALSE(insert_transaction->GetStatus().IsError());
auto entity_a_id = auto entity_a_id = insert_transaction->GetResultSet().at(0).GetId(); // entity_a
insert_transaction->GetResultSet().at(0).GetId(); // entity_a auto entity_b_id = insert_transaction->GetResultSet().at(1).GetId(); // entity_b
auto entity_b_id =
insert_transaction->GetResultSet().at(1).GetId(); // entity_b
auto retrieve_transaction(connection->CreateTransaction()); auto retrieve_transaction(connection->CreateTransaction());
retrieve_transaction->RetrieveById(entity_a_id); retrieve_transaction->RetrieveById(entity_a_id);
...@@ -943,8 +913,7 @@ TEST_F(test_transaction, test_multi_write_transactions) { ...@@ -943,8 +913,7 @@ TEST_F(test_transaction, test_multi_write_transactions) {
auto complex_transaction(connection->CreateTransaction()); auto complex_transaction(connection->CreateTransaction());
ASSERT_EQ(complex_transaction->InsertEntity(&entity_c), StatusCode::GO_ON); ASSERT_EQ(complex_transaction->InsertEntity(&entity_c), StatusCode::GO_ON);
ASSERT_EQ(complex_transaction->DeleteById(entity_b_id), StatusCode::GO_ON); ASSERT_EQ(complex_transaction->DeleteById(entity_b_id), StatusCode::GO_ON);
ASSERT_EQ(complex_transaction->UpdateEntity(&entity_a_update), ASSERT_EQ(complex_transaction->UpdateEntity(&entity_a_update), StatusCode::GO_ON);
StatusCode::GO_ON);
complex_transaction->ExecuteAsynchronously(); complex_transaction->ExecuteAsynchronously();
complex_transaction->WaitForIt(); complex_transaction->WaitForIt();
...@@ -953,8 +922,7 @@ TEST_F(test_transaction, test_multi_write_transactions) { ...@@ -953,8 +922,7 @@ TEST_F(test_transaction, test_multi_write_transactions) {
// test end results // test end results
retrieve_transaction = connection->CreateTransaction(); retrieve_transaction = connection->CreateTransaction();
ASSERT_EQ(retrieve_transaction->RetrieveById(entity_a_update.GetId()), ASSERT_EQ(retrieve_transaction->RetrieveById(entity_a_update.GetId()), StatusCode::GO_ON);
StatusCode::GO_ON);
retrieve_transaction->ExecuteAsynchronously(); retrieve_transaction->ExecuteAsynchronously();
retrieve_transaction->WaitForIt(); retrieve_transaction->WaitForIt();
...@@ -967,8 +935,7 @@ TEST_F(test_transaction, test_multi_write_transactions) { ...@@ -967,8 +935,7 @@ TEST_F(test_transaction, test_multi_write_transactions) {
* combinations * combinations
*/ */
TEST_F(test_transaction, test_query_with_retrieve) { TEST_F(test_transaction, test_query_with_retrieve) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
// rt1 // rt1
Entity rt1; Entity rt1;
...@@ -1044,8 +1011,7 @@ TEST_F(test_transaction, test_query_with_retrieve) { ...@@ -1044,8 +1011,7 @@ TEST_F(test_transaction, test_query_with_retrieve) {
EXPECT_EQ(find_results.size(), 3); EXPECT_EQ(find_results.size(), 3);
// only retrieve rt1 and rt2 by id // only retrieve rt1 and rt2 by id
const std::vector<std::string> ids = {inserted_rt1.GetId(), const std::vector<std::string> ids = {inserted_rt1.GetId(), inserted_rt2.GetId()};
inserted_rt2.GetId()};
// retrieve rt3 with a FIND query // retrieve rt3 with a FIND query
auto find_and_retrieve(connection->CreateTransaction()); auto find_and_retrieve(connection->CreateTransaction());
...@@ -1082,8 +1048,7 @@ TEST_F(test_transaction, test_query_with_retrieve) { ...@@ -1082,8 +1048,7 @@ TEST_F(test_transaction, test_query_with_retrieve) {
* create a file object and upload it * create a file object and upload it
*/ */
TEST_F(test_transaction, test_file_upload) { TEST_F(test_transaction, test_file_upload) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
Entity file; Entity file;
file.SetRole(Role::FILE); file.SetRole(Role::FILE);
...@@ -1119,8 +1084,7 @@ TEST_F(test_transaction, test_file_upload) { ...@@ -1119,8 +1084,7 @@ TEST_F(test_transaction, test_file_upload) {
* create a file object, upload and then download it * create a file object, upload and then download it
*/ */
TEST_F(test_transaction, test_file_up_n_download) { TEST_F(test_transaction, test_file_up_n_download) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
Entity file; Entity file;
file.SetRole(Role::FILE); file.SetRole(Role::FILE);
...@@ -1138,8 +1102,8 @@ TEST_F(test_transaction, test_file_up_n_download) { ...@@ -1138,8 +1102,8 @@ TEST_F(test_transaction, test_file_up_n_download) {
ASSERT_FALSE(inserted_file.HasErrors()); ASSERT_FALSE(inserted_file.HasErrors());
auto download_transaction(connection->CreateTransaction()); auto download_transaction(connection->CreateTransaction());
download_transaction->RetrieveAndDownloadFileById( download_transaction->RetrieveAndDownloadFileById(inserted_file.GetId(),
inserted_file.GetId(), test_download_file_1.string()); test_download_file_1.string());
download_transaction->ExecuteAsynchronously(); download_transaction->ExecuteAsynchronously();
ASSERT_EQ(download_transaction->WaitForIt().GetCode(), StatusCode::SUCCESS); ASSERT_EQ(download_transaction->WaitForIt().GetCode(), StatusCode::SUCCESS);
...@@ -1149,10 +1113,8 @@ TEST_F(test_transaction, test_file_up_n_download) { ...@@ -1149,10 +1113,8 @@ TEST_F(test_transaction, test_file_up_n_download) {
const auto &downloaded_file = download_results.at(0); const auto &downloaded_file = download_results.at(0);
ASSERT_FALSE(downloaded_file.GetId().empty()); ASSERT_FALSE(downloaded_file.GetId().empty());
ASSERT_FALSE(downloaded_file.HasErrors()); ASSERT_FALSE(downloaded_file.HasErrors());
EXPECT_EQ(downloaded_file.GetLocalPath().string(), EXPECT_EQ(downloaded_file.GetLocalPath().string(), test_download_file_1.string());
test_download_file_1.string()); EXPECT_EQ(fs::file_size(test_upload_file_1), fs::file_size(test_download_file_1));
EXPECT_EQ(fs::file_size(test_upload_file_1),
fs::file_size(test_download_file_1));
// test_download_file_1 // test_download_file_1
FileReader reader_remote(test_download_file_1); FileReader reader_remote(test_download_file_1);
...@@ -1171,8 +1133,7 @@ TEST_F(test_transaction, test_file_up_n_download) { ...@@ -1171,8 +1133,7 @@ TEST_F(test_transaction, test_file_up_n_download) {
* Test a small worklfow * Test a small worklfow
*/ */
TEST_F(test_transaction, test_full_workflow) { TEST_F(test_transaction, test_full_workflow) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
// ###### Create Data Model ###### // ###### Create Data Model ######
Entity dataRT; Entity dataRT;
...@@ -1295,8 +1256,7 @@ TEST_F(test_transaction, test_full_workflow) { ...@@ -1295,8 +1256,7 @@ TEST_F(test_transaction, test_full_workflow) {
} }
TEST_F(test_transaction, test_delete_string_id) { TEST_F(test_transaction, test_delete_string_id) {
const auto &connection = const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
caosdb::connection::ConnectionManager::GetDefaultConnection();
auto transaction(connection->CreateTransaction()); auto transaction(connection->CreateTransaction());
transaction->DeleteById("20"); transaction->DeleteById("20");
...@@ -1312,8 +1272,7 @@ TEST_F(test_transaction, test_delete_string_id) { ...@@ -1312,8 +1272,7 @@ TEST_F(test_transaction, test_delete_string_id) {
EXPECT_FALSE(results.at(0).HasErrors()); EXPECT_FALSE(results.at(0).HasErrors());
EXPECT_TRUE(results.at(1).HasErrors()); EXPECT_TRUE(results.at(1).HasErrors());
EXPECT_EQ(results.at(1).GetErrors().size(), 1); EXPECT_EQ(results.at(1).GetErrors().size(), 1);
EXPECT_EQ(results.at(1).GetErrors().at(0).GetDescription(), EXPECT_EQ(results.at(1).GetErrors().at(0).GetDescription(), "Entity does not exist.");
"Entity does not exist.");
EXPECT_FALSE(results.at(2).HasErrors()); EXPECT_FALSE(results.at(2).HasErrors());
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment