From d3eb9be38fa03751c90097812fcc480f9b520c13 Mon Sep 17 00:00:00 2001 From: Anthony Sena Date: Tue, 21 Jan 2025 11:09:45 -0500 Subject: [PATCH] Fix bug; extend unit test to cover subset of modules --- R/Execution.R | 2 +- tests/testthat/test-Execution.R | 43 +++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/R/Execution.R b/R/Execution.R index c521d0e..a303cbe 100644 --- a/R/Execution.R +++ b/R/Execution.R @@ -233,7 +233,7 @@ execute <- function(analysisSpecifications, cat(error(paste0("ERROR: ", message, "\n"))) } -.subsetAnalysisSpecificationByModulesToExecute <- function(analysisSpecification, modulesToExecute) { +.subsetAnalysisSpecificationByModulesToExecute <- function(analysisSpecifications, modulesToExecute) { # Get the modules in the analysis specification with their # index in the array modulesWithIndex <- lapply( diff --git a/tests/testthat/test-Execution.R b/tests/testthat/test-Execution.R index 064eb31..365d5d7 100644 --- a/tests/testthat/test-Execution.R +++ b/tests/testthat/test-Execution.R @@ -282,6 +282,49 @@ test_that("Specify subset of modules to run", { ) expect_true(all(modulesExecuted %in% modulesToExecute)) + + # Create a results DB and upload results + dbFilePath <- file.path(tempDir, "testdm.sqlite") + mydb <- dbConnect(RSQLite::SQLite(), dbFilePath) + dbDisconnect(mydb) + + withr::defer( + { + unlink(dbFilePath, recursive = TRUE, force = TRUE) + }, + testthat::teardown_env() + ) + + resultsConnectionDetails <- DatabaseConnector::createConnectionDetails( + dbms = "sqlite", + server = dbFilePath + ) + + resultsDataModelSettings <- Strategus::createResultsDataModelSettings( + resultsDatabaseSchema = "main", + resultsFolder = executionSettings$resultsFolder, + modulesToExecute = modulesToExecute + ) + + # Create cdm modules results data model ------------------------- + cdmModulesAnalysisSpecifications <- ParallelLogger::loadSettingsFromJson( + fileName = system.file("testdata/cdmModulesAnalysisSpecifications.json", + package = "Strategus" + ) + ) + + Strategus::createResultDataModel( + analysisSpecifications = cdmModulesAnalysisSpecifications, + resultsDataModelSettings = resultsDataModelSettings, + resultsConnectionDetails = resultsConnectionDetails + ) + + # Upload cdm related results -------------------- + Strategus::uploadResults( + analysisSpecifications = analysisSpecifications, + resultsDataModelSettings = resultsDataModelSettings, + resultsConnectionDetails = resultsConnectionDetails + ) }) test_that("Stop if error occurs during cohort generation", {