tenant <- Sys.getenv("AZ_TEST_TENANT_ID") app <- Sys.getenv("AZ_TEST_NATIVE_APP_ID") team_name <- Sys.getenv("AZ_TEST_TEAM_NAME") team_id <- Sys.getenv("AZ_TEST_TEAM_ID") mention_name <- Sys.getenv("AZ_TEST_CHANNEL_MENTION_NAME") if(tenant == "" || app == "" || team_name == "" || team_id == "" || mention_name == "") skip("Channel tests skipped: Microsoft Graph credentials not set") if(Sys.getenv("AZ_TEST_CHANNEL_FLAG") == "") skip("Channel tests skipped: flag not set") if(!interactive()) skip("Channel tests skipped: must be in interactive session") tok <- get_test_token(tenant, app, c("Group.ReadWrite.All", "Directory.Read.All")) if(is.null(tok)) skip("Channel tests skipped: no access to tenant") team <- try(call_graph_endpoint(tok, file.path("teams", team_id)), silent=TRUE) if(inherits(team, "try-error")) skip("Channel tests skipped: service not available") team <- ms_team$new(tok, tenant, team) channel_name <- sprintf("Test channel %s", make_name(10)) test_that("Channel methods work", { expect_is(team, "ms_team") expect_error(team$get_channel(channel_name=channel_name)) chan <- team$create_channel(channel_name, description="Temporary testing channel", membership="private") expect_is(chan, "ms_channel") expect_false(inherits(chan$properties, "xml_document")) Sys.sleep(10) folder <- chan$get_folder() expect_is(folder, "ms_drive_item") lst <- chan$list_messages() expect_is(lst, "list") expect_identical(length(lst), 0L) msg_body <- sprintf("Test message: %s", make_name(5)) msg <- chan$send_message(msg_body) expect_is(msg, "ms_chat_message") msg2_body <- sprintf("
Test message: %s