+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+
source("fakes/FakeRESTService.R")
context("Subcollection")
expect_that(fish$getRelativePath(), equals("animal/fish"))
})
-test_that(paste("getFileListing by default returns path of all files",
+test_that(paste("getFileListing by default returns sorted path of all files",
"relative to the current subcollection"), {
animal <- Subcollection$new("animal")
fish$add(blueFish)
result <- animal$getFileListing()
- expectedResult <- c("animal/fish/shark", "animal/fish/blueFish")
+
+ #expect sorted array
+ expectedResult <- c("animal/fish/blueFish", "animal/fish/shark")
resultsMatch <- length(expectedResult) == length(result) &&
all(expectedResult == result)
expect_that(resultsMatch, is_true())
})
-test_that(paste("getFileListing returns names of all direct children",
+test_that(paste("getFileListing returns sorted names of all direct children",
"if fullPath is set to FALSE"), {
animal <- Subcollection$new("animal")
fish$add(shark)
result <- animal$getFileListing(fullPath = FALSE)
- expectedResult <- c("fish", "dog")
+ expectedResult <- c("dog", "fish")
resultsMatch <- length(expectedResult) == length(result) &&
all(expectedResult == result)
expect_that(animalContainsDog, is_true())
})
+test_that("add raises exception if content name is empty string", {
+
+ animal <- Subcollection$new("animal")
+ rootFolder <- Subcollection$new("")
+
+ expect_that(animal$add(rootFolder),
+ throws_error("Content has invalid name.", fixed = TRUE))
+})
+
test_that(paste("add raises exception if ArvadosFile/Subcollection",
"with same name already exists in the subcollection"), {
test_that(paste("add post content to a REST service",
"if subcollection belongs to a collection"), {
- api <- Arvados$new("myToken", "myHostName")
- api$setHttpClient(FakeHttpRequest$new())
- api$setHttpParser(FakeHttpParser$new())
-
collectionContent <- c("animal", "animal/fish")
fakeREST <- FakeRESTService$new(collectionContent)
+
+ api <- Arvados$new("myToken", "myHostName")
api$setRESTService(fakeREST)
collection <- Collection$new(api, "myUUID")
test_that(paste("remove removes content from REST service",
"if subcollection belongs to a collection"), {
- api <- Arvados$new("myToken", "myHostName")
- api$setHttpClient(FakeHttpRequest$new())
- api$setHttpParser(FakeHttpParser$new())
-
collectionContent <- c("animal", "animal/fish", "animal/dog")
-
fakeREST <- FakeRESTService$new(collectionContent)
+
+ api <- Arvados$new("myToken", "myHostName")
api$setRESTService(fakeREST)
collection <- Collection$new(api, "myUUID")
animal <- collection$get("animal")
test_that("move raises exception if new location contains content with the same name", {
- api <- Arvados$new("myToken", "myHostName")
- api$setHttpClient(FakeHttpRequest$new())
- api$setHttpParser(FakeHttpParser$new())
-
collectionContent <- c("animal",
"animal/fish",
"animal/dog",
"animal/fish/shark",
"fish")
-
fakeREST <- FakeRESTService$new(collectionContent)
+
+ api <- Arvados$new("myToken", "myHostName")
api$setRESTService(fakeREST)
collection <- Collection$new(api, "myUUID")
fish <- collection$get("animal/fish")
test_that(paste("move raises exception if newLocationInCollection",
"parameter is invalid"), {
- api <- Arvados$new("myToken", "myHostName")
- api$setHttpClient(FakeHttpRequest$new())
- api$setHttpParser(FakeHttpParser$new())
-
collectionContent <- c("animal",
"animal/fish",
"animal/dog",
"animal/fish/shark",
"ball")
-
fakeREST <- FakeRESTService$new(collectionContent)
+
+ api <- Arvados$new("myToken", "myHostName")
api$setRESTService(fakeREST)
collection <- Collection$new(api, "myUUID")
test_that("move moves subcollection inside collection tree", {
- api <- Arvados$new("myToken", "myHostName")
- api$setHttpClient(FakeHttpRequest$new())
- api$setHttpParser(FakeHttpParser$new())
-
collectionContent <- c("animal",
"animal/fish",
"animal/dog",
"animal/fish/shark",
"ball")
-
fakeREST <- FakeRESTService$new(collectionContent)
+
+ api <- Arvados$new("myToken", "myHostName")
api$setRESTService(fakeREST)
collection <- Collection$new(api, "myUUID")
fish <- collection$get("animal/fish")
test_that(paste("getSizeInBytes delegates size calculation",
"to REST service class"), {
- api <- Arvados$new("myToken", "myHostName")
- api$setHttpClient(FakeHttpRequest$new())
- api$setHttpParser(FakeHttpParser$new())
-
collectionContent <- c("animal", "animal/fish")
returnSize <- 100
-
fakeREST <- FakeRESTService$new(collectionContent, returnSize)
+
+ api <- Arvados$new("myToken", "myHostName")
api$setRESTService(fakeREST)
collection <- Collection$new(api, "myUUID")
animal <- collection$get("animal")
resourceSize <- animal$getSizeInBytes()
expect_that(resourceSize, equals(100))
-})
+})