diff --git a/.Rbuildignore b/.Rbuildignore index 4a02081ec..b862015ec 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -14,6 +14,6 @@ ^R/secure.global.ranking.md$ ^_pkgdown\.yml$ ^docs$ -^dsBase_6.3.0.tar.gz$ -^dsBase_6.3.0-permissive.tar.gz$ +^dsBase_6.3.1.tar.gz$ +^dsBase_6.3.1-permissive.tar.gz$ ^dsDanger_6.3.0.tar.gz$ diff --git a/DESCRIPTION b/DESCRIPTION index bf6208f30..bca742b6c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: dsBaseClient Title: DataSHIELD Client Functions -Version: 6.3.0 +Version: 6.3.1.9000 Author: DataSHIELD Developers Maintainer: DataSHIELD Developers Description: DataSHIELD client functions for the client side. diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 3d5b466e4..0a5c41765 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -55,10 +55,10 @@ schedules: - master always: true - cron: "0 2 * * *" - displayName: Nightly build - v6.3.0-dev + displayName: Nightly build - v6.3.1-dev branches: include: - - v6.3.0-dev + - v6.3.1-dev always: true ######################################################################################### @@ -229,7 +229,7 @@ jobs: # Install dsBase. # If previous steps have failed then don't run. - bash: | - R -q -e "library(opalr); opal <- opal.login('administrator','datashield_test&', url='https://localhost:8443/', opts = list(ssl_verifyhost=0, ssl_verifypeer=0)); dsadmin.install_github_package(opal, 'dsBase', username = 'datashield', ref = 'v6.3.0-dev'); opal.logout(opal)" + R -q -e "library(opalr); opal <- opal.login('administrator','datashield_test&', url='https://localhost:8443/', opts = list(ssl_verifyhost=0, ssl_verifypeer=0)); dsadmin.install_github_package(opal, 'dsBase', username = 'datashield', ref = 'v6.3.1-dev'); opal.logout(opal)" R -q -e "library(opalr); opal <- opal.login('administrator','datashield_test&', url='https://localhost:8443/', opts = list(ssl_verifyhost=0, ssl_verifypeer=0)); dsadmin.set_option(opal, 'default.datashield.privacyControlLevel', 'permissive'); opal.logout(opal)" @@ -554,7 +554,7 @@ jobs: - bash: | curl -u admin:admin http://localhost:8080/whitelist - curl -u admin:admin -v -H 'Content-Type: multipart/form-data' -F "file=@dsBase_6.3.0-permissive.tar.gz" -X POST http://localhost:8080/install-package + curl -u admin:admin -v -H 'Content-Type: multipart/form-data' -F "file=@dsBase_6.3.1-permissive.tar.gz" -X POST http://localhost:8080/install-package docker container restart dsbaseclient_armadillo_1 sleep 120 @@ -683,7 +683,7 @@ jobs: - bash: | curl -u admin:admin http://localhost:8080/whitelist - curl -u admin:admin -v -H 'Content-Type: multipart/form-data' -F "file=@dsDanger_6.3.0.tar.gz" -X POST http://localhost:8080/install-package + curl -u admin:admin -v -H 'Content-Type: multipart/form-data' -F "file=@dsDanger_6.3.1.tar.gz" -X POST http://localhost:8080/install-package docker container restart dsbaseclient_armadillo_1 sleep 120 diff --git a/docker-compose_armadillo.yml b/docker-compose_armadillo.yml index 4d352a7ac..2804881d5 100644 --- a/docker-compose_armadillo.yml +++ b/docker-compose_armadillo.yml @@ -3,15 +3,15 @@ version: "3.4" services: armadillo: hostname: armadillo - image: datashield/armadillo3:test + image: datashield/armadillo_citest:1.0.0 environment: - RSERVE_HOST: rserver DEBUG: "FALSE" ports: - 8080:8080 - rserver: - hostname: rserver - image: datashield/armadillo-rserver_caravan-yak:1.0.0 + + citest_rserver: + hostname: citest_rserver + image: datashield/armadillo-rserver_ionic-aqueduct:1.0.0 environment: DEBUG: "FALSE" ports: diff --git a/docker-compose_opal.yml b/docker-compose_opal.yml index 3a0f40355..755c9be13 100644 --- a/docker-compose_opal.yml +++ b/docker-compose_opal.yml @@ -2,7 +2,7 @@ version: '3' services: opal: - image: obiba/opal:4.5 + image: obiba/opal:4.6 ports: - "8443:8443" links: @@ -22,4 +22,4 @@ services: - MONGO_INITDB_ROOT_USERNAME=root - MONGO_INITDB_ROOT_PASSWORD=foobar rock: - image: obiba/rock:1.0-R4.2 + image: datashield/rock-base:6.3-R4.3 diff --git a/dsBase_6.3.0-permissive.tar.gz b/dsBase_6.3.1-permissive.tar.gz similarity index 51% rename from dsBase_6.3.0-permissive.tar.gz rename to dsBase_6.3.1-permissive.tar.gz index b3dfd5c36..fa7109b91 100644 Binary files a/dsBase_6.3.0-permissive.tar.gz and b/dsBase_6.3.1-permissive.tar.gz differ diff --git a/dsBase_6.3.0.tar.gz b/dsBase_6.3.1.tar.gz similarity index 51% rename from dsBase_6.3.0.tar.gz rename to dsBase_6.3.1.tar.gz index 2b90bc3cf..f1f186993 100644 Binary files a/dsBase_6.3.0.tar.gz and b/dsBase_6.3.1.tar.gz differ diff --git a/tests/testthat/test-arg-ds.dataFrameSubset.R b/tests/testthat/test-arg-ds.dataFrameSubset.R index 100c67a2b..e6347a753 100644 --- a/tests/testthat/test-arg-ds.dataFrameSubset.R +++ b/tests/testthat/test-arg-ds.dataFrameSubset.R @@ -1,3 +1,4 @@ + #------------------------------------------------------------------------------- # Copyright (c) 2018-2022 University of Newcastle upon Tyne. All rights reserved. # @@ -51,9 +52,9 @@ test_that("dataFrameSubset_erros", { res.errors <- DSI::datashield.errors() expect_length(res.errors, 3) - expect_match(res.errors$sim1, "* Error in data\\.frame\\(M\\) : object 'M' not found") - expect_match(res.errors$sim2, "* Error in data\\.frame\\(M\\) : object 'M' not found") - expect_match(res.errors$sim3, "* Error in data\\.frame\\(M\\) : object 'M' not found") + expect_match(res.errors$sim1, "* object 'M' not found\\n") + expect_match(res.errors$sim2, "* object 'M' not found\\n") + expect_match(res.errors$sim3, "* object 'M' not found\\n") }) context("ds.dataFrameSubset::arg::missing 'V1' value server-side") diff --git a/tests/testthat/test-arg-ds.foobar.R b/tests/testthat/test-arg-ds.foobar.R index 3b5a8e7dd..05cbde701 100644 --- a/tests/testthat/test-arg-ds.foobar.R +++ b/tests/testthat/test-arg-ds.foobar.R @@ -55,13 +55,14 @@ test_that("non existent aggregate foobarDS", { expect_error(datashield.aggregate(conns=ds.test_env$connections, expr=calltext)) errs <- datashield.errors() + expect_length(errs, 3) expect_length(errs$sim1, 1) - expect_true(errs$sim1 %in% c("Command 'fooBarDS()' failed on 'sim1': No such DataSHIELD 'AGGREGATE' method with name: fooBarDS", "Bad request: ")) + expect_true(errs$sim1 %in% c("Command 'fooBarDS()' failed on 'sim1': No such DataSHIELD 'AGGREGATE' method with name: fooBarDS", "[Client error: (400) Bad Request] No such DataSHIELD 'AGGREGATE' method with name: fooBarDS", "Bad request: No such DataSHIELD 'AGGREGATE' method with name: fooBarDS")) expect_length(errs$sim2, 1) - expect_true(errs$sim2 %in% c("Command 'fooBarDS()' failed on 'sim2': No such DataSHIELD 'AGGREGATE' method with name: fooBarDS", "Bad request: ")) + expect_true(errs$sim2 %in% c("Command 'fooBarDS()' failed on 'sim2': No such DataSHIELD 'AGGREGATE' method with name: fooBarDS", "[Client error: (400) Bad Request] No such DataSHIELD 'AGGREGATE' method with name: fooBarDS", "Bad request: No such DataSHIELD 'AGGREGATE' method with name: fooBarDS")) expect_length(errs$sim3, 1) - expect_true(errs$sim3 %in% c("Command 'fooBarDS()' failed on 'sim3': No such DataSHIELD 'AGGREGATE' method with name: fooBarDS", "Bad request: ")) + expect_true(errs$sim3 %in% c("Command 'fooBarDS()' failed on 'sim3': No such DataSHIELD 'AGGREGATE' method with name: fooBarDS", "[Client error: (400) Bad Request] No such DataSHIELD 'AGGREGATE' method with name: fooBarDS", "Bad request: No such DataSHIELD 'AGGREGATE' method with name: fooBarDS")) }) context("ds.foobar::arg::assign") @@ -105,11 +106,11 @@ test_that("non existent assign foobarDS", { errs <- datashield.errors() expect_length(errs, 3) expect_length(errs$sim1, 1) - expect_true(errs$sim1 %in% c("Command 'fooBarDS()' failed on 'sim1': No such DataSHIELD 'ASSIGN' method with name: fooBarDS", "Bad request: ")) + expect_true(errs$sim1 %in% c("Command 'fooBarDS()' failed on 'sim1': No such DataSHIELD 'ASSIGN' method with name: fooBarDS", "[Client error: (400) Bad Request] No such DataSHIELD 'ASSIGN' method with name: fooBarDS", "Bad request: No such DataSHIELD 'ASSIGN' method with name: fooBarDS")) expect_length(errs$sim2, 1) - expect_true(errs$sim2 %in% c("Command 'fooBarDS()' failed on 'sim2': No such DataSHIELD 'ASSIGN' method with name: fooBarDS", "Bad request: ")) + expect_true(errs$sim2 %in% c("Command 'fooBarDS()' failed on 'sim2': No such DataSHIELD 'ASSIGN' method with name: fooBarDS", "[Client error: (400) Bad Request] No such DataSHIELD 'ASSIGN' method with name: fooBarDS", "Bad request: No such DataSHIELD 'ASSIGN' method with name: fooBarDS")) expect_length(errs$sim3, 1) - expect_true(errs$sim3 %in% c("Command 'fooBarDS()' failed on 'sim3': No such DataSHIELD 'ASSIGN' method with name: fooBarDS", "Bad request: ")) + expect_true(errs$sim3 %in% c("Command 'fooBarDS()' failed on 'sim3': No such DataSHIELD 'ASSIGN' method with name: fooBarDS", "[Client error: (400) Bad Request] No such DataSHIELD 'ASSIGN' method with name: fooBarDS", "Bad request: No such DataSHIELD 'ASSIGN' method with name: fooBarDS")) }) # diff --git a/tests/testthat/test-arg-ds.ranksSecure.R b/tests/testthat/test-arg-ds.ranksSecure.R index 99423af46..3b6ecf2ef 100644 --- a/tests/testthat/test-arg-ds.ranksSecure.R +++ b/tests/testthat/test-arg-ds.ranksSecure.R @@ -31,9 +31,9 @@ test_that("missing variable", { res.errors <- DSI::datashield.errors() expect_length(res.errors, 3) - expect_match(res.errors$study1, "* Error in c\\(\"character\", \"integer\", \"logical\", \"numeric\"\\) %in% class\\(obj\\) : \n object 'LAB_MISSING' not found") - expect_match(res.errors$study2, "* Error in c\\(\"character\", \"integer\", \"logical\", \"numeric\"\\) %in% class\\(obj\\) : \n object 'LAB_MISSING' not found") - expect_match(res.errors$study3, "* Error in c\\(\"character\", \"integer\", \"logical\", \"numeric\"\\) %in% class\\(obj\\) : \n object 'LAB_MISSING' not found") + expect_match(res.errors$study1, "* Error : object 'LAB_MISSING' not found") + expect_match(res.errors$study2, "* Error : object 'LAB_MISSING' not found") + expect_match(res.errors$study3, "* Error : object 'LAB_MISSING' not found") }) context("ds.ranksSecure::arg::NULL variable") diff --git a/tests/testthat/test-smk-isDefined.R b/tests/testthat/test-smk-isDefined.R index 6abe9fafa..71c2a5820 100644 --- a/tests/testthat/test-smk-isDefined.R +++ b/tests/testthat/test-smk-isDefined.R @@ -52,9 +52,9 @@ test_that("default test, dataframe column E$A", { expect_length(class(err), 1) expect_true(all("list" %in% class(err))) expect_length(err, 3) - expect_match(err$discordant1, "* Error in base::exists\\(\"A\", E\\) : object 'E' not found") - expect_match(err$discordant2, "* Error in base::exists\\(\"A\", E\\) : object 'E' not found") - expect_match(err$discordant3, "* Error in base::exists\\(\"A\", E\\) : object 'E' not found") + expect_match(err$discordant1, "* Error : object 'E' not found") + expect_match(err$discordant2, "* Error : object 'E' not found") + expect_match(err$discordant3, "* Error : object 'E' not found") }) test_that("default test, dataframe column D$A", { @@ -123,9 +123,9 @@ test_that("error.message=FALSE test, dataframe column E$A", { expect_length(class(err), 1) expect_true(all("list" %in% class(err))) expect_length(err, 3) - expect_match(err$discordant1, "* Error in base::exists\\(\"A\", E\\) : object 'E' not found") - expect_match(err$discordant2, "* Error in base::exists\\(\"A\", E\\) : object 'E' not found") - expect_match(err$discordant3, "* Error in base::exists\\(\"A\", E\\) : object 'E' not found") + expect_match(err$discordant1, "* Error : object 'E' not found") + expect_match(err$discordant2, "* Error : object 'E' not found") + expect_match(err$discordant3, "* Error : object 'E' not found") }) test_that("error.message=FALSE test, dataframe column D$A", { @@ -222,9 +222,9 @@ test_that("error.message=TRUE test, dataframe column E$A", { expect_length(class(err), 1) expect_true(all("list" %in% class(err))) expect_length(err, 3) - expect_match(err$discordant1, "* Error in base::exists\\(\"A\", E\\) : object 'E' not found") - expect_match(err$discordant2, "* Error in base::exists\\(\"A\", E\\) : object 'E' not found") - expect_match(err$discordant3, "* Error in base::exists\\(\"A\", E\\) : object 'E' not found") + expect_match(err$discordant1, "* Error : object 'E' not found") + expect_match(err$discordant2, "* Error : object 'E' not found") + expect_match(err$discordant3, "* Error : object 'E' not found") }) test_that("error.message=TRUE test, dataframe column D$A", {