Skip to content

Commit

Permalink
Improved various tests.
Browse files Browse the repository at this point in the history
- Added extra test for excluding ..* in listings.
- Fixed tests for uploading directly from the staging directory.
- Added dedicated tests for serviceInfo, versionPath.
  • Loading branch information
LTLA committed Apr 23, 2024
1 parent ea1b0bc commit 3674f5b
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 3 deletions.
5 changes: 5 additions & 0 deletions tests/testthat/test-list.R
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@ test_that("listFiles works as expected", {
rfiles <- sort(listFiles("test", "list", "v1", registry=info$registry, url=info$url, forceRemote=TRUE))
expect_identical(files, rfiles)

files <- sort(listFiles("test", "list", "v1", registry=info$registry, url=info$url, include..=FALSE))
expect_identical(files, sort(c("foo", "whee/blah", "whee2")))
rfiles <- sort(listFiles("test", "list", "v1", registry=info$registry, url=info$url, include..=FALSE, forceRemote=TRUE))
expect_identical(files, rfiles)

files <- sort(listFiles("test", "list", "v1", registry=info$registry, url=info$url, prefix="whee"))
expect_identical(files, sort(c("whee/blah", "whee2")))
rfiles <- sort(listFiles("test", "list", "v1", registry=info$registry, url=info$url, forceRemote=TRUE, prefix="whee"))
Expand Down
10 changes: 10 additions & 0 deletions tests/testthat/test-serviceInfo.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# This checks the serviceInfo getter.
# library(gobbler); library(testthat); source("test-serviceInfo.R")

info <- startGobbler()

test_that("serviceInfo works correctly", {
deets <- serviceInfo(url=info$url)
expect_identical(deets$staging, info$staging)
expect_identical(deets$registry, info$registry)
})
8 changes: 5 additions & 3 deletions tests/testthat/test-upload.R
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ test_that("upload works as expected for links", {
expect_null(man[["whee"]]$link)
})

test_that("upload works as expected for new versions", {
test_that("upload works directly from the staging directory", {
dir <- allocateUploadDirectory(info$staging)
write(file=file.path(dir, "blah.txt"), LETTERS)
write(file=file.path(dir, "blah.txt"), letters)
dir.create(file.path(dir, "foo"))
write(file=file.path(dir, "foo", "bar.txt"), 1:10)

Expand All @@ -81,6 +81,8 @@ test_that("upload works as expected for new versions", {
url=info$url
)

man <- fetchManifest("test-upload", "jennifer", "1", registry=info$registry)
man <- fetchManifest("test-upload", "jennifer", "3", registry=info$registry)
expect_identical(sort(names(man)), c("blah.txt", "foo/bar.txt"))
expect_null(man[["blah.txt"]]$link)
expect_false(is.null(man[["foo/bar.txt"]]$link))
})
33 changes: 33 additions & 0 deletions tests/testthat/test-versionPath.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# This tests the upload functions.
# library(testthat); library(gobbler); source("test-versionPath.R")

info <- startGobbler()
removeProject("test", staging=info$staging, url=info$url)
createProject("test", staging=info$staging, url=info$url)

tmp <- tempfile()
dir.create(tmp)
write(file=file.path(tmp, "blah.txt"), LETTERS, ncol=1)
dir.create(file.path(tmp, "foo"))
write(file=file.path(tmp, "foo", "bar.txt"), 1:10, ncol=1)

uploadDirectory(
project="test",
asset="annarose",
version="v1",
directory=tmp,
staging=info$staging,
url=info$url
)

test_that("versionPath works as expected", {
out <- versionPath("test", "annarose", "v1", registry=info$registry, url=info$url)
expect_identical(out, file.path(info$registry, "test", "annarose", "v1"))
expect_identical(readLines(file.path(out, "blah.txt")), LETTERS)

cache <- tempfile()
out <- versionPath("test", "annarose", "v1", registry=info$registry, url=info$url, cache=cache, forceRemote=TRUE)
expect_true(startsWith(out, cache))
expect_true(endsWith(out, file.path("test", "annarose", "v1")))
expect_identical(readLines(file.path(out, "foo", "bar.txt")), as.character(1:10))
})

0 comments on commit 3674f5b

Please sign in to comment.