mirror of
https://github.com/latentPrion/cppbessot.git
synced 2026-06-23 15:18:37 +00:00
Add tests db DB_TARGET for tests
This commit is contained in:
@@ -36,7 +36,7 @@ if(NOT DEFINED DB_SCHEMA_CHANGES_ARE_ERROR)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED DB_TARGET)
|
||||
set(DB_TARGET "dev" CACHE STRING "Live DB target to act on: prod, proddev, or dev")
|
||||
set(DB_TARGET "dev" CACHE STRING "Live DB target to act on: prod, proddev, dev, or tests")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED DB_CREATEFROM_SCHEMA_DIR)
|
||||
@@ -59,12 +59,16 @@ set(CPPBESSOT_DB_SQLITE_DEV_PATH "${CPPBESSOT_DB_SQLITE_DEV_PATH}" CACHE STRING
|
||||
"Parent-supplied SQLite DB path for DB_TARGET=dev")
|
||||
set(CPPBESSOT_DB_SQLITE_PRODDEV_PATH "${CPPBESSOT_DB_SQLITE_PRODDEV_PATH}" CACHE STRING
|
||||
"Parent-supplied SQLite DB path for DB_TARGET=proddev")
|
||||
set(CPPBESSOT_DB_SQLITE_TESTS_PATH "${CPPBESSOT_DB_SQLITE_TESTS_PATH}" CACHE STRING
|
||||
"Parent-supplied SQLite DB path for DB_TARGET=tests")
|
||||
set(CPPBESSOT_DB_PGSQL_PROD_CONNSTR "${CPPBESSOT_DB_PGSQL_PROD_CONNSTR}" CACHE STRING
|
||||
"Parent-supplied PostgreSQL connection string for DB_TARGET=prod")
|
||||
set(CPPBESSOT_DB_PGSQL_DEV_CONNSTR "${CPPBESSOT_DB_PGSQL_DEV_CONNSTR}" CACHE STRING
|
||||
"Parent-supplied PostgreSQL connection string for DB_TARGET=dev")
|
||||
set(CPPBESSOT_DB_PGSQL_PRODDEV_CONNSTR "${CPPBESSOT_DB_PGSQL_PRODDEV_CONNSTR}" CACHE STRING
|
||||
"Parent-supplied PostgreSQL connection string for DB_TARGET=proddev")
|
||||
set(CPPBESSOT_DB_PGSQL_TESTS_CONNSTR "${CPPBESSOT_DB_PGSQL_TESTS_CONNSTR}" CACHE STRING
|
||||
"Parent-supplied PostgreSQL connection string for DB_TARGET=tests")
|
||||
set(CPPBESSOT_DB_SQLITE_CLONE_PROD_TO_PRODDEV_COMMAND "${CPPBESSOT_DB_SQLITE_CLONE_PROD_TO_PRODDEV_COMMAND}" CACHE STRING
|
||||
"Parent-supplied command string that clones the prod SQLite DB into proddev")
|
||||
set(CPPBESSOT_DB_PGSQL_CLONE_PROD_TO_PRODDEV_COMMAND "${CPPBESSOT_DB_PGSQL_CLONE_PROD_TO_PRODDEV_COMMAND}" CACHE STRING
|
||||
|
||||
@@ -37,9 +37,11 @@ function(_cppbessot_db_action_common_cache_args out_var)
|
||||
"-DCPPBESSOT_DB_SQLITE_PROD_PATH=${CPPBESSOT_DB_SQLITE_PROD_PATH}"
|
||||
"-DCPPBESSOT_DB_SQLITE_DEV_PATH=${CPPBESSOT_DB_SQLITE_DEV_PATH}"
|
||||
"-DCPPBESSOT_DB_SQLITE_PRODDEV_PATH=${CPPBESSOT_DB_SQLITE_PRODDEV_PATH}"
|
||||
"-DCPPBESSOT_DB_SQLITE_TESTS_PATH=${CPPBESSOT_DB_SQLITE_TESTS_PATH}"
|
||||
"-DCPPBESSOT_DB_PGSQL_PROD_CONNSTR=${CPPBESSOT_DB_PGSQL_PROD_CONNSTR}"
|
||||
"-DCPPBESSOT_DB_PGSQL_DEV_CONNSTR=${CPPBESSOT_DB_PGSQL_DEV_CONNSTR}"
|
||||
"-DCPPBESSOT_DB_PGSQL_PRODDEV_CONNSTR=${CPPBESSOT_DB_PGSQL_PRODDEV_CONNSTR}")
|
||||
"-DCPPBESSOT_DB_PGSQL_PRODDEV_CONNSTR=${CPPBESSOT_DB_PGSQL_PRODDEV_CONNSTR}"
|
||||
"-DCPPBESSOT_DB_PGSQL_TESTS_CONNSTR=${CPPBESSOT_DB_PGSQL_TESTS_CONNSTR}")
|
||||
set(${out_var} "${_args}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
|
||||
@@ -14,7 +14,8 @@ endfunction()
|
||||
function(_cppbessot_db_action_validate_db_target_impl db_target)
|
||||
if(NOT "${db_target}" STREQUAL "prod"
|
||||
AND NOT "${db_target}" STREQUAL "proddev"
|
||||
AND NOT "${db_target}" STREQUAL "dev")
|
||||
message(FATAL_ERROR "DB_TARGET must be one of: prod, proddev, dev.")
|
||||
AND NOT "${db_target}" STREQUAL "dev"
|
||||
AND NOT "${db_target}" STREQUAL "tests")
|
||||
message(FATAL_ERROR "DB_TARGET must be one of: prod, proddev, dev, tests.")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
@@ -11,7 +11,6 @@ function(_cppbessot_publish_dependency_outputs)
|
||||
set(CPPBESSOT_JAVA_EXECUTABLE "${CPPBESSOT_JAVA_EXECUTABLE}" PARENT_SCOPE)
|
||||
set(CPPBESSOT_GIT_EXECUTABLE "${CPPBESSOT_GIT_EXECUTABLE}" PARENT_SCOPE)
|
||||
set(CPPBESSOT_SQLITE3_EXECUTABLE "${CPPBESSOT_SQLITE3_EXECUTABLE}" PARENT_SCOPE)
|
||||
set(CPPBESSOT_PSQL_EXECUTABLE "${CPPBESSOT_PSQL_EXECUTABLE}" PARENT_SCOPE)
|
||||
set(CPPBESSOT_ODB_RUNTIME_LIB "${CPPBESSOT_ODB_RUNTIME_LIB}" PARENT_SCOPE)
|
||||
set(CPPBESSOT_ODB_SQLITE_RUNTIME_LIB "${CPPBESSOT_ODB_SQLITE_RUNTIME_LIB}" PARENT_SCOPE)
|
||||
set(CPPBESSOT_ODB_PGSQL_RUNTIME_LIB "${CPPBESSOT_ODB_PGSQL_RUNTIME_LIB}" PARENT_SCOPE)
|
||||
@@ -155,12 +154,10 @@ function(cppbessot_check_dependencies)
|
||||
CPPBESSOT_DB_PGSQL_PROD_CONNSTR
|
||||
CPPBESSOT_DB_PGSQL_DEV_CONNSTR
|
||||
CPPBESSOT_DB_PGSQL_PRODDEV_CONNSTR
|
||||
CPPBESSOT_DB_ACTION_TEST_PGSQL_ADMIN_CONNSTR)
|
||||
CPPBESSOT_DB_PGSQL_TESTS_CONNSTR)
|
||||
if(_cppbessot_require_psql)
|
||||
_cppbessot_require_program(CPPBESSOT_PSQL_EXECUTABLE psql
|
||||
_cppbessot_require_program(_cppbessot_psql_executable psql
|
||||
"Install the PostgreSQL client CLI so live PostgreSQL DB actions can run.")
|
||||
else()
|
||||
set(CPPBESSOT_PSQL_EXECUTABLE "")
|
||||
endif()
|
||||
|
||||
_cppbessot_require_npm_package("${CPPBESSOT_NPM_EXECUTABLE}" "@openapitools/openapi-generator-cli")
|
||||
|
||||
@@ -25,7 +25,7 @@ function(cppbessot_db_action_target_exists out_var backend sqlite_path pgsql_con
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(cppbessot_db_action_get_clone_command out_var backend)
|
||||
function(cppbessot_db_action_get_clone_command out_var backend target)
|
||||
if("${backend}" STREQUAL "sqlite")
|
||||
set(_command "${CPPBESSOT_DB_SQLITE_CLONE_PROD_TO_PRODDEV_COMMAND}")
|
||||
else()
|
||||
@@ -34,11 +34,11 @@ function(cppbessot_db_action_get_clone_command out_var backend)
|
||||
set(${out_var} "${_command}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(cppbessot_db_action_invoke_clone_hook backend)
|
||||
cppbessot_db_action_get_clone_command(_clone_command "${backend}")
|
||||
function(cppbessot_db_action_invoke_clone_hook backend target)
|
||||
cppbessot_db_action_get_clone_command(_clone_command "${backend}" "${target}")
|
||||
if("${_clone_command}" STREQUAL "")
|
||||
message(FATAL_ERROR
|
||||
"No clone command is configured for backend `${backend}` while preparing proddev.")
|
||||
"No clone command is configured for backend `${backend}` while preparing target `${target}`.")
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
@@ -50,7 +50,7 @@ function(cppbessot_db_action_invoke_clone_hook backend)
|
||||
|
||||
if(NOT _result EQUAL 0)
|
||||
message(FATAL_ERROR
|
||||
"Proddev clone command failed for backend `${backend}`.\n${_stdout}\n${_stderr}")
|
||||
"Clone command failed for backend `${backend}` target `${target}`.\n${_stdout}\n${_stderr}")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
@@ -68,7 +68,7 @@ function(cppbessot_db_action_prepare_proddev target backend use_stale sqlite_pat
|
||||
return()
|
||||
endif()
|
||||
|
||||
cppbessot_db_action_invoke_clone_hook("${backend}")
|
||||
cppbessot_db_action_invoke_clone_hook("${backend}" "${target}")
|
||||
cppbessot_db_action_target_exists(_exists "${backend}" "${sqlite_path}" "${pgsql_connstr}")
|
||||
if(NOT _exists)
|
||||
message(FATAL_ERROR
|
||||
|
||||
Reference in New Issue
Block a user