OMOP/tests/testthat/test-executeDdl.R

52 lines
1.8 KiB
R
Raw Normal View History

# To run tests for one dbms and one cdmVersion use the variables below
# dbms <- "postgresql"; cdmVersion <- "5.4"
2021-08-20 02:59:07 +00:00
# testDatabases <- c("oracle", "postgresql", "sql server", "redshift")
2021-08-20 03:12:55 +00:00
testDatabases <- c("redshift")
test_that("getConnectionDetails works", {
for(dbms in testDatabases) {
expect_s3_class(getConnectionDetails(dbms), "connectionDetails")
}
})
test_that("getSchema works", {
for(dbms in testDatabases) {
expect_type(getSchema(dbms), "character")
}
})
2021-08-19 12:13:03 +00:00
for(dbms in testDatabases) {
connectionDetails <- getConnectionDetails(dbms)
cdmDatabaseSchema <- getSchema(dbms)
test_that(paste("Can connect to", dbms), {
2021-08-20 03:38:29 +00:00
expect_error(con <- connect(connectionDetails), NA)
2021-08-20 03:12:55 +00:00
expect_error(disconnect(con), NA)
})
2021-08-20 02:45:23 +00:00
# for(cdmVersion in listSupportedVersions()) {
# test_that(paste("DDL", cdmVersion, "runs on", dbms), {
# dropAllTablesFromSchema(connectionDetails, cdmDatabaseSchema)
# tables <- listTablesInSchema(connectionDetails, cdmDatabaseSchema)
# expect_equal(tables, character(0))
#
# executeDdl(connectionDetails,
# cdmVersion = cdmVersion,
# cdmDatabaseSchema = cdmDatabaseSchema,
# executeDdl = TRUE,
# executePrimaryKey = TRUE,
# executeForeignKey = FALSE)
#
# tables <- listTablesInSchema(connectionDetails, cdmDatabaseSchema)
# cdmTableCsvLoc <- system.file(file.path("csv", paste0("OMOP_CDMv", cdmVersion, "_Table_Level.csv")), package = "CommonDataModel", mustWork = TRUE)
# tableSpecs <- read.csv(cdmTableCsvLoc, stringsAsFactors = FALSE)$cdmTableName
#
# # check that the tables in the database match the tables in the specification
# expect_equal(sort(tolower(tables)), sort(tolower(tableSpecs)))
# dropAllTablesFromSchema(connectionDetails, cdmDatabaseSchema)
# })
# }
}