test_that("GCE metadata server hostname is correct w.r.t. option and env var", {
withr::local_options(list(gargle.gce.use_ip = NULL))
withr::local_envvar(c(GCE_METADATA_URL = NA))
expect_equal(gce_metadata_hostname(), "metadata.google.internal")
withr::local_options(list(gargle.gce.use_ip = FALSE))
expect_equal(gce_metadata_hostname(), "metadata.google.internal")
withr::local_envvar(GCE_METADATA_URL = "some.fake.hostname")
expect_equal(gce_metadata_hostname(), "some.fake.hostname")
})
test_that("GCE metadata server IP address is correct w.r.t. option and env var", {
withr::local_options(list(gargle.gce.use_ip = TRUE))
withr::local_envvar(c(GCE_METADATA_IP = NA))
expect_equal(gce_metadata_hostname(), "169.254.169.254")
withr::local_envvar(c(GCE_METADATA_IP = "1.2.3.4"))
expect_equal(gce_metadata_hostname(), "1.2.3.4")
})
test_that("GCE metadata detection fails not on GCE", {
withr::local_envvar(GCE_METADATA_URL = "some.fake.hostname")
expect_false(is_gce())
})
test_that("Can list service accounts", {
skip_if_not(is_gce(), "Not on GCE")
service_accounts <- gce_instance_service_accounts()
expect_s3_class(service_accounts, class = "data.frame")
})
test_that("gce_timeout() works", {
withr::with_options(
list(gargle.gce.timeout = NULL),
{
expect_equal(gce_timeout(), 0.8)
expect_equal(gce_timeout(), 2)
}
)
withr::with_options(
new = list(gargle.gce.timeout = 100),
{
expect_equal(gce_timeout(), 100)
expect_equal(gce_timeout(200), 100)
expect_equal(gce_timeout(), 200)
}
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.