Nothing
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
# - - - - - - - - - - - - - - - - - ERRORS - - - - - - - - - - - - - - - - - #
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
test_that("safe_data fails when attempt calling function with invalid class", {
expect_error(
dsROCrate::safe_data(structure(list(), class = "InvalidClass"))
)
})
test_that("safe_data fails when attempt calling with invalid connection", {
# setup
## create basic RO-Crate
basic_rocrate <- rocrateR::rocrate_5s()
expect_error(
basic_rocrate |>
dsROCrate::safe_data(connection = NULL)
)
})
test_that("safe_data fails when attempt adding invalid project", {
# setup
## open connection to OBiBa's Opal demo server
opal_con <- opal_demo_con()
## create basic RO-Crate
basic_rocrate <- rocrateR::rocrate_5s()
expect_error(
basic_rocrate |>
dsROCrate::safe_data(project = "Invalid Project", connection = opal_con)
)
# close connection to OBiBa's Opal demo server
opalr::opal.logout(opal_con)
})
test_that("safe_data fails when attempt calling without a project", {
# setup
## open connection to OBiBa's Opal demo server
opal_con <- opal_demo_con()
## create basic RO-Crate
basic_rocrate <- rocrateR::rocrate_5s()
expect_error(
basic_rocrate |>
dsROCrate::safe_data(connection = opal_con)
)
# close connection to OBiBa's Opal demo server
opalr::opal.logout(opal_con)
})
test_that("safe_data fails when attempt calling with project = NULL", {
# setup
## open connection to OBiBa's Opal demo server
opal_con <- opal_demo_con()
## create basic RO-Crate
basic_rocrate <- rocrateR::rocrate_5s()
expect_error(
basic_rocrate |>
dsROCrate::safe_data(connection = opal_con, project = NULL)
)
# close connection to OBiBa's Opal demo server
opalr::opal.logout(opal_con)
})
test_that("safe_data fails when attempt calling with multiple projects", {
# setup
## open connection to OBiBa's Opal demo server
opal_con <- opal_demo_con()
## create basic RO-Crate
basic_rocrate <- rocrateR::rocrate_5s()
expect_error(
basic_rocrate |>
dsROCrate::safe_data(connection = opal_con, project = c("A", "B"))
)
# close connection to OBiBa's Opal demo server
opalr::opal.logout(opal_con)
})
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
# - - - - - - - - - - - - - - - - - VALID - - - - - - - - - - - - - - - - - #
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
test_that("safe_data works", {
# open connection to OBiBa's Opal demo server
opal_con <- opal_demo_con()
basic_rocrate <- rocrateR::rocrate_5s()
# add all datasets for a valid project
basic_rocrate_2 <- basic_rocrate |>
dsROCrate::safe_data(
project = attr(opal_con, "PROJECT"),
connection = opal_con
)
## extract datasets
basic_rocrate_2_sd <- basic_rocrate_2 |>
.get_entity(type = "Dataset")
## extract datasets' names
basic_rocrate_2_sd_names <- basic_rocrate_2_sd |>
sapply(getElement, name = "name")
## verify that CNSIM1, CNSIM2 and CNSIM3 are part in the crate
expect_true(all(
c("CNSIM1", "CNSIM2", "CNSIM3") %in% basic_rocrate_2_sd_names
))
# add specific datasets for a valid project
basic_rocrate_3 <- basic_rocrate |>
dsROCrate::safe_data(
project = attr(opal_con, "PROJECT"),
tables = attr(opal_con, "TABLES"),
connection = opal_con
)
## extract datasets
basic_rocrate_3_sd <- basic_rocrate_3 |>
.get_entity(type = "Dataset")
## verify the length of the datasets is equal to 1 + 1 (root directory)
expect_equal(length(basic_rocrate_3_sd), 2)
basic_rocrate_4 <- basic_rocrate |>
dsROCrate::safe_data(
project = attr(opal_con, "PROJECT"),
connection = opal_con,
user = "dsuser"
)
## extract datasets
basic_rocrate_4_sd <- basic_rocrate_4 |>
.get_entity(type = "Dataset")
## extract datasets' names
basic_rocrate_4_sd_names <- basic_rocrate_4_sd |>
sapply(getElement, name = "name")
## verify that CNSIM1, CNSIM2 and CNSIM3 are part in the crate
expect_true(all(
c("CNSIM1", "CNSIM2", "CNSIM3") %in% basic_rocrate_4_sd_names
))
# close connection to OBiBa's Opal demo server
opalr::opal.logout(opal_con)
})
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.