Nothing
test_that("Volumes initialization works", {
# Resource object creation works
testthat::expect_no_error(Volumes$new(auth = setup_auth_object))
# Resource object class and methods are set
checkmate::assert_r6(
setup_volumes_obj,
classes = c("Resource", "Volumes"),
public = c(
"URL", "query", "get",
"create_s3_using_iam_user", "create_s3_using_iam_role",
"create_google_using_iam_user", "create_google_using_iam_role",
"create_azure", "create_ali_oss"
)
)
})
test_that("Volumes get() throws error when needed", {
# Setup test parameters for test
test_no_id <- list(id = NULL)
test_bad_id <- list(id = 1)
# Get fails when no id is provided
testthat::expect_error(do.call(setup_volumes_obj$get, test_no_id))
# Get fails when bad id is provided
testthat::expect_error(do.call(setup_volumes_obj$get, test_bad_id))
})
test_that("Volumes delete() throws error when needed", {
# Setup test parameters for test
test_no_volume <- list(volume = NULL)
test_bad_volume <- list(volume = 1)
# Get fails when no id is provided
testthat::expect_error(do.call(setup_volumes_obj$delete, test_no_volume))
# Get fails when bad id is provided
testthat::expect_error(do.call(setup_volumes_obj$delete, test_bad_volume))
})
test_that("Creating AWS volumes with IAM User type throws error when needed", {
# Pass no args
testthat::expect_error(setup_volumes_obj$create_s3_using_iam_user())
# Pass args as regular function params, but don't pass credentials
main_args <- list(
name = "volume_name",
bucket = "bucket_name",
prefix = "",
access_mode = "RW",
description = NULL,
properties = list("some-property" = "value"),
endpoint = "some-endpoint"
)
testthat::expect_error(do.call(
setup_volumes_obj$create_s3_using_iam_user,
main_args
))
# Pass args as regular function params, but don't pass access_key_id
testthat::expect_error(do.call(
setup_volumes_obj$create_s3_using_iam_user,
append(
main_args,
list(secret_access_key = "secret-key")
)
)) # nolint
# Pass args as regular function params, but don't pass secret_access_key
testthat::expect_error(do.call(
setup_volumes_obj$create_s3_using_iam_user,
append(
main_args,
list(access_key_id = "some-key")
)
))
# Pass from_path as non-string type
test_invalid_path <- 123
# Pass from_path as non-existing
test_bad_path <- file.path("some", "nonexisting", "path")
# create_s3_using_iam_user fails when invalid path is provided
testthat::expect_error(
setup_volumes_obj$create_s3_using_iam_user(from_path = test_invalid_path)
)
testthat::expect_error(
setup_volumes_obj$create_s3_using_iam_user(from_path = test_bad_path)
)
# Pass from_path as path to json that doesn't contain credentials parameters
no_creds_json <- testthat::test_path(
"test_data",
"aws_iam_user_test_no_creds.json"
)
testthat::expect_error(
setup_volumes_obj$create_s3_using_iam_user(from_path = no_creds_json)
)
# Pass from_path as path to json that doesn't contain one of creds parameters
not_all_creds_json <- testthat::test_path(
"test_data",
"aws_iam_user_test_not_all_creds.json"
)
testthat::expect_error(
setup_volumes_obj$create_s3_using_iam_user(from_path = not_all_creds_json)
)
})
test_that("Creating AWS volumes with IAM Role type throws error when needed", {
# Pass no args
testthat::expect_error(setup_volumes_obj$create_s3_using_iam_role())
# Pass args as regular function params, but don't pass credentials
main_args <- list(
name = "volume_name",
bucket = "bucket_name",
prefix = "",
access_mode = "RW",
description = NULL,
properties = list("some-property" = "value"),
endpoint = "some-endpoint"
)
testthat::expect_error(do.call(
setup_volumes_obj$create_s3_using_iam_role,
main_args
))
# Pass args as regular function params, but don't pass role_arn
testthat::expect_error(do.call(
setup_volumes_obj$create_s3_using_iam_role,
append(
main_args,
list(external_id = "external_id-key")
)
)) # nolint
# Pass args as regular function params, but don't pass external_id
testthat::expect_error(do.call(
setup_volumes_obj$create_s3_using_iam_role,
append(
main_args,
list(role_arn = "role_arn-key")
)
))
# Pass from_path as non-string type
test_invalid_path <- 123
# Pass from_path as non-existing
test_bad_path <- file.path("some", "nonexisting", "path")
# create_s3_using_iam_role fails when invalid path is provided
testthat::expect_error(
setup_volumes_obj$create_s3_using_iam_role(from_path = test_invalid_path)
)
testthat::expect_error(
setup_volumes_obj$create_s3_using_iam_role(from_path = test_bad_path)
)
# Pass from_path as path to json that doesn't contain credentials parameters
no_creds_json <- testthat::test_path(
"test_data",
"aws_iam_role_test_no_creds.json"
)
testthat::expect_error(
setup_volumes_obj$create_s3_using_iam_role(from_path = no_creds_json)
)
# Pass from_path as path to json that doesn't contain one of creds parameters
not_all_creds_json <- testthat::test_path(
"test_data",
"aws_iam_role_test_not_all_creds.json"
)
testthat::expect_error(
setup_volumes_obj$create_s3_using_iam_role(from_path = not_all_creds_json)
)
})
test_that("Creating GC volumes with IAM User type throws error when needed", {
# Pass no args
testthat::expect_error(setup_volumes_obj$create_google_using_iam_user())
# Pass args as regular function params, but don't pass credentials
main_args <- list(
name = "volume_name",
bucket = "bucket_name",
prefix = "",
access_mode = "RW",
description = NULL,
properties = list("some-property" = "value"),
root_url = "some-endpoint"
)
testthat::expect_error(do.call(
setup_volumes_obj$create_google_using_iam_user, # nolint
main_args
))
# Pass args as regular function params, but don't pass private_key
testthat::expect_error(do.call(
setup_volumes_obj$create_google_using_iam_user,
append(
main_args,
list(client_email = "client_email")
)
)) # nolint
# Pass args as regular function params, but don't pass client_email
testthat::expect_error(do.call(
setup_volumes_obj$create_google_using_iam_user,
append(
main_args,
list(private_key = "some-private_key")
)
))
# Pass from_path as non-string type
test_invalid_path <- 123
# Pass from_path as non-existing
test_bad_path <- file.path("some", "nonexisting", "path")
# create_google_using_iam_user fails when invalid path is provided
testthat::expect_error(
setup_volumes_obj$create_google_using_iam_user(from_path = test_invalid_path) # nolint
)
testthat::expect_error(
setup_volumes_obj$create_google_using_iam_user(from_path = test_bad_path)
)
# Pass from_path as path to json that doesn't contain credentials parameters
no_creds_json <- testthat::test_path(
"test_data",
"gc_iam_user_test_no_creds.json"
)
testthat::expect_error(
setup_volumes_obj$create_google_using_iam_user(from_path = no_creds_json)
)
# Pass from_path as path to json that doesn't contain one of creds parameters
not_all_creds_json <- testthat::test_path(
"test_data",
"gc_iam_user_test_not_all_creds.json"
)
testthat::expect_error(
setup_volumes_obj$create_google_using_iam_user(from_path = not_all_creds_json) # nolint
)
})
test_that("Creating GC volumes with IAM Role type throws error when needed", {
# Pass no args
testthat::expect_error(setup_volumes_obj$create_google_using_iam_role())
# Pass args as regular function params, but don't pass configuration
main_args <- list(
name = "volume_name",
bucket = "bucket_name",
prefix = "",
access_mode = "RW",
description = NULL,
properties = list("some-property" = "value"),
root_url = "some-endpoint"
)
testthat::expect_error(do.call(
setup_volumes_obj$create_google_using_iam_role, # nolint
main_args
))
# Pass from_path as non-string type
test_invalid_path <- 123
# Pass from_path as non-existing
test_bad_path <- file.path("some", "nonexisting", "path")
# create_google_using_iam_role fails when invalid path is provided
testthat::expect_error(
setup_volumes_obj$create_google_using_iam_role(from_path = test_invalid_path) # nolint
)
testthat::expect_error(
setup_volumes_obj$create_google_using_iam_role(from_path = test_bad_path)
)
# Pass from_path as path to json that doesn't contain credentials parameters
no_creds_json <- testthat::test_path(
"test_data",
"gc_iam_role_test_no_creds.json"
)
testthat::expect_error(
setup_volumes_obj$create_google_using_iam_role(from_path = no_creds_json),
regexp = "Configuration parameter within credentials is mandatory. \n Please provide a path to JSON configuration file or a named list containing all configuration values.", # nolint
fixed = TRUE
)
# Pass from_path as path to json that contains invalid path
config_path_invalid_json <- testthat::test_path(
"test_data",
"gc_iam_role_test_config_path_invalid.json"
)
testthat::expect_error(
setup_volumes_obj$create_google_using_iam_role(from_path = config_path_invalid_json) # nolint
)
# Pass from_path as path to json that contains invalid params
config_path_invalid_json <- testthat::test_path(
"test_data",
"gc_iam_role_test_config_path_invalid_list.json"
)
testthat::expect_error(
setup_volumes_obj$create_google_using_iam_role(from_path = config_path_invalid_json) # nolint
)
})
test_that("Creating Azure volumes throws error when needed", {
# Pass no args
testthat::expect_error(setup_volumes_obj$create_azure())
# Pass args as regular function params, but don't pass credentials
# and resource_id
main_args <- list(
name = "volume_name",
description = NULL,
endpoint = "some-endpoint",
storage_account = "some-account",
container = "bucket_name",
prefix = ""
)
testthat::expect_error(do.call(
setup_volumes_obj$create_azure,
main_args
))
# Pass args as regular function params, but pass only tenant_id cred.param
testthat::expect_error(do.call(
setup_volumes_obj$create_azure,
append(
main_args,
list(tenant_id = "tenant_id")
)
))
# Pass args as regular function params, but pass only tenant_id and client_id
# cred.params
testthat::expect_error(do.call(
setup_volumes_obj$create_azure,
append(
main_args,
list(tenant_id = "tenant_id", client_id = "some-client_id")
)
))
# Pass args as regular function params with credentials, but don't pass
# resource_id
testthat::expect_error(do.call(
setup_volumes_obj$create_azure,
append(
main_args,
list(
tenant_id = "tenant_id",
client_id = "some-client_id",
client_secret = "client_secret_key"
)
)
))
# Pass from_path as non-string type
test_invalid_path <- 123
# Pass from_path as non-existing
test_bad_path <- file.path("some", "nonexisting", "path")
# create_azure fails when invalid path is provided
testthat::expect_error(
setup_volumes_obj$create_azure(from_path = test_invalid_path)
)
testthat::expect_error(
setup_volumes_obj$create_azure(from_path = test_bad_path)
)
# Pass from_path as path to json that doesn't contain credentials parameters
no_creds_json <- testthat::test_path(
"test_data",
"azure_test_no_creds.json"
)
testthat::expect_error(
setup_volumes_obj$create_azure(from_path = no_creds_json)
)
# Pass from_path as path to json that doesn't contain one of creds parameters
not_all_creds_json <- testthat::test_path(
"test_data",
"azure_test_not_all_creds.json"
)
testthat::expect_error(
setup_volumes_obj$create_azure(from_path = not_all_creds_json)
)
# Pass from_path as path to json that doesn't contain properties param
no_properties_json <- testthat::test_path(
"test_data",
"azure_test_no_properties.json"
)
testthat::expect_error(
setup_volumes_obj$create_azure(from_path = no_properties_json)
)
})
test_that("Creating Ali cloud volumes throws error when needed", {
# Pass no args
testthat::expect_error(setup_volumes_obj$create_ali_oss())
# Pass args as regular function params, but don't pass credentials
main_args <- list(
name = "volume_name",
description = NULL,
endpoint = "some-endpoint",
bucket = "bucket_name",
prefix = ""
)
testthat::expect_error(do.call(
setup_volumes_obj$create_ali_oss,
main_args
))
# Pass args as regular function params, but don't pass access_key_id
testthat::expect_error(do.call(
setup_volumes_obj$create_ali_oss,
append(
main_args,
list(secret_access_key = "secret_access_key")
)
))
# Pass args as regular function params, but don't pass secret_access_key
testthat::expect_error(do.call(
setup_volumes_obj$create_ali_oss,
append(
main_args,
list(access_key_id = "some-key")
)
))
# Pass from_path as non-string type
test_invalid_path <- 123
# Pass from_path as non-existing
test_bad_path <- file.path("some", "nonexisting", "path")
# create_ali_oss fails when invalid path is provided
testthat::expect_error(
setup_volumes_obj$create_ali_oss(from_path = test_invalid_path)
)
testthat::expect_error(
setup_volumes_obj$create_ali_oss(from_path = test_bad_path)
)
# Pass from_path as path to json that doesn't contain credentials parameters
no_creds_json <- testthat::test_path(
"test_data",
"ali_oss_test_no_creds.json"
)
testthat::expect_error(
setup_volumes_obj$create_ali_oss(from_path = no_creds_json)
)
# Pass from_path as path to json that doesn't contain one of creds parameters
not_all_creds_json <- testthat::test_path(
"test_data",
"ali_oss_test_not_all_creds.json"
)
testthat::expect_error(
setup_volumes_obj$create_ali_oss(from_path = not_all_creds_json)
)
})
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.