Nothing
library(testthat)
for (testServer in testServers) {
test_that(addDbmsToLabel("Open and close connection", testServer), {
connection <- connect(testServer$connectionDetails)
expect_true(inherits(connection, "DatabaseConnectorConnection"))
expect_equal(dbms(connection), testServer$connectionDetails$dbms)
expect_true(disconnect(connection))
})
}
for (testServer in testServers) {
if (!is.null(testServer$connectionDetails2)) {
test_that(addDbmsToLabel("Open and close connection using secondary details", testServer), {
connection <- connect(testServer$connectionDetails2)
expect_true(inherits(connection, "DatabaseConnectorConnection"))
expect_equal(dbms(connection), testServer$connectionDetails2$dbms)
expect_true(disconnect(connection))
})
}
}
test_that("Error is thrown when using incorrect dbms argument", {
expect_error(createConnectionDetails(dbms = "foobar"), "DBMS 'foobar' not supported")
expect_error(connect(dbms = "foobar"), "DBMS 'foobar' not supported")
})
test_that("getAvailableJavaHeapSpace returns a positive number", {
expect_gt(getAvailableJavaHeapSpace(), 0)
})
test_that("Error is thrown when forgetting password", {
details <- createConnectionDetails(
dbms = "postgresql",
user = Sys.getenv("CDM5_POSTGRESQL_USER"),
server = Sys.getenv("CDM5_POSTGRESQL_SERVER")
)
expect_error(connection <- connect(details), "Connection propery 'password' is NULL")
})
test_that("dbms function maps DBI connections to correct SQL dialect", {
mappings <- c(
'Microsoft SQL Server' = 'sql server',
'PqConnection' = 'postgresql',
'RedshiftConnection' = 'redshift',
'BigQueryConnection' = 'bigquery',
'SQLiteConnection' = 'sqlite',
'duckdb_connection' = 'duckdb')
for(i in seq_along(mappings)) {
driver <- names(mappings)[i]
dialect <- unname(mappings)[i]
mockConstructor <- setClass(driver, contains = "DBIConnection")
mockConnection <- mockConstructor()
expect_equal(dbms(mockConnection), dialect)
}
})
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.