Nothing
library(testthat)
if (DatabaseConnector:::is_installed("ParallelLogger")) {
options(LOG_DATABASECONNECTOR_SQL = TRUE)
logFileName <- tempfile(fileext = ".txt")
ParallelLogger::addDefaultFileLogger(logFileName, name = "TEST_LOGGER")
}
for (testServer in testServers) {
test_that(addDbmsToLabel("Fetch results", testServer), {
connection <- connect(testServer$connectionDetails)
on.exit(disconnect(connection))
sql <- "SELECT COUNT(*) AS row_count FROM @cdm_database_schema.vocabulary"
renderedSql <- SqlRender::render(sql = sql,
cdm_database_schema = testServer$cdmDatabaseSchema)
# Fetch data.frame:
count <- querySql(connection, renderedSql)
expect_gt(count[1, 1], 1)
count <- renderTranslateQuerySql(connection = connection,
sql = sql,
cdm_database_schema = testServer$cdmDatabaseSchema)
expect_gt(count[1, 1], 1)
# Fetch Andromeda:
andromeda <- Andromeda::andromeda()
querySqlToAndromeda(connection = connection,
sql = renderedSql,
andromeda = andromeda,
andromedaTableName = "test",
snakeCaseToCamelCase = TRUE)
expect_gt(dplyr::collect(andromeda$test)$rowCount[1], 1)
renderTranslateQuerySqlToAndromeda(connection,
sql,
cdm_database_schema = testServer$cdmDatabaseSchema,
andromeda = andromeda,
andromedaTableName = "test2",
snakeCaseToCamelCase = TRUE
)
expect_gt(dplyr::collect(andromeda$test2)$rowCount[1], 1)
Andromeda::close(andromeda)
skip_if_not(testServer$connectionDetails$dbms %in% c("sqlite", "duckdb"))
# dbFetch only fetches n rows
sql <- "SELECT * FROM @cdm_database_schema.vocabulary;"
sql <- SqlRender::render(sql,
cdm_database_schema = testServer$cdmDatabaseSchema)
resultSet <- dbSendQuery(connection, sql)
data <- dbFetch(resultSet, n = 1)
expect_false(dbHasCompleted(resultSet))
expect_equal(nrow(data), 1)
dbClearResult(resultSet)
})
}
test_that("Logging query times", {
skip_if_not_installed("ParallelLogger")
queryTimes <- extractQueryTimes(logFileName)
expect_gt(nrow(queryTimes), 16)
ParallelLogger::unregisterLogger("TEST_LOGGER")
unlink(logFileName)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.