Merge branch '12315-exclude-child-procs'
[arvados.git] / sdk / R / tests / testthat / test-Arvados.R
index 8ebad95d0c1ac79cdfff7ab2c5e3cc3741f6d5ad..25cf88f42253e4fccf85961c1e9183ab59b2ee30 100644 (file)
@@ -56,7 +56,7 @@ test_that("getCollection delegates operation to RESTService class", {
     expect_that(fakeREST$getResourceCallCount, equals(1))
 }) 
 
-test_that("listCollection delegates operation to RESTService class", {
+test_that("listCollections delegates operation to RESTService class", {
 
     arv <- Arvados$new("token", "hostName")
     fakeREST <- FakeRESTService$new()
@@ -67,7 +67,20 @@ test_that("listCollection delegates operation to RESTService class", {
     expect_that(fakeREST$listResourcesCallCount, equals(1))
 }) 
 
-test_that("listAllCollection delegates operation to RESTService class", {
+test_that("listCollections filter paramerter must be named 'collection'", {
+
+    filters <- list(list("name", "like", "MyCollection"))
+    names(filters) <- c("collection")
+    fakeREST <- FakeRESTService$new(expectedFilterContent = filters)
+    arv <- Arvados$new("token", "hostName")
+    arv$setRESTService(fakeREST)
+
+    arv$listCollections(list(list("name", "like", "MyCollection")))
+
+    expect_that(fakeREST$filtersAreConfiguredCorrectly, is_true())
+}) 
+
+test_that("listAllCollections delegates operation to RESTService class", {
 
     arv <- Arvados$new("token", "hostName")
     fakeREST <- FakeRESTService$new()
@@ -78,6 +91,19 @@ test_that("listAllCollection delegates operation to RESTService class", {
     expect_that(fakeREST$fetchAllItemsCallCount, equals(1))
 }) 
 
+test_that("listAllCollections filter paramerter must be named 'collection'", {
+
+    filters <- list(list("name", "like", "MyCollection"))
+    names(filters) <- c("collection")
+    fakeREST <- FakeRESTService$new(expectedFilterContent = filters)
+    arv <- Arvados$new("token", "hostName")
+    arv$setRESTService(fakeREST)
+
+    arv$listAllCollections(list(list("name", "like", "MyCollection")))
+
+    expect_that(fakeREST$filtersAreConfiguredCorrectly, is_true())
+}) 
+
 test_that("deleteCollection delegates operation to RESTService class", {
 
     arv <- Arvados$new("token", "hostName")
@@ -103,6 +129,22 @@ test_that("updateCollection delegates operation to RESTService class", {
     expect_that(fakeREST$updateResourceCallCount, equals(1))
 }) 
 
+test_that("updateCollection adds content to request parameter named 'collection'", {
+
+    collectionUUID <- "aaaaa-j7d0g-ccccccccccccccc"
+    body <- list(list())
+    names(body) <- c("collection")
+    body$collection <- list(name = "MyCollection", desc = "No description")
+    fakeREST <- FakeRESTService$new(returnContent = body)
+    arv <- Arvados$new("token", "hostName")
+    arv$setRESTService(fakeREST)
+
+    arv$updateCollection(collectionUUID, 
+                         list(name = "MyCollection", desc = "No description"))
+
+    expect_that(fakeREST$bodyIsConfiguredCorrectly, is_true())
+}) 
+
 test_that("createCollection delegates operation to RESTService class", {
 
     arv <- Arvados$new("token", "hostName")
@@ -115,6 +157,20 @@ test_that("createCollection delegates operation to RESTService class", {
     expect_that(fakeREST$createResourceCallCount, equals(1))
 }) 
 
+test_that("createCollection adds content to request parameter named 'collection'", {
+
+    body <- list(list())
+    names(body) <- c("collection")
+    body$collection <- list(name = "MyCollection", desc = "No description")
+    fakeREST <- FakeRESTService$new(returnContent = body)
+    arv <- Arvados$new("token", "hostName")
+    arv$setRESTService(fakeREST)
+
+    arv$createCollection(list(name = "MyCollection", desc = "No description"))
+
+    expect_that(fakeREST$bodyIsConfiguredCorrectly, is_true())
+}) 
+
 test_that("getProject delegates operation to RESTService class", {
 
     arv <- Arvados$new("token", "hostName")
@@ -138,6 +194,21 @@ test_that("listProjects delegates operation to RESTService class", {
     expect_that(fakeREST$listResourcesCallCount, equals(1))
 }) 
 
+test_that("listProjects filter contains additional 'group_class' field by default", {
+
+    filters <- list(list("name", "like", "MyProject"))
+    names(filters) <- c("groups")
+    filters[[length(filters) + 1]] <- list("group_class", "=", "project")
+
+    fakeREST <- FakeRESTService$new(expectedFilterContent = filters)
+    arv <- Arvados$new("token", "hostName")
+    arv$setRESTService(fakeREST)
+
+    arv$listProjects(list(list("name", "like", "MyProject")))
+
+    expect_that(fakeREST$filtersAreConfiguredCorrectly, is_true())
+}) 
+
 test_that("listAllProjects delegates operation to RESTService class", {
 
     arv <- Arvados$new("token", "hostName")
@@ -149,6 +220,21 @@ test_that("listAllProjects delegates operation to RESTService class", {
     expect_that(fakeREST$fetchAllItemsCallCount, equals(1))
 }) 
 
+test_that("listAllProjects filter contains additional 'group_class' field by default", {
+
+    filters <- list(list("name", "like", "MyProject"))
+    names(filters) <- c("groups")
+    filters[[length(filters) + 1]] <- list("group_class", "=", "project")
+
+    fakeREST <- FakeRESTService$new(expectedFilterContent = filters)
+    arv <- Arvados$new("token", "hostName")
+    arv$setRESTService(fakeREST)
+
+    arv$listAllProjects(list(list("name", "like", "MyProject")))
+
+    expect_that(fakeREST$filtersAreConfiguredCorrectly, is_true())
+}) 
+
 test_that("deleteProject delegates operation to RESTService class", {
 
     arv <- Arvados$new("token", "hostName")
@@ -174,6 +260,23 @@ test_that("updateProject delegates operation to RESTService class", {
     expect_that(fakeREST$updateResourceCallCount, equals(1))
 }) 
 
+test_that("updateProject adds content to request parameter named 'group'", {
+
+    projectUUID <- "aaaaa-j7d0g-ccccccccccccccc"
+    body <- list(list())
+    names(body) <- c("group")
+    body$group <- list(name = "MyProject", desc = "No description")
+
+    fakeREST <- FakeRESTService$new(returnContent = body)
+    arv <- Arvados$new("token", "hostName")
+    arv$setRESTService(fakeREST)
+
+    arv$updateProject(projectUUID,
+                      list(name = "MyProject", desc = "No description"))
+
+    expect_that(fakeREST$bodyIsConfiguredCorrectly, is_true())
+}) 
+
 test_that("createProject delegates operation to RESTService class", {
 
     arv <- Arvados$new("token", "hostName")
@@ -185,3 +288,19 @@ test_that("createProject delegates operation to RESTService class", {
 
     expect_that(fakeREST$createResourceCallCount, equals(1))
 }) 
+
+test_that("createProject request body contains 'goup_class' filed", {
+
+    body <- list(list())
+    names(body) <- c("group")
+    body$group <- c("group_class" = "project",
+                    list(name = "MyProject", desc = "No description"))
+
+    fakeREST <- FakeRESTService$new(returnContent = body)
+    arv <- Arvados$new("token", "hostName")
+    arv$setRESTService(fakeREST)
+
+    arv$createProject(list(name = "MyProject", desc = "No description"))
+
+    expect_that(fakeREST$bodyIsConfiguredCorrectly, is_true())
+})