added tests for backends

This commit is contained in:
Sascha Kuehl 2024-01-25 22:28:31 +01:00
parent aa5d32e30c
commit 615143efb0
7 changed files with 62 additions and 5 deletions

View File

@ -29,6 +29,8 @@ message(STATUS "Relase flags ${CMAKE_CXX_FLAGS_RELEASE}")
message(STATUS "Linker flags ${CMAKE_EXE_LINKER_FLAGS}") message(STATUS "Linker flags ${CMAKE_EXE_LINKER_FLAGS}")
enable_testing()
add_subdirectory(src) add_subdirectory(src)
add_subdirectory(test) add_subdirectory(test)
add_subdirectory(backends) add_subdirectory(backends)

View File

@ -18,6 +18,8 @@ set(SOURCES
set(LIBRARY_TARGET matador-postgres) set(LIBRARY_TARGET matador-postgres)
add_subdirectory(test)
add_library(${LIBRARY_TARGET} MODULE ${SOURCES} ${HEADER}) add_library(${LIBRARY_TARGET} MODULE ${SOURCES} ${HEADER})
set_target_properties(${LIBRARY_TARGET} set_target_properties(${LIBRARY_TARGET}

View File

@ -0,0 +1,34 @@
Include(FetchContent)
FetchContent_Declare(
Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG v3.4.0 # or a later release
)
FetchContent_MakeAvailable(Catch2)
SET(POSTGRES_CONNECTION_STRING "postgresql://test:test123@127.0.0.1/matador_test" CACHE STRING "postgresql connection string")
CONFIGURE_FILE(Connection.hpp.in ${PROJECT_BINARY_DIR}/backends/postgres/test/connection.hpp @ONLY IMMEDIATE)
MESSAGE(STATUS "postgresql connection string: ${POSTGRES_CONNECTION_STRING}")
MESSAGE(STATUS "current binary dir: ${CMAKE_CURRENT_BINARY_DIR}")
set(TEST_SOURCES ../../tests/QueryTest.cpp)
set(LIBRARY_TEST_TARGET postgres_tests)
add_executable(${LIBRARY_TEST_TARGET} ${TEST_SOURCES})
target_link_libraries(${LIBRARY_TEST_TARGET} PRIVATE
Catch2::Catch2WithMain
matador
${CMAKE_DL_LIBS}
${PostgreSQL_LIBRARY})
target_include_directories(${LIBRARY_TEST_TARGET}
PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>/include
PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
add_test(NAME matador_postgres_tests COMMAND ${LIBRARY_TEST_TARGET})

View File

@ -0,0 +1,10 @@
#ifndef POSTGRES_CONNECTION_HPP
#define POSTGRES_CONNECTION_HPP
#define MATADOR_DB_TYPE "Postgres"
namespace matador::test::connection {
const char* const dns = "@POSTGRES_CONNECTION_STRING@";
}
#endif /*POSTGRES_CONNECTION_HPP*/

View File

@ -0,0 +1,7 @@
#include "catch2/catch_test_macros.hpp"
#include <connection.hpp>
TEST_CASE(MATADOR_DB_TYPE " - Query test", "[query]") {
REQUIRE(std::string(matador::test::connection::dns) == "hallo welt");
}

View File

@ -41,4 +41,6 @@ target_link_libraries(tests PRIVATE
${CMAKE_DL_LIBS} ${CMAKE_DL_LIBS}
${SQLite3_LIBRARIES} ${SQLite3_LIBRARIES}
${PostgreSQL_LIBRARY}) ${PostgreSQL_LIBRARY})
target_include_directories(tests PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>/include) target_include_directories(tests PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>/include)
add_test(NAME matador_tests COMMAND tests)

View File

@ -3,8 +3,8 @@
struct Postgres struct Postgres
{ {
constexpr static const char *dns{"postgres://test:test123@127.0.0.1:15432/test"}; // constexpr static const char *dns{"postgres://test:test123@127.0.0.1:15432/test"};
// constexpr static const char *dns{"postgres://test:test123@127.0.0.1:5432/matador_test"}; constexpr static const char *dns{"postgres://test:test123@127.0.0.1:5432/matador_test"};
}; };
struct Sqlite struct Sqlite
@ -14,8 +14,8 @@ struct Sqlite
struct MySql struct MySql
{ {
constexpr static const char *dns{"mysql://test:test123!@127.0.0.1:3306/testdb"}; // constexpr static const char *dns{"mysql://test:test123!@127.0.0.1:3306/testdb"};
// constexpr static const char *dns{"mysql://test:test123!@127.0.0.1:3306/matador_test"}; constexpr static const char *dns{"mysql://test:test123!@127.0.0.1:3306/matador_test"};
}; };
#endif //QUERY_DATABASES_HPP #endif //QUERY_DATABASES_HPP