X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d25be127db660e0c3c97bf53f8488d73e28b86d3..c2a07597440e4db06481d2532adc317331df441b:/sdk/R/tests/testthat/test-Subcollection.R diff --git a/sdk/R/tests/testthat/test-Subcollection.R b/sdk/R/tests/testthat/test-Subcollection.R index 45d0b02a17..401b086a0c 100644 --- a/sdk/R/tests/testthat/test-Subcollection.R +++ b/sdk/R/tests/testthat/test-Subcollection.R @@ -2,7 +2,7 @@ source("fakes/FakeRESTService.R") context("Subcollection") -test_that("getRelativePath returns relative path properly", { +test_that("getRelativePath returns path relative to the tree root", { animal <- Subcollection$new("animal") @@ -103,12 +103,10 @@ test_that(paste("add raises exception if passed argument is", 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") @@ -156,13 +154,10 @@ test_that("remove raises exception if passed argument is not character vector", 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") @@ -263,42 +258,55 @@ test_that(paste("move raises exception if subcollection", throws_error("Subcollection doesn't belong to any collection")) }) -test_that(paste("move raises exception if newLocationInCollection", - "parameter is invalid"), { +test_that("move raises exception if new location contains content with the same name", { + + collectionContent <- c("animal", + "animal/fish", + "animal/dog", + "animal/fish/shark", + "fish") + fakeREST <- FakeRESTService$new(collectionContent) api <- Arvados$new("myToken", "myHostName") - api$setHttpClient(FakeHttpRequest$new()) - api$setHttpParser(FakeHttpParser$new()) + api$setRESTService(fakeREST) + collection <- Collection$new(api, "myUUID") + fish <- collection$get("animal/fish") + + expect_that(fish$move("fish"), + throws_error("Destination already contains content with same name.")) + +}) + +test_that(paste("move raises exception if newLocationInCollection", + "parameter is invalid"), { 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") - dog <- collection$get("animal/dog") + fish <- collection$get("animal/fish") - expect_that(dog$move("objects/dog"), + expect_that(fish$move("objects/dog"), throws_error("Unable to get destination subcollection")) }) 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") @@ -322,14 +330,11 @@ test_that(paste("getSizeInBytes returns zero if subcollection", 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")