The test are run each time you file a pull request on github. You can run the test locally as well using the following commands:
# load prerequisites
library(tibble)
# run all tests
::test()
devtools#> ✓ | OK F W S | Context
#>
| 0 | ArmadilloConnection
⠏ | 1 | ArmadilloConnection
⠋ | 77 | ArmadilloConnection
⠦ | 128 | ArmadilloConnection [0.5 s]
✓ #>
| 0 | ArmadilloDriver
⠏ | 34 | ArmadilloDriver
✓ #>
| 0 | ArmadilloOAuth
⠏ | 11 | ArmadilloOAuth
✓ #>
| 0 | ArmadilloResult
⠏ | 14 | ArmadilloResult
✓ #>
| 0 | utils
⠏ | 25 1 | utils
✓ #> ───────────────────────────────────────────────────────────────────────────────────────────────────────────
#> test-utils.R:78: skip: .deparse deparses vectors
#> Reason: I still don't get the .deparse arguments
#> ───────────────────────────────────────────────────────────────────────────────────────────────────────────
#>
#> ══ Results ════════════════════════════════════════════════════════════════════════════════════════════════
#> Duration: 0.7 s
#>
#> OK: 212
#> Failed: 0
#> Warnings: 0
#> Skipped: 1
# run a single test file
# make sure you have the test file open
# e.g. test-ArmadilloResult.R
devtools::test_file()
We use vignettes to expose the usage of the package. It includes examples of regular use cases and shows you how to setup the package.
The vignettes are automatically build and you can run them locally with the following command:
knitr::knit("vignettes/DSMolgenisArmadillo.Rmd.orig", output = "vignettes/DSMolgenisArmadillo.Rmd")
If you only want the R-output use:
knitr::purl("vignettes/DSMolgenisArmadillo.Rmd.orig", output = "vignettes/DSMolgenisArmadillo.R")
Some tips and tricks when you developing on DSMolgenisArmadillo
You can login with basic auth when you are developing. The default credentials are username: admin and password: admin.
library(DSMolgenisArmadillo)
armadillo_url <- "https://armadillo.dev.molgenis.org"
builder <- DSI::newDSLoginBuilder()
builder$append(server = "armadillo",
url = armadillo_url,
user = "admin",
password = "admin",
table = "gecko/2_1-core-1_0/nonrep",
driver = "ArmadilloDriver")
logindata <- builder$build()
conns <- datashield.login(login = logindata, assign = TRUE)
You can determine which version of the DSMolgenisArmadillo you are running by executing the following code:
You can use several methods checking if tables in DataSHIELD. For checking existence of the tables you can use the following methods.
dsHasTable(conns$armadillo, "gecko/2_1-core-1_0/nonrep")
#> [1] TRUE
dsHasTable(conns$armadillo, "gecko/1_1-outcome-1_0/nonrep")
#> [1] TRUE
To check the accessibility you can use the table_status
methods.
datashield.table_status(conns, "gecko/2_1-core-1_0/nonrep")
#> server table accessible
#> 1 armadillo gecko/2_1-core-1_0/nonrep TRUE
To check which tables are assigned you can use the dsListTables
function.
dsListTables(conns$armadillo)
#> [1] "chicago/crime/crimes" "gecko/1_1-outcome-1_0/nonrep" "gecko/1_1-outcome-1_0/yearlyrep"
#> [4] "gecko/2_1-core-1_0/monthlyrep" "gecko/2_1-core-1_0/nonrep" "gecko/2_1-core-1_0/trimesterrep"
#> [7] "gecko/2_1-core-1_0/yearlyrep" "load-test/data/patient"
In DataSHIELD you can use a variety of methods and packages. To check which are avaiable you can execute the following code:
The available packages displayed by the method, are the serverside R-packages. Which means the packages available on the Armadillo.
conns <- datashield.login(logins = logindata, assign = F)
dsListPackages(conns$armadillo)
#> name version
#> 1 arrow 1.0.0
#> 2 assertthat 0.2.1
#> 3 BH 1.72.0-3
#> 4 bit 4.0.4
#> 5 bit64 4.0.2
#> 6 cli 2.0.2
#> 7 crayon 1.3.4
#> 8 digest 0.6.25
#> 9 docopt 0.6.1
#> 10 dplyr 0.8.5
#> 11 dsBase 6.0.1
#> 12 ellipsis 0.3.0
#> 13 fansi 0.4.1
#> 14 glue 1.4.0
#> 15 lifecycle 0.2.0
#> 16 littler 0.3.9
#> 17 lme4 1.1-23
#> 18 magrittr 1.5
#> 19 minqa 1.2.4
#> 20 MolgenisRserve 0.1.2
#> 21 nloptr 1.2.2.2
#> 22 pillar 1.4.3
#> 23 pkgconfig 2.0.3
#> 24 plogr 0.2.0
#> 25 ps 1.3.2
#> 26 purrr 0.3.4
#> 27 R6 2.4.1
#> 28 RANN 2.6.1
#> 29 Rcpp 1.0.4.6
#> 30 RcppEigen 0.3.3.7.0
#> 31 rlang 0.4.5
#> 32 statmod 1.4.34
#> 33 stringi 1.4.6
#> 34 stringr 1.4.0
#> 35 tibble 3.0.1
#> 36 tidyselect 1.0.0
#> 37 utf8 1.1.4
#> 38 vctrs 0.2.4
#> 39 base 3.6.3
#> 40 boot 1.3-24
#> 41 class 7.3-15
#> 42 cluster 2.1.0
#> 43 codetools 0.2-16
#> 44 compiler 3.6.3
#> 45 datasets 3.6.3
#> 46 foreign 0.8-75
#> 47 graphics 3.6.3
#> 48 grDevices 3.6.3
#> 49 grid 3.6.3
#> 50 KernSmooth 2.23-16
#> 51 lattice 0.20-38
#> 52 MASS 7.3-51.5
#> 53 Matrix 1.2-18
#> 54 methods 3.6.3
#> 55 mgcv 1.8-31
#> 56 nlme 3.1-144
#> 57 nnet 7.3-12
#> 58 parallel 3.6.3
#> 59 rpart 4.1-15
#> 60 spatial 7.3-11
#> 61 splines 3.6.3
#> 62 stats 3.6.3
#> 63 stats4 3.6.3
#> 64 survival 3.1-8
#> 65 tcltk 3.6.3
#> 66 tools 3.6.3
#> 67 utils 3.6.3
These are the available methods on the Armadillo server.
datashield.methods(conns = conns, type = "aggregate")
#> name value version package type class server
#> 1 is.character base::is.character NULL base aggregate function armadillo
#> 2 dataFrameSubsetDS1 dsBase::dataFrameSubsetDS1 6.0.1 dsBase aggregate function armadillo
#> 3 meanSdGpDS dsBase::meanSdGpDS 6.0.1 dsBase aggregate function armadillo
#> 4 scatterPlotDS dsBase::scatterPlotDS 6.0.1 dsBase aggregate function armadillo
#> 5 setSeedDS dsBase::setSeedDS 6.0.1 dsBase aggregate function armadillo
#> 6 matrixDetDS1 dsBase::matrixDetDS1 6.0.1 dsBase aggregate function armadillo
#> 7 numNaDS dsBase::numNaDS 6.0.1 dsBase aggregate function armadillo
#> 8 asListDS dsBase::asListDS 6.0.1 dsBase aggregate function armadillo
#> 9 is.numeric base::is.numeric NULL base aggregate function armadillo
#> 10 t.test stats::t.test NULL stats aggregate function armadillo
#> 11 is.list base::is.list NULL base aggregate function armadillo
#> 12 lengthDS dsBase::lengthDS 6.0.1 dsBase aggregate function armadillo
#> 13 heatmapPlotDS dsBase::heatmapPlotDS 6.0.1 dsBase aggregate function armadillo
#> 14 dimDS dsBase::dimDS 6.0.1 dsBase aggregate function armadillo
#> 15 is.null base::is.null NULL base aggregate function armadillo
#> 16 meanDS dsBase::meanDS 6.0.1 dsBase aggregate function armadillo
#> 17 tableDS dsBase::tableDS 6.0.1 dsBase aggregate function armadillo
#> 18 is.factor base::is.factor NULL base aggregate function armadillo
#> 19 corDS dsBase::corDS 6.0.1 dsBase aggregate function armadillo
#> 20 testObjExistsDS dsBase::testObjExistsDS 6.0.1 dsBase aggregate function armadillo
#> 21 isValidDS dsBase::isValidDS 6.0.1 dsBase aggregate function armadillo
#> 22 table1DDS dsBase::table1DDS 6.0.1 dsBase aggregate function armadillo
#> 23 asFactorDS1 dsBase::asFactorDS1 6.0.1 dsBase aggregate function armadillo
#> 24 glmDS2 dsBase::glmDS2 6.0.1 dsBase aggregate function armadillo
#> 25 glmDS1 dsBase::glmDS1 6.0.1 dsBase aggregate function armadillo
#> 26 covDS dsBase::covDS 6.0.1 dsBase aggregate function armadillo
#> 27 lmerSLMADS2 dsBase::lmerSLMADS2 6.0.1 dsBase aggregate function armadillo
#> 28 rmDS dsBase::rmDS 6.0.1 dsBase aggregate function armadillo
#> 29 exists base::exists NULL base aggregate function armadillo
#> 30 rangeDS dsBase::rangeDS 6.0.1 dsBase aggregate function armadillo
#> 31 table2DDS dsBase::table2DDS 6.0.1 dsBase aggregate function armadillo
#> 32 NROW base::NROW NULL base aggregate function armadillo
#> 33 scoreVectDS dsBase::scoreVectDS 6.0.1 dsBase aggregate function armadillo
#> 34 tapplyDS dsBase::tapplyDS 6.0.1 dsBase aggregate function armadillo
#> 35 levelsDS dsBase::levelsDS 6.0.1 dsBase aggregate function armadillo
#> 36 densityGridDS dsBase::densityGridDS 6.0.1 dsBase aggregate function armadillo
#> 37 lexisDS1 dsBase::lexisDS1 6.0.1 dsBase aggregate function armadillo
#> 38 histogramDS1 dsBase::histogramDS1 6.0.1 dsBase aggregate function armadillo
#> 39 histogramDS2 dsBase::histogramDS2 6.0.1 dsBase aggregate function armadillo
#> 40 tableDS2 dsBase::tableDS2 6.0.1 dsBase aggregate function armadillo
#> 41 checkNegValueDS dsBase::checkNegValueDS 6.0.1 dsBase aggregate function armadillo
#> 42 quantileMeanDS dsBase::quantileMeanDS 6.0.1 dsBase aggregate function armadillo
#> 43 tTestFDS2 dsBase::tTestFDS2 6.0.1 dsBase aggregate function armadillo
#> 44 varDS dsBase::varDS 6.0.1 dsBase aggregate function armadillo
#> 45 colnamesDS dsBase::colnamesDS 6.0.1 dsBase aggregate function armadillo
#> 46 lsDS dsBase::lsDS 6.0.1 dsBase aggregate function armadillo
#> 47 classDS dsBase::classDS 6.0.1 dsBase aggregate function armadillo
#> 48 isNaDS dsBase::isNaDS 6.0.1 dsBase aggregate function armadillo
#> 49 listDisclosureSettingsDS dsBase::listDisclosureSettingsDS 6.0.1 dsBase aggregate function armadillo
#> 50 glmerSLMADS2 dsBase::glmerSLMADS2 6.0.1 dsBase aggregate function armadillo
#> 51 glmSLMADS1 dsBase::glmSLMADS1 6.0.1 dsBase aggregate function armadillo
#> 52 glmSLMADS2 dsBase::glmSLMADS2 6.0.1 dsBase aggregate function armadillo
#> 53 recodeValuesDS1 dsBase::recodeValuesDS1 6.0.1 dsBase aggregate function armadillo
#> 54 namesDS dsBase::namesDS 6.0.1 dsBase aggregate function armadillo
#> 55 corTestDS dsBase::corTestDS 6.0.1 dsBase aggregate function armadillo
#> 56 messageDS dsBase::messageDS 6.0.1 dsBase aggregate function armadillo
datashield.methods(conns = conns, type = "assign")
#> name value version package type class server
#> 1 changeRefGroupDS dsBase::changeRefGroupDS 6.0.1 dsBase assign function armadillo
#> 2 dataFrameSubsetDS2 dsBase::dataFrameSubsetDS2 6.0.1 dsBase assign function armadillo
#> 3 matrixDiagDS dsBase::matrixDiagDS 6.0.1 dsBase assign function armadillo
#> 4 asNumericDS dsBase::asNumericDS 6.0.1 dsBase assign function armadillo
#> 5 asMatrixDS dsBase::asMatrixDS 6.0.1 dsBase assign function armadillo
#> 6 matrixDetDS2 dsBase::matrixDetDS2 6.0.1 dsBase assign function armadillo
#> 7 matrixTransposeDS dsBase::matrixTransposeDS 6.0.1 dsBase assign function armadillo
#> 8 mergeDS dsBase::mergeDS 6.0.1 dsBase assign function armadillo
#> 9 cbindDS dsBase::cbindDS 6.0.1 dsBase assign function armadillo
#> 10 asListDS dsBase::asListDS 6.0.1 dsBase assign function armadillo
#> 11 log base::log NULL base assign function armadillo
#> 12 matrixDS dsBase::matrixDS 6.0.1 dsBase assign function armadillo
#> 13 asFactorDS dsBase::asFactorDS 6.0.1 dsBase assign function armadillo
#> 14 tableDS.assign dsBase::tableDS.assign 6.0.1 dsBase assign function armadillo
#> 15 repDS dsBase::repDS 6.0.1 dsBase assign function armadillo
#> 16 rPoisDS dsBase::rPoisDS 6.0.1 dsBase assign function armadillo
#> 17 unListDS dsBase::unListDS 6.0.1 dsBase assign function armadillo
#> 18 matrixInvertDS dsBase::matrixInvertDS 6.0.1 dsBase assign function armadillo
#> 19 tapplyDS.assign dsBase::tapplyDS.assign 6.0.1 dsBase assign function armadillo
#> 20 seqDS dsBase::seqDS 6.0.1 dsBase assign function armadillo
#> 21 dataFrameFillDS dsBase::dataFrameFillDS 6.0.1 dsBase assign function armadillo
#> 22 subsetDS dsBase::subsetDS 6.0.1 dsBase assign function armadillo
#> 23 rNormDS dsBase::rNormDS 6.0.1 dsBase assign function armadillo
#> 24 recodeLevelsDS dsBase::recodeLevelsDS 6.0.1 dsBase assign function armadillo
#> 25 dataFrameSortDS dsBase::dataFrameSortDS 6.0.1 dsBase assign function armadillo
#> 26 rBinomDS dsBase::rBinomDS 6.0.1 dsBase assign function armadillo
#> 27 cDS dsBase::cDS 6.0.1 dsBase assign function armadillo
#> 28 dataFrameDS dsBase::dataFrameDS 6.0.1 dsBase assign function armadillo
#> 29 asFactorDS2 dsBase::asFactorDS2 6.0.1 dsBase assign function armadillo
#> 30 completeCasesDS dsBase::completeCasesDS 6.0.1 dsBase assign function armadillo
#> 31 matrixMultDS dsBase::matrixMultDS 6.0.1 dsBase assign function armadillo
#> 32 seedDS dsBase::seedDS 6.0.1 dsBase assign function armadillo
#> 33 subsetByClassDS dsBase::subsetByClassDS 6.0.1 dsBase assign function armadillo
#> 34 cbind base::cbind NULL base assign function armadillo
#> 35 unlist base::unlist NULL base assign function armadillo
#> 36 rbindDS dsBase::rbindDS 6.0.1 dsBase assign function armadillo
#> 37 reShapeDS dsBase::reShapeDS 6.0.1 dsBase assign function armadillo
#> 38 rUnifDS dsBase::rUnifDS 6.0.1 dsBase assign function armadillo
#> 39 as.numeric base::as.numeric NULL base assign function armadillo
#> 40 list base::list NULL base assign function armadillo
#> 41 asIntegerDS dsBase::asIntegerDS 6.0.1 dsBase assign function armadillo
#> 42 lexisDS2 dsBase::lexisDS2 6.0.1 dsBase assign function armadillo
#> 43 as.null base::as.null NULL base assign function armadillo
#> 44 sum base::sum NULL base assign function armadillo
#> 45 lexisDS3 dsBase::lexisDS3 6.0.1 dsBase assign function armadillo
#> 46 asLogicalDS dsBase::asLogicalDS 6.0.1 dsBase assign function armadillo
#> 47 matrixDimnamesDS dsBase::matrixDimnamesDS 6.0.1 dsBase assign function armadillo
#> 48 complete.cases stats::complete.cases NULL stats assign function armadillo
#> 49 listDS dsBase::listDS 6.0.1 dsBase assign function armadillo
#> 50 attach base::attach NULL base assign function armadillo
#> 51 asCharacterDS dsBase::asCharacterDS 6.0.1 dsBase assign function armadillo
#> 52 exp base::exp NULL base assign function armadillo
#> 53 recodeValuesDS2 dsBase::recodeValuesDS2 6.0.1 dsBase assign function armadillo
#> 54 c base::c NULL base assign function armadillo
#> 55 replaceNaDS dsBase::replaceNaDS 6.0.1 dsBase assign function armadillo
#> 56 rowColCalcDS dsBase::rowColCalcDS 6.0.1 dsBase assign function armadillo
#> 57 sampleDS dsBase::sampleDS 6.0.1 dsBase assign function armadillo
#> 58 as.character base::as.character NULL base assign function armadillo
#> 59 rep base::rep NULL base assign function armadillo
#> 60 BooleDS dsBase::BooleDS 6.0.1 dsBase assign function armadillo
#> 61 asDataMatrixDS dsBase::asDataMatrixDS 6.0.1 dsBase assign function armadillo