Nothing
context("RBAC")
tenant <- Sys.getenv("AZ_TEST_TENANT_ID")
app <- Sys.getenv("AZ_TEST_APP_ID")
password <- Sys.getenv("AZ_TEST_PASSWORD")
subscription <- Sys.getenv("AZ_TEST_SUBSCRIPTION")
newsvc_id <- Sys.getenv("AZ_TEST_SVC_PRINCIPAL_ID")
if(tenant == "" || app == "" || password == "" || subscription == "" || newsvc_id == "")
skip("RBAC method tests skipped: ARM credentials not set")
az <- az_rm$new(tenant, app, password)
sub <- az$get_subscription(subscription)
rgname <- paste(sample(letters, 20, replace=TRUE), collapse="")
test_that("Subscription RBAC works",
{
defs <- sub$list_role_definitions()
expect_is(defs, "data.frame")
defs_lst <- sub$list_role_definitions(as_data_frame=FALSE)
expect_is(defs_lst, "list")
expect_true(all(sapply(defs_lst, is_role_definition)))
asns <- sub$list_role_assignments()
expect_is(asns, "data.frame")
asns_lst <- sub$list_role_assignments(as_data_frame=FALSE)
expect_is(asns_lst, "list")
expect_true(all(sapply(asns_lst, is_role_assignment)))
asn <- sub$add_role_assignment(newsvc_id, "reader")
expect_true(is_role_assignment(asn))
newasns <- sub$list_role_assignments()
expect_true(newsvc_id %in% newasns$principal)
expect_silent(sub$remove_role_assignment(asn$name, confirm=FALSE))
})
test_that("Resource group RBAC works",
{
expect_false(sub$resource_group_exists(rgname))
rg <- sub$create_resource_group(rgname, location="australiaeast")
defs <- rg$list_role_definitions()
expect_is(defs, "data.frame")
defs_lst <- rg$list_role_definitions(as_data_frame=FALSE)
expect_is(defs_lst, "list")
expect_true(all(sapply(defs_lst, is_role_definition)))
asns <- sub$list_role_assignments()
expect_is(asns, "data.frame")
asns_lst <- rg$list_role_assignments(as_data_frame=FALSE)
expect_is(asns_lst, "list")
expect_true(all(sapply(asns_lst, is_role_assignment)))
asn <- rg$add_role_assignment(newsvc_id, "contributor")
expect_true(is_role_assignment(asn))
expect_silent(rg$remove_role_assignment(asn$name, confirm=FALSE))
})
test_that("Resource RBAC works",
{
restype <- "Microsoft.Storage/storageAccounts"
resname <- paste(sample(letters, 20, replace=TRUE), collapse="")
rg <- sub$get_resource_group(rgname)
res <- rg$create_resource(type=restype, name=resname,
kind="StorageV2",
sku=list(name="Standard_LRS", tier="Standard"),
properties=list(
accessTier="hot",
supportsHttpsTrafficOnly=TRUE,
isHnsEnabled=FALSE
),
wait=TRUE)
defs <- res$list_role_definitions()
expect_is(defs, "data.frame")
defs_lst <- res$list_role_definitions(as_data_frame=FALSE)
expect_is(defs_lst, "list")
expect_true(all(sapply(defs_lst, is_role_definition)))
asns <- sub$list_role_assignments()
expect_is(asns, "data.frame")
asns_lst <- res$list_role_assignments(as_data_frame=FALSE)
expect_is(asns_lst, "list")
expect_true(all(sapply(asns_lst, is_role_assignment)))
asn <- res$add_role_assignment(newsvc_id, "owner")
expect_true(is_role_assignment(asn))
expect_silent(res$remove_role_assignment(asn$name, confirm=FALSE))
})
sub$delete_resource_group(rgname, confirm=FALSE)
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.