context("Access rules")
mn <- tryCatch(env_load()$mn, error = function(e) env_load()$mn)
test_that("get_package works for a simple package", {
if (!is_token_set(mn)) {
skip("No token set. Skipping test.")
}
pkg <- create_dummy_package(mn)
Sys.sleep(1)
get_pkg <- get_package(mn, pkg$resource_map)
expect_true(pkg$metadata == get_pkg$metadata)
expect_true(pkg$resource_map == get_pkg$resource_map)
expect_true(pkg$data == get_pkg$data)
expect_warning(get_package(mn, pkg$metadata))
})
test_that("get_package works for a package with a child package", {
if (!is_token_set(mn)) {
skip("No token set. Skipping test.")
}
pkg <- create_dummy_package(mn)
child_pkg <- create_dummy_package(mn)
updated_resource_map <- update_resource_map(mn,
resource_map_pid = pkg$resource_map,
metadata_pid = pkg$metadata,
data_pids = pkg$data,
child_pids = child_pkg$resource_map,
check_first = FALSE)
suppressWarnings({
get_pkg <- get_package(mn, pkg$metadata)
})
expect_true(pkg$metadata == get_pkg$metadata)
expect_true(pkg$resource_map != get_pkg$resource_map)
expect_true(pkg$data == get_pkg$data)
expect_true(get_pkg$child_packages == child_pkg$resource_map)
})
test_that("get_package works for an object in two packages", {
if (!is_token_set(mn)) {
skip("No token set. Skipping test.")
}
child_pkg <- create_dummy_package(mn)
second_resmap <- create_resource_map(mn, metadata_pid = child_pkg$metadata, check_first = FALSE)
suppressWarnings({
pkg <- get_package(mn, child_pkg$metadata)
})
expect_length(pkg, 4)
})
test_that("get_package works the same when given a metadata pid as it does when given a resource map pid", {
if (!is_token_set(mn)) {
skip("No token set. Skipping test.")
}
child_pkg <- create_dummy_package(mn)
a <- suppressWarnings(get_package(mn, child_pkg$metadata))
b <- get_package(mn, child_pkg$resource_map)
expect_equivalent(a, b)
})
test_that("access functions stop if system metadata is not found", {
expect_error(set_rights_holder(mn, "test", "http://orcid.org/0000-000X-XXXX-XXXX"))
expect_error(set_access(mn, "test", "http://orcid.org/0000-000X-XXXX-XXXX"))
expect_error(remove_access(mn, "test", "http://orcid.org/0000-000X-XXXX-XXXX"))
expect_error(set_public_read(mn, "test"))
expect_error(remove_public_read(mn, "test"))
expect_error(set_rights_and_access(mn, "test", "http://orcid.org/0000-000X-XXXX-XXXX"))
})
test_that("is_public_read returns true for public packages and false for private packages", {
if (!is_token_set(mn)) {
skip("No token set. Skipping test.")
}
pkg <- create_dummy_package(mn)
public_response <- is_public_read(mn, pkg$resource_map)
remove_public_read(mn, pkg$resource_map)
private_response <- is_public_read(mn, pkg$resource_map)
expect_true(public_response)
expect_false(private_response)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.