зеркало из https://github.com/Azure/AzureStor.git
add token auth testing
This commit is contained in:
Родитель
015c273f30
Коммит
638786bcb7
|
@ -158,6 +158,46 @@ test_that("Blob client interface works",
|
|||
})
|
||||
|
||||
|
||||
test_that("AAD authentication works",
|
||||
{
|
||||
url <- stor$get_blob_endpoint()$url
|
||||
token <- AzureRMR::get_azure_token(url, tenant=tenant, app=app, password=password)
|
||||
bl <- blob_endpoint(url, token=token)
|
||||
cont <- create_blob_container(bl, "newcontainer4")
|
||||
|
||||
# upload and download
|
||||
upload_blob(cont, "../resources/iris.csv")
|
||||
tok_dl <- file.path(tempdir(), "iris_tok.csv")
|
||||
suppressWarnings(file.remove(tok_dl))
|
||||
download_blob(cont, "iris.csv", tok_dl)
|
||||
expect_identical(readBin(orig_file, "raw", n=1e5), readBin(tok_dl, "raw", n=1e5))
|
||||
|
||||
# multiple upload and download
|
||||
files <- lapply(1:10, function(f) paste0(sample(letters, 1000, replace=TRUE), collapse=""))
|
||||
filenames <- sapply(1:10, function(n) file.path(tempdir(), sprintf("multitransfer_%d", n)))
|
||||
suppressWarnings(file.remove(filenames))
|
||||
mapply(writeLines, files, filenames)
|
||||
|
||||
multiupload_blob(cont, file.path(tempdir(), "multitransfer_*"))
|
||||
expect_warning(multiupload_blob(cont, file.path(tempdir(), "multitransfer_*"), "newnames"))
|
||||
|
||||
dest_dir <- file.path(tempdir(), "blob_multitransfer")
|
||||
suppressWarnings(unlink(dest_dir, recursive=TRUE))
|
||||
dir.create(dest_dir)
|
||||
multidownload_blob(cont, "multitransfer_*", dest_dir, overwrite=TRUE)
|
||||
|
||||
expect_true(all(sapply(filenames, function(f)
|
||||
{
|
||||
src <- readBin(f, "raw", n=1e5)
|
||||
dest <- readBin(file.path(dest_dir, basename(f)), "raw", n=1e5)
|
||||
identical(src, dest)
|
||||
})))
|
||||
|
||||
delete_blob_container(cont)
|
||||
expect_true(is_empty(list_blob_containers(bl)))
|
||||
})
|
||||
|
||||
|
||||
teardown(
|
||||
{
|
||||
bl <- stor$get_blob_endpoint()
|
||||
|
|
|
@ -151,6 +151,48 @@ test_that("ADLSgen2 client interface works",
|
|||
})
|
||||
|
||||
|
||||
|
||||
test_that("AAD authentication works",
|
||||
{
|
||||
url <- stor$get_adls_endpoint()$url
|
||||
token <- AzureRMR::get_azure_token(url, tenant=tenant, app=app, password=password)
|
||||
ad <- adls_endpoint(url, token=token)
|
||||
fs <- create_adls_filesystem(ad, "newfs4")
|
||||
|
||||
# upload and download
|
||||
upload_adls_file(fs, "../resources/iris.csv")
|
||||
tok_dl <- file.path(tempdir(), "iris_tok.csv")
|
||||
suppressWarnings(file.remove(tok_dl))
|
||||
download_adls_file(fs, "iris.csv", tok_dl)
|
||||
expect_identical(readBin(orig_file, "raw", n=1e5), readBin(tok_dl, "raw", n=1e5))
|
||||
|
||||
# multiple upload and download
|
||||
files <- lapply(1:10, function(f) paste0(sample(letters, 1000, replace=TRUE), collapse=""))
|
||||
filenames <- sapply(1:10, function(n) file.path(tempdir(), sprintf("multitransfer_%d", n)))
|
||||
suppressWarnings(file.remove(filenames))
|
||||
mapply(writeLines, files, filenames)
|
||||
|
||||
multiupload_adls_file(fs, file.path(tempdir(), "multitransfer_*"))
|
||||
expect_warning(multiupload_adls_file(fs, file.path(tempdir(), "multitransfer_*"), "newnames"))
|
||||
|
||||
dest_dir <- file.path(tempdir(), "adls_multitransfer")
|
||||
suppressWarnings(unlink(dest_dir, recursive=TRUE))
|
||||
dir.create(dest_dir)
|
||||
multidownload_adls_file(fs, "multitransfer_*", dest_dir, overwrite=TRUE)
|
||||
|
||||
expect_true(all(sapply(filenames, function(f)
|
||||
{
|
||||
src <- readBin(f, "raw", n=1e5)
|
||||
dest <- readBin(file.path(dest_dir, basename(f)), "raw", n=1e5)
|
||||
identical(src, dest)
|
||||
})))
|
||||
|
||||
delete_adls_filesystem(fs)
|
||||
expect_true(is_empty(list_adls_filesystems(ad)))
|
||||
})
|
||||
|
||||
|
||||
|
||||
teardown(
|
||||
{
|
||||
ad <- stor$get_adls_endpoint()
|
||||
|
|
Загрузка…
Ссылка в новой задаче