test_that(paste("constructor creates file tree from text content",
"retreived form REST service"), {
-
- collectionContent <- c("animal",
- "animal/fish",
- "ball")
+ collectionContent <- c("animal", "animal/fish", "ball")
fakeREST <- FakeRESTService$new(collectionContent)
- api <- Arvados$new("myToken", "myHostName")
- api$setRESTService(fakeREST)
- collection <- Collection$new(api, "myUUID")
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
root <- collection$get("")
test_that(paste("add raises exception if passed argumet is not",
"ArvadosFile or Subcollection"), {
- collectionContent <- c("animal",
- "animal/fish",
- "ball")
+ collectionContent <- c("animal", "animal/fish", "ball")
fakeREST <- FakeRESTService$new(collectionContent)
- api <- Arvados$new("myToken", "myHostName")
- api$setRESTService(fakeREST)
- collection <- Collection$new(api, "myUUID")
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
newNumber <- 10
test_that("add raises exception if relative path is not valid", {
- collectionContent <- c("animal",
- "animal/fish",
- "ball")
+ collectionContent <- c("animal", "animal/fish", "ball")
fakeREST <- FakeRESTService$new(collectionContent)
- api <- Arvados$new("myToken", "myHostName")
- api$setRESTService(fakeREST)
- collection <- Collection$new(api, "myUUID")
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
newPen <- ArvadosFile$new("pen")
fixed = TRUE))
})
+test_that("add raises exception if content name is empty string", {
+
+ collectionContent <- c("animal", "animal/fish")
+ fakeREST <- FakeRESTService$new(collectionContent)
+
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
+
+ rootFolder <- Subcollection$new("")
+
+ expect_that(collection$add(rootFolder),
+ throws_error("Content has invalid name.", fixed = TRUE))
+})
+
test_that(paste("add adds ArvadosFile or Subcollection",
"to local tree structure and remote REST service"), {
- collectionContent <- c("animal",
- "animal/fish",
- "ball")
+ collectionContent <- c("animal", "animal/fish", "ball")
fakeREST <- FakeRESTService$new(collectionContent)
- api <- Arvados$new("myToken", "myHostName")
- api$setRESTService(fakeREST)
- collection <- Collection$new(api, "myUUID")
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
newDog <- ArvadosFile$new("dog")
collection$add(newDog, "animal")
test_that("create raises exception if passed argumet is not character vector", {
- collectionContent <- c("animal",
- "animal/fish",
- "ball")
+ collectionContent <- c("animal", "animal/fish", "ball")
fakeREST <- FakeRESTService$new(collectionContent)
- api <- Arvados$new("myToken", "myHostName")
- api$setRESTService(fakeREST)
- collection <- Collection$new(api, "myUUID")
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
expect_that(collection$create(10),
throws_error("Expected character vector, got (numeric).",
collectionContent <- c("animal",
"animal/fish",
"ball")
+
fakeREST <- FakeRESTService$new(collectionContent)
- api <- Arvados$new("myToken", "myHostName")
- api$setRESTService(fakeREST)
- collection <- Collection$new(api, "myUUID")
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
newPen <- ArvadosFile$new("pen")
test_that(paste("create adds files specified by fileNames",
"to local tree structure and remote REST service"), {
- collectionContent <- c("animal",
- "animal/fish",
- "ball")
+ collectionContent <- c("animal", "animal/fish", "ball")
fakeREST <- FakeRESTService$new(collectionContent)
- api <- Arvados$new("myToken", "myHostName")
- api$setRESTService(fakeREST)
- collection <- Collection$new(api, "myUUID")
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
files <- c("dog", "cat")
collection$create(files, "animal")
test_that("remove raises exception if passed argumet is not character vector", {
- collectionContent <- c("animal",
- "animal/fish",
- "ball")
+ collectionContent <- c("animal", "animal/fish", "ball")
fakeREST <- FakeRESTService$new(collectionContent)
- api <- Arvados$new("myToken", "myHostName")
- api$setRESTService(fakeREST)
- collection <- Collection$new(api, "myUUID")
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
expect_that(collection$remove(10),
throws_error("Expected character vector, got (numeric).",
fixed = TRUE))
})
+test_that("remove raises exception if user tries to remove root folder", {
+
+ collectionContent <- c("animal", "animal/fish")
+ fakeREST <- FakeRESTService$new(collectionContent)
+
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
+
+ expect_that(collection$remove(""),
+ throws_error("You can't delete root folder.", fixed = TRUE))
+})
+
test_that(paste("remove removes files specified by paths",
"from local tree structure and from remote REST service"), {
- collectionContent <- c("animal",
- "animal/fish",
- "animal/dog",
- "animal/cat",
- "ball")
+ collectionContent <- c("animal", "animal/fish", "animal/dog", "animal/cat", "ball")
fakeREST <- FakeRESTService$new(collectionContent)
- api <- Arvados$new("myToken", "myHostName")
- api$setRESTService(fakeREST)
- collection <- Collection$new(api, "myUUID")
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
collection$remove(c("animal/dog", "animal/cat"))
test_that(paste("move moves content to a new location inside file tree",
"and on REST service"), {
- collectionContent <- c("animal",
- "animal/dog",
- "ball")
+ collectionContent <- c("animal", "animal/dog", "ball")
fakeREST <- FakeRESTService$new(collectionContent)
- api <- Arvados$new("myToken", "myHostName")
- api$setRESTService(fakeREST)
- collection <- Collection$new(api, "myUUID")
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
collection$move("animal/dog", "dog")
test_that("move raises exception if new location is not valid", {
- collectionContent <- c("animal",
- "animal/fish",
- "ball")
+ collectionContent <- c("animal", "animal/fish", "ball")
fakeREST <- FakeRESTService$new(collectionContent)
- api <- Arvados$new("myToken", "myHostName")
- api$setRESTService(fakeREST)
- collection <- Collection$new(api, "myUUID")
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
expect_that(collection$move("fish", "object"),
throws_error("Content you want to move doesn't exist in the collection.",
test_that("getFileListing returns sorted collection content received from REST service", {
- collectionContent <- c("animal",
- "animal/fish",
- "ball")
+ collectionContent <- c("animal", "animal/fish", "ball")
fakeREST <- FakeRESTService$new(collectionContent)
- api <- Arvados$new("myToken", "myHostName")
- api$setRESTService(fakeREST)
- collection <- Collection$new(api, "myUUID")
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
contentMatchExpected <- all(collection$getFileListing() ==
c("animal", "animal/fish", "ball"))
test_that("get returns arvados file or subcollection from internal tree structure", {
- collectionContent <- c("animal",
- "animal/fish",
- "ball")
+ collectionContent <- c("animal", "animal/fish", "ball")
fakeREST <- FakeRESTService$new(collectionContent)
- api <- Arvados$new("myToken", "myHostName")
- api$setRESTService(fakeREST)
- collection <- Collection$new(api, "myUUID")
+ collection <- Collection$new("fakeUUID")
+ collection$setRESTService(fakeREST)
fish <- collection$get("animal/fish")
fishIsNotNull <- !is.null(fish)