library(patrick)
test_that("new_secret() works", {
x <- new_secret()
expect_s3_class(x, "vault_secret")
expect_length(x, 0L)
})
test_that("vec_ptype_{abbr,full} generate the correct strings", {
expect_equal(vec_ptype_abbr(new_secret()), "scrt")
expect_equal(vec_ptype_full(new_secret()), "secret")
})
test_that("is_secret() works", {
expect_true(is_secret(new_secret()))
expect_false(is_secret("plaintext"))
expect_false(is_secret(1L))
expect_false(is_secret(1))
expect_false(is_secret(TRUE))
expect_false(is_secret(NULL))
})
with_parameters_test_that(
"as_secret() works for characters",
{
expect_s3_class(as_secret(val), "vault_secret")
},
cases(
single = list(val = "abc"),
multiple = list(val = letters),
short = list(val = "a"),
long = list(val = strrep("a", 1000000L)),
spaces = list(val = " "),
ws = list(val = " \t\n"),
na = list(val = NA_character_)
)
)
with_parameters_test_that(
"as_secret() fails for non-characters",
{
expect_error(as_secret(val))
},
cases(
integer = list(val = 1L),
double = list(val = 1),
logical = list(val = TRUE)
)
)
test_that("vec_ptype2.vault_secret works for two secrets", {
expect_equal(vec_ptype2(new_secret(), new_secret()), new_secret())
})
with_parameters_test_that(
paste0(
"vec_ptype2.vault_secret.XXX and vec_ptype2.XXX.vault_secret ",
"fails where XXX != vault_secret"
),
{
expect_error(vec_ptype2(x, y))
expect_error(vec_ptype2(y, x))
},
cases(
list(x = new_secret(), y = character()),
list(x = new_secret(), y = logical()),
list(x = new_secret(), y = integer()),
list(x = new_secret(), y = double())
)
)
verify_output("test-secret-vec.txt", {
new_secret()
secret("mysecret")
secret(letters)
format(new_secret())
format(secret("mysecret"))
format(secret(letters))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.