test_that("gargle_oauth_client() rejects bad input", {
expect_snapshot(error = TRUE, gargle_oauth_client())
expect_snapshot(error = TRUE, gargle_oauth_client(1234))
expect_snapshot(error = TRUE, gargle_oauth_client(id = "ID"))
expect_snapshot(error = TRUE, gargle_oauth_client(id = "ID", secret = 1234))
expect_snapshot(
error = TRUE,
gargle_oauth_client("ID", "SECRET", type = "nope")
)
})
test_that("gargle_oauth_client() has special handling for web clients", {
expect_snapshot(
error = TRUE,
gargle_oauth_client("ID", "SECRET", type = "web")
)
expect_snapshot(
gargle_oauth_client(
"ID", "SECRET", type = "web",
redirect_uris = c(
"http://localhost:8111/",
"http://127.0.0.1:8100/",
"https://example.com/aaa/bbb/v"
)
)
)
})
test_that("service account JSON throws an informative error", {
expect_snapshot(
error = TRUE,
gargle_oauth_client_from_json(
test_path("fixtures", "service-account-token.json")
)
)
})
# deprecated functions ----
test_that("oauth app from JSON", {
withr::local_options(lifecycle_verbosity = "quiet")
oa <- oauth_app_from_json(
fs::path_package("gargle", "extdata", "client_secret_installed.googleusercontent.com.json")
)
expect_s3_class(oa, "oauth_app")
expect_match(oa$appname, "^a_project")
expect_equal(oa$secret, "ssshh-i-am-a-secret")
expect_equal(oa$key, "abc.apps.googleusercontent.com")
oa <- oauth_app_from_json(
fs::path_package("gargle", "extdata", "client_secret_web.googleusercontent.com.json")
)
expect_s3_class(oa, "oauth_app")
expect_match(oa$appname, "^a_project")
expect_equal(oa$secret, "ssshh-i-am-a-secret")
expect_equal(oa$key, "abc.apps.googleusercontent.com")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.