Skip to content
Snippets Groups Projects
Commit a1edb57c authored by Henrik tom Wörden's avatar Henrik tom Wörden
Browse files

Merge branch 'dev' into f-consolidation

parents 240419d6 72cfe1d0
No related branches found
No related tags found
1 merge request!9F consolidation
This commit is part of merge request !9. Comments created here will be created in the context of that merge request.
...@@ -26,6 +26,7 @@ project(libcaosdb_inttests ...@@ -26,6 +26,7 @@ project(libcaosdb_inttests
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# dependency management with conan # dependency management with conan
......
...@@ -12,11 +12,17 @@ Integration tests for caosdb-cpplib and the caosdb-server ...@@ -12,11 +12,17 @@ Integration tests for caosdb-cpplib and the caosdb-server
# Run tests # Run tests
## Prerequisite
Create a local conan package from the caosdb-cpplib repository
## Build & Execution
1. `mkdir build && cd build/` 1. `mkdir build && cd build/`
2. `conan install .. -s "compiler.libcxx=libstdc++11"` 2. `conan install .. -s "compiler.libcxx=libstdc++11"`
3. `cmake -B . ..` 3. `cmake -B . ..`
4. `cmake --build .` 4. `cmake --build .`
5. Setup env vars 5. Setup env vars
- CAOSDB_SERVER_GRPC_PORT_HTTP
- CAOSDB_SERVER_HOST
- CAOSDB_SERVER_GRPC_PORT_HTTPS
- CAOSDB_SERVER_CERT
6. Run with `ctest` in the build directory. 6. Run with `ctest` in the build directory.
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
set(test_cases set(test_cases
test_connection test_connection
test_transaction test_transaction
#test_file_transmission TODO add once fixed
test_ccaosdb test_ccaosdb
) )
...@@ -82,7 +83,7 @@ if(LINTING) ...@@ -82,7 +83,7 @@ if(LINTING)
"--warnings-as-errors=*" "--warnings-as-errors=*"
"--fix") "--fix")
set(_CMAKE_CXX_CLANG_TIDY_CHECKS set(_CMAKE_CXX_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-pro-bounds-array-to-pointer-decay,-hicpp-no-array-decay,-cppcoreguidelines-non-private-member-variables-in-classes,-misc-non-private-member-variables-in-classes") "--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")
endif() endif()
else() else()
message(STATUS "LINTING is OFF") message(STATUS "LINTING is OFF")
......
...@@ -52,8 +52,8 @@ TEST(test_ccaosdb, test_count_query) { ...@@ -52,8 +52,8 @@ TEST(test_ccaosdb, test_count_query) {
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_transaction transaction; caosdb_transaction_transaction transaction;
return_code = caosdb_connection_connection_create_transaction(&connection, return_code =
&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
...@@ -82,8 +82,8 @@ TEST(test_ccaosdb, test_query) { ...@@ -82,8 +82,8 @@ TEST(test_ccaosdb, test_query) {
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_transaction transaction; caosdb_transaction_transaction transaction;
return_code = caosdb_connection_connection_create_transaction(&connection, return_code =
&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,
...@@ -115,8 +115,8 @@ TEST(test_ccaosdb, test_single_id_retrieve) { ...@@ -115,8 +115,8 @@ TEST(test_ccaosdb, test_single_id_retrieve) {
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_transaction transaction; caosdb_transaction_transaction transaction;
return_code = caosdb_connection_connection_create_transaction(&connection, return_code =
&transaction); caosdb_connection_connection_create_transaction(&connection, &transaction);
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
return_code = return_code =
...@@ -161,8 +161,8 @@ TEST(test_ccaosdb, test_multi_id_retrieve) { ...@@ -161,8 +161,8 @@ TEST(test_ccaosdb, test_multi_id_retrieve) {
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
caosdb_transaction_transaction transaction; caosdb_transaction_transaction transaction;
return_code = caosdb_connection_connection_create_transaction(&connection, return_code =
&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
......
...@@ -36,6 +36,12 @@ using caosdb::entity::v1alpha1::RegisterFileUploadResponse; ...@@ -36,6 +36,12 @@ using caosdb::entity::v1alpha1::RegisterFileUploadResponse;
using caosdb::entity::v1alpha1::RegistrationStatus; using caosdb::entity::v1alpha1::RegistrationStatus;
using caosdb::entity::v1alpha1::TransmissionStatus; using caosdb::entity::v1alpha1::TransmissionStatus;
// TODO(tf) this file is currently not used (see CMakeLists.txt)
// Is it still necessary or is it obsolete due to test_transaction.cpp?
// RegisterFileDownloadResponse is currently not defined by proto or the h
// file.
class test_file_transmission : public ::testing::Test { class test_file_transmission : public ::testing::Test {
protected: protected:
void SetUp() override {} void SetUp() override {}
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include "caosdb/connection.h" // for Connection, ConnectionManager #include "caosdb/connection.h" // for Connection, ConnectionManager
#include "caosdb/data_type.h" // for AtomicDataType #include "caosdb/data_type.h" // for AtomicDataType
#include "caosdb/entity.h" // for Entity, Messages, Message #include "caosdb/entity.h" // for Entity, Messages, Message
#include "caosdb/file_transmission/file_reader.h" // for FileReader
#include "caosdb/file_transmission/file_writer.h" // for FileWriter #include "caosdb/file_transmission/file_writer.h" // for FileWriter
#include "caosdb/message_code.h" // for ENTITY_DOES_NOT_EXIST, Messag... #include "caosdb/message_code.h" // for ENTITY_DOES_NOT_EXIST, Messag...
#include "caosdb/status_code.h" // for SUCCESS, StatusCode #include "caosdb/status_code.h" // for SUCCESS, StatusCode
...@@ -670,9 +671,18 @@ TEST_F(test_transaction, test_file_upload) { ...@@ -670,9 +671,18 @@ TEST_F(test_transaction, test_file_upload) {
const auto &inserted_file = insert_results.at(0); const auto &inserted_file = insert_results.at(0);
EXPECT_FALSE(inserted_file.GetId().empty()); EXPECT_FALSE(inserted_file.GetId().empty());
EXPECT_FALSE(inserted_file.HasErrors()); EXPECT_FALSE(inserted_file.HasErrors());
// Check file once more
auto count_query(connection->CreateTransaction());
count_query->Query("COUNT FILE WHICH IS STORED AT 'test.txt'");
count_query->ExecuteAsynchronously();
auto count_and_retrieve_status = count_query->WaitForIt();
ASSERT_TRUE(count_and_retrieve_status.IsTerminated());
ASSERT_FALSE(count_and_retrieve_status.IsError());
EXPECT_EQ(count_query->GetCountResult(), 1);
} }
TEST_F(test_transaction, test_file_download) { TEST_F(test_transaction, test_file_up_n_download) {
const auto &connection = const auto &connection =
caosdb::connection::ConnectionManager::GetDefaultConnection(); caosdb::connection::ConnectionManager::GetDefaultConnection();
...@@ -705,6 +715,14 @@ TEST_F(test_transaction, test_file_download) { ...@@ -705,6 +715,14 @@ TEST_F(test_transaction, test_file_download) {
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());
FileReader reader_remote(test_upload_file_1);
std::string buffer_local(1024, 'c');
std::string buffer_remote(1024, 'c');
for (int i = 0; i < 8; i++) {
reader_remote.read(buffer_remote);
EXPECT_EQ(buffer_remote, buffer_local);
}
} }
} // 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