CRAN Package Check Results for Package crunch

Last updated on 2021-09-19 09:50:07 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 1.28.1 36.43 341.24 377.67 OK
r-devel-linux-x86_64-debian-gcc 1.28.1 32.31 258.12 290.43 OK
r-devel-linux-x86_64-fedora-clang 1.28.1 453.08 OK
r-devel-linux-x86_64-fedora-gcc 1.28.1 480.18 OK
r-devel-windows-x86_64 1.28.1 41.00 403.00 444.00 OK
r-devel-windows-x86_64-gcc10-UCRT 1.28.1 ERROR
r-patched-linux-x86_64 1.28.1 41.22 345.59 386.81 OK
r-patched-solaris-x86 1.28.1 493.30 OK
r-release-linux-x86_64 1.28.1 36.70 348.30 385.00 OK
r-release-macos-arm64 1.28.1 OK
r-release-macos-x86_64 1.28.1 OK
r-release-windows-ix86+x86_64 1.28.1 62.00 304.00 366.00 OK
r-oldrel-macos-x86_64 1.28.1 OK
r-oldrel-windows-ix86+x86_64 1.28.1 63.00 409.00 472.00 OK

Check Details

Version: 1.28.1
Check: whether package can be installed
Result: WARN
    Found the following significant warnings:
     WARNING: installation-time patches will not be applied, could not get the patches index
Flavor: r-devel-windows-x86_64-gcc10-UCRT

Version: 1.28.1
Check: tests
Result: ERROR
     Running 'spelling.R'
     Running 'testthat.R'
    Running the tests in 'tests/testthat.R' failed.
    Complete output:
     > library(httptest)
     Loading required package: testthat
     > options(crunch.check.updates = FALSE)
     > if (nchar(Sys.getenv("JENKINS_HOME"))) {
     + tt_read_lines <- function(path, n = -1L, encoding = "UTF-8") {
     + base::readLines(path, n = n, encoding = encoding, warn = FALSE)
     + }
     +
     + tt_write_lines <- function(text, path) {
     + base::writeLines(enc2utf8(text), path, useBytes = TRUE)
     + }
     +
     + # trick to get around :: from depends CRAN check
     + R6Class <- get("R6Class", asNamespace("R6"))
     +
     + JunitReporterFix <- R6Class(
     + "JunitReporterFix",
     + inherit = JunitReporter,
     + public = list(
     + end_reporter = function() {
     + super$end_reporter()
     + tt_write_lines(
     + crayon::strip_style(tt_read_lines(self$out)),
     + self$out
     + )
     + }
     + )
     + )
     +
     + test_check("crunch",
     + reporter = MultiReporter$new(list(
     + SummaryReporter$new(),
     + JunitReporterFix$new(file = file.path(Sys.getenv("WORKSPACE"), "rcrunch.xml"))
     + ))
     + )
     + } else {
     + test_check("crunch")
     + }
     Loading required package: crunch
    
     Attaching package: 'crunch'
    
     The following objects are masked from 'package:stats':
    
     filter, rstandard, setNames
    
     The following object is masked from 'package:graphics':
    
     title
    
     The following object is masked from 'package:utils':
    
     write.csv
    
     The following object is masked from 'package:base':
    
     table
    
     tar (child): gzip: Cannot exec: No such file or directory
     tar (child): Error is not recoverable: exiting now
     /usr/bin/tar: Child returned status 2
     /usr/bin/tar: Error is not recoverable: exiting now
     tar (child): gzip: Cannot exec: No such file or directory
     tar (child): Error is not recoverable: exiting now
     /usr/bin/tar: Child returned status 2
     /usr/bin/tar: Error is not recoverable: exiting now
     ══ Skipped tests ═══════════════════════════════════════════════════════════════
     • On CRAN (2)
    
     ══ Failed tests ════════════════════════════════════════════════════════════════
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-active-filter.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-active-filter.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-active-filter.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-add-subvariable.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-add-subvariable.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-add-subvariable.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-add-variable.R:309:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-add-variable.R:309:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-add-variable.R:310:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-api.R:64:13): crunch.debug logging if enabled<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─testthat::expect_output(ds <- cachedLoadDataset("test ds"), NA) <1b>[90mtest-api.R:64:12<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 3. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 4. <1b>[39m│ │ └─testthat::capture_output_lines(code, print, width = width)
     <1b>[90m 5. <1b>[39m│ │ └─testthat:::eval_with_output(code, print = print, width = width)
     <1b>[90m 6. <1b>[39m│ │ ├─withr::with_output_sink(temp, withVisible(code))
     <1b>[90m 7. <1b>[39m│ │ │ └─base::force(code)
     <1b>[90m 8. <1b>[39m│ │ └─base::withVisible(code)
     <1b>[90m 9. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 10. <1b>[39m└─crunch:::cachedLoadDataset("test ds")
     <1b>[90m 11. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 12. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 13. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 14. <1b>[39m ├─base::paste0(...)
     <1b>[90m 15. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 16. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 17. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 18. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 19. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 20. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 21. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 22. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 23. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 24. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 25. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 26. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 27. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 28. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 29. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 30. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-api.R:71:9): 503 on GET with Retry-After is handled<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─testthat::expect_message(...) <1b>[90mtest-api.R:71:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat:::quasi_capture(enquo(object), label, capture_messages)
     <1b>[90m 3. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 4. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 5. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 6. <1b>[39m└─crunch::crGET("https://app.crunch.io/503/")
     <1b>[90m 7. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 8. <1b>[39m └─crunch:::handleAPIresponse(...)
     <1b>[90m 9. <1b>[39m └─crunch:::handleAPIfailure(code, response)
     <1b>[90m 10. <1b>[39m └─crunch::crGET(response$url)
     <1b>[90m 11. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 12. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 13. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 14. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 15. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 16. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 17. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-api.R:86:9): Checking feature flags<1b>[22m ─────────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─testthat::expect_true(featureFlag("this_is_on")) <1b>[90mtest-api.R:86:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat::quasi_label(enquo(object), label, arg = "object")
     <1b>[90m 3. <1b>[39m│ └─rlang::eval_bare(expr, quo_get_env(quo))
     <1b>[90m 4. <1b>[39m└─crunch:::featureFlag("this_is_on")
     <1b>[90m 5. <1b>[39m └─crunch:::sessionURL("feature_flag", "views")
     <1b>[90m 6. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 7. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 8. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 9. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 10. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 11. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 12. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 13. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 14. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 15. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 16. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 17. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 18. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 19. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 20. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-api.R:96:9): crDELETE passes on and calls drop= args<1b>[22m ───────────────────────────
     `crDELETE("https://app.crunch.io/delete-me", drop = stop(msg))` threw an error with unexpected message.
     Expected match: "Drop and roll"
     Actual message: "DELETE https://app.crunch.io/delete-me (app.crunch.io/delete-me-DELETE.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─testthat::expect_error(...) <1b>[90mtest-api.R:96:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 3. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 4. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 5. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 6. <1b>[39m└─crunch::crDELETE("https://app.crunch.io/delete-me", drop = stop(msg))
     <1b>[90m 7. <1b>[39m └─crunch:::crunchAPI("DELETE", ...)
     <1b>[90m 8. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 9. <1b>[39m └─httr::DELETE(url, ...)
     <1b>[90m 10. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 11. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 12. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 13. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-append-subset.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-append-subset.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-append-subset.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-appending.R:18:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-appending.R:18:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-appending.R:19:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-as-data-frame.R:5:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-as-data-frame.R:5:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("Vegetables example") <1b>[90mtest-as-data-frame.R:6:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-automation.R:11:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-automation.R:11:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-automation.R:12:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-batches.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-batches.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-batches.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-case-variables.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-case-variables.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-case-variables.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-case-when-variable.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-case-when-variable.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-case-when-variable.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-categories.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-categories.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-categories.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-change-category-id.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-change-category-id.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-change-category-id.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-combine-categories.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-combine-categories.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-combine-categories.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-combine-responses.R:6:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-combine-responses.R:6:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-combine-responses.R:7:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-compare.R:67:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-compare.R:67:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-compare.R:68:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-conditional-transform.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-conditional-transform.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-conditional-transform.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-copy-variable.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-copy-variable.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-copy-variable.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-crunch-data-frame-merge.R:4:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-crunch-data-frame-merge.R:4:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-crunch-data-frame-merge.R:5:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-crunch-data-frame.R:4:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-crunch-data-frame.R:4:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-crunch-data-frame.R:5:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-crunchbox.R:115:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-crunchbox.R:115:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-crunchbox.R:116:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-bases.R:8:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/admit-by-gender-weighted.
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube("cubes/admit-by-gender-weighted.json") <1b>[90mtest-cube-bases.R:8:0<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-basic.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/univariate-categorical.js
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube("cubes/univariate-categorical.json") <1b>[90mtest-cube-basic.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-calculations.R:4:5): dimensions attribute is correct on multiple MR cube<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/cat-x-mr-x-mr.json
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube("cubes/cat-x-mr-x-mr.json") <1b>[90mtest-cube-calculations.R:4:4<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-calculations.R:25:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/selected-crosstab-4.json
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube("cubes/selected-crosstab-4.json") <1b>[90mtest-cube-calculations.R:25:0<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-collapse-dimensions.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/full-cube.json
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube("cubes/full-cube.json") <1b>[90mtest-cube-collapse-dimensions.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-dims.R:4:5): getDimTypes returns the expected cube dimension types<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/catarray-x-mr.json
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube(test_path("cubes/catarray-x-mr.json")) <1b>[90mtest-cube-dims.R:4:4<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-dims.R:43:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-cube-dims.R:43:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-cube-dims.R:45:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-errors.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-cube-errors.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-cube-errors.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-index-table.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/univariate-categorical.js
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube(test_path("cubes/univariate-categorical.json")) <1b>[90mtest-cube-index-table.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-mr.R:18:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/selected-crosstab-4.json
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube(test_path("cubes/selected-crosstab-4.json")) <1b>[90mtest-cube-mr.R:18:0<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-residuals-zed-scores.R:6:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/selected-crosstab-array-l
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube("cubes/selected-crosstab-array-last.json") <1b>[90mtest-cube-residuals-zed-scores.R:6:0<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-subset.R:76:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/cat-x-mr-x-mr.json
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube(test_path("cubes/cat-x-mr-x-mr.json")) <1b>[90mtest-cube-subset.R:76:0<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-transforms.R:7:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/univariate-categorical-wi
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube("cubes/univariate-categorical-with-trans.json") <1b>[90mtest-cube-transforms.R:7:0<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cube-with-expression.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-cube-with-expression.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-cube-with-expression.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cubes.R:17:5): cube missing functions set @useNA<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/cat-x-mr-x-mr.json
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube(test_path("cubes/cat-x-mr-x-mr.json")) <1b>[90mtest-cubes.R:17:4<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cubes.R:24:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-cubes.R:24:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-cubes.R:25:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-cut.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-cut.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-cut.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-dataset-catalog.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-dataset-catalog.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch::datasets() <1b>[90mtest-dataset-catalog.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 11. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 12. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 13. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 14. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 15. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 16. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 17. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 18. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 19. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 20. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 21. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 22. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-dataset-entity.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-dataset-entity.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-dataset-entity.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-dataset-reference.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-dataset-reference.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-dataset-reference.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-dataset-stream.R:13:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-dataset-stream.R:13:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch::loadDataset("streaming test ds") <1b>[90mtest-dataset-stream.R:14:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 11. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 12. <1b>[39m ├─base::paste0(...)
     <1b>[90m 13. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 14. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 15. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 16. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 17. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 18. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 19. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 20. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 21. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 22. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 23. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 24. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 25. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 26. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 27. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 28. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-datetime.R:113:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-datetime.R:113:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-datetime.R:114:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-decks.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-decks.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch::loadDataset("test ds deck") <1b>[90mtest-decks.R:5:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 11. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 12. <1b>[39m ├─base::paste0(...)
     <1b>[90m 13. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 14. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 15. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 16. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 17. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 18. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 19. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 20. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 21. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 22. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 23. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 24. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 25. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 26. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 27. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 28. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-derive-array.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-derive-array.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-derive-array.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-derive.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-derive.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-derive.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-dimension-transforms.R:1:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/cat-array.json
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube("cubes/cat-array.json") <1b>[90mtest-dimension-transforms.R:1:0<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-drop-rows.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-drop-rows.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-drop-rows.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-exclusion-filter.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-exclusion-filter.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-exclusion-filter.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-export-dataset.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-export-dataset.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-export-dataset.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-expression-errors.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-expression-errors.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-expression-errors.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-expressions.R:29:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-expressions.R:29:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-expressions.R:30:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-fill-variable.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-fill-variable.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-fill-variable.R:29:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-filters.R:7:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-filters.R:7:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-filters.R:8:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-folders.R:15:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-folders.R:15:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-folders.R:16:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-fork.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-fork.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-fork.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-formula.R:4:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-formula.R:4:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-formula.R:5:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-geo.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-geo.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-geo.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-get-datasets.R:6:9): listDatasets lists datasets in your personal project (and warns once)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─testthat::expect_warning(...) <1b>[90mtest-get-datasets.R:6:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat:::quasi_capture(enquo(object), label, capture_warnings)
     <1b>[90m 3. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 4. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 5. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 6. <1b>[39m├─testthat::expect_identical(listDatasets(), c("test ds", "streaming no messages"))
     <1b>[90m 7. <1b>[39m│ └─testthat::quasi_label(enquo(object), label, arg = "object")
     <1b>[90m 8. <1b>[39m│ └─rlang::eval_bare(expr, quo_get_env(quo))
     <1b>[90m 9. <1b>[39m└─crunch::listDatasets()
     <1b>[90m 10. <1b>[39m ├─crunch::cd(projects(), project)
     <1b>[90m 11. <1b>[39m └─crunch::projects()
     <1b>[90m 12. <1b>[39m ├─crunch:::ProjectFolder(crGET(shojiURL(x, "catalogs", "projects")))
     <1b>[90m 13. <1b>[39m │ └─methods::new(...)
     <1b>[90m 14. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 15. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 16. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 17. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 18. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 19. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 21. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 22. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 23. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 24. <1b>[39m ├─crunch::crGET(shojiURL(x, "catalogs", "projects"))
     <1b>[90m 25. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 26. <1b>[39m ├─crunch::shojiURL(x, "catalogs", "projects")
     <1b>[90m 27. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 28. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 29. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 30. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 31. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 32. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 33. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 34. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 35. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 36. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 37. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 38. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 39. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 40. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-get-datasets.R:33:9): listDatasets in project<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─testthat::expect_identical(...) <1b>[90mtest-get-datasets.R:33:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat::quasi_label(enquo(object), label, arg = "object")
     <1b>[90m 3. <1b>[39m│ └─rlang::eval_bare(expr, quo_get_env(quo))
     <1b>[90m 4. <1b>[39m└─crunch::listDatasets(project = "Project One")
     <1b>[90m 5. <1b>[39m ├─crunch::cd(projects(), project)
     <1b>[90m 6. <1b>[39m └─crunch::projects()
     <1b>[90m 7. <1b>[39m ├─crunch:::ProjectFolder(crGET(shojiURL(x, "catalogs", "projects")))
     <1b>[90m 8. <1b>[39m │ └─methods::new(...)
     <1b>[90m 9. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 10. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 11. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 12. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 13. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 14. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 15. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 16. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 17. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 18. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 19. <1b>[39m ├─crunch::crGET(shojiURL(x, "catalogs", "projects"))
     <1b>[90m 20. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 21. <1b>[39m ├─crunch::shojiURL(x, "catalogs", "projects")
     <1b>[90m 22. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 23. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 24. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 25. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 26. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 27. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 28. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 29. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 30. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 31. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 32. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 33. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 34. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 35. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-get-datasets.R:58:13): listDatasets(refresh=TRUE) drops caches<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─utils::capture.output(...) <1b>[90mtest-get-datasets.R:58:12<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─base::withVisible(...elt(i))
     <1b>[90m 3. <1b>[39m└─crunch::listDatasets(refresh = TRUE) <1b>[90mtest-get-datasets.R:59:16<1b>[39m
     <1b>[90m 4. <1b>[39m └─crunch:::dropDatasetsCache()
     <1b>[90m 5. <1b>[39m ├─httpcache::dropCache(sessionURL("projects"))
     <1b>[90m 6. <1b>[39m │ ├─httpcache::dropPattern(paste0("^", regexEscape(popQuery(x))))
     <1b>[90m 7. <1b>[39m │ │ └─httpcache::logMessage("CACHE DROP", x)
     <1b>[90m 8. <1b>[39m │ │ └─base::paste(strftime(Sys.time(), "%Y-%m-%dT%H:%M:%OS3"), ...)
     <1b>[90m 9. <1b>[39m │ ├─base::paste0("^", regexEscape(popQuery(x)))
     <1b>[90m 10. <1b>[39m │ ├─httpcache:::regexEscape(popQuery(x))
     <1b>[90m 11. <1b>[39m │ │ └─base::gsub(paste0("(\\", i, ")"), "[\\1]", x)
     <1b>[90m 12. <1b>[39m │ │ └─base::is.factor(x)
     <1b>[90m 13. <1b>[39m │ └─httpcache:::popQuery(x)
     <1b>[90m 14. <1b>[39m │ └─base::sub("\\?.*$", "", x)
     <1b>[90m 15. <1b>[39m │ └─base::is.factor(x)
     <1b>[90m 16. <1b>[39m └─crunch:::sessionURL("projects")
     <1b>[90m 17. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 18. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 19. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 20. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 21. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 22. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 23. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 24. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 25. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 26. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 27. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 28. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 29. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 30. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 31. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-get-datasets.R:76:9): loadDataset loads<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch::loadDataset("test ds") <1b>[90mtest-get-datasets.R:76:8<1b>[39m
     <1b>[90m 2. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 3. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 4. <1b>[39m ├─base::paste0(...)
     <1b>[90m 5. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 6. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 7. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 8. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 9. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 10. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 11. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 12. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 13. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 14. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 15. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 16. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 17. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 18. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 19. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 20. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-get-datasets.R:82:9): loadDataset by index is deprecated<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::expect_deprecated(ds <- loadDataset(1)) <1b>[90mtest-get-datasets.R:82:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat::expect_warning(..., "deprecated") <1b>[90mC:\msys64\home\tomas\ucrt3\svn\ucrt3\r_packages\pkgcheck\CRAN\crunch\crunch.Rcheck\tests\testthat\helper-expectations.R:10:21<1b>[39m
     <1b>[90m 3. <1b>[39m│ └─testthat:::quasi_capture(enquo(object), label, capture_warnings)
     <1b>[90m 4. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 5. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 6. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 7. <1b>[39m└─crunch::loadDataset(1)
     <1b>[90m 8. <1b>[39m └─crunch::listDatasets(kind = kind, project = project)
     <1b>[90m 9. <1b>[39m ├─crunch::cd(projects(), project)
     <1b>[90m 10. <1b>[39m └─crunch::projects()
     <1b>[90m 11. <1b>[39m ├─crunch:::ProjectFolder(crGET(shojiURL(x, "catalogs", "projects")))
     <1b>[90m 12. <1b>[39m │ └─methods::new(...)
     <1b>[90m 13. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 14. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 15. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 16. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 17. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 18. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 19. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 20. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 21. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 22. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 23. <1b>[39m ├─crunch::crGET(shojiURL(x, "catalogs", "projects"))
     <1b>[90m 24. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 25. <1b>[39m ├─crunch::shojiURL(x, "catalogs", "projects")
     <1b>[90m 26. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 27. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 28. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 29. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 30. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 31. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 32. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 33. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 34. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 35. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 36. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 37. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 38. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 39. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-get-datasets.R:96:9): loadDataset loads with DatasetTuple<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch::loadDataset(cr$datasets[["test ds"]]) <1b>[90mtest-get-datasets.R:96:8<1b>[39m
     <1b>[90m 2. <1b>[39m├─cr$datasets
     <1b>[90m 3. <1b>[39m└─cr$datasets
     <1b>[90m 4. <1b>[39m ├─x[[name]]
     <1b>[90m 5. <1b>[39m └─x[[name]]
     <1b>[90m 6. <1b>[39m └─crunch:::.local(x, i, ...)
     <1b>[90m 7. <1b>[39m ├─base::do.call(i, list())
     <1b>[90m 8. <1b>[39m └─crunch::datasets()
     <1b>[90m 9. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 10. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 11. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 12. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 13. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 14. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 15. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 16. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 17. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 18. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 19. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 20. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 21. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-get-datasets.R:103:9): loadDataset by URL when in main catalog<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch::loadDataset("test ds") <1b>[90mtest-get-datasets.R:103:8<1b>[39m
     <1b>[90m 2. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 3. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 4. <1b>[39m ├─base::paste0(...)
     <1b>[90m 5. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 6. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 7. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 8. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 9. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 10. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 11. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 12. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 13. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 14. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 15. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 16. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 17. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 18. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 19. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 20. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-get-datasets.R:120:9): loadDataset by web app URL<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/datasets/3/ (app.crunch.io/api/datasets/3.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch::loadDataset("https://app.crunch.io/dataset/3/browse") <1b>[90mtest-get-datasets.R:120:8<1b>[39m
     <1b>[90m 2. <1b>[39m └─crunch:::loadDatasetFromURL(dataset)
     <1b>[90m 3. <1b>[39m ├─crunch::CrunchDataset(crGET(url))
     <1b>[90m 4. <1b>[39m │ └─methods::new(...)
     <1b>[90m 5. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 6. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 7. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 8. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 9. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 10. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 11. <1b>[39m └─crunch::crGET(url)
     <1b>[90m 12. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 13. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 14. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 15. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 16. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 17. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 18. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-get-datasets.R:126:9): loadDataset by path<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch::loadDataset("Project One/Project Two/ECON.sav") <1b>[90mtest-get-datasets.R:126:8<1b>[39m
     <1b>[90m 2. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 3. <1b>[39m └─crunch::projects()
     <1b>[90m 4. <1b>[39m ├─crunch:::ProjectFolder(crGET(shojiURL(x, "catalogs", "projects")))
     <1b>[90m 5. <1b>[39m │ └─methods::new(...)
     <1b>[90m 6. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 7. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 8. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 9. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 10. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 11. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 12. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 13. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 14. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 15. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 16. <1b>[39m ├─crunch::crGET(shojiURL(x, "catalogs", "projects"))
     <1b>[90m 17. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 18. <1b>[39m ├─crunch::shojiURL(x, "catalogs", "projects")
     <1b>[90m 19. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 20. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 21. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 22. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 23. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 24. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 25. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 26. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 27. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 28. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 29. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 30. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 31. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 32. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-get-datasets.R:136:13): loadDataset(refresh=TRUE) drops caches<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─utils::capture.output(...) <1b>[90mtest-get-datasets.R:136:12<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─base::withVisible(...elt(i))
     <1b>[90m 3. <1b>[39m└─crunch::loadDataset("test ds", refresh = TRUE) <1b>[90mtest-get-datasets.R:137:16<1b>[39m
     <1b>[90m 4. <1b>[39m └─crunch:::dropDatasetsCache()
     <1b>[90m 5. <1b>[39m ├─httpcache::dropCache(sessionURL("projects"))
     <1b>[90m 6. <1b>[39m │ ├─httpcache::dropPattern(paste0("^", regexEscape(popQuery(x))))
     <1b>[90m 7. <1b>[39m │ │ └─httpcache::logMessage("CACHE DROP", x)
     <1b>[90m 8. <1b>[39m │ │ └─base::paste(strftime(Sys.time(), "%Y-%m-%dT%H:%M:%OS3"), ...)
     <1b>[90m 9. <1b>[39m │ ├─base::paste0("^", regexEscape(popQuery(x)))
     <1b>[90m 10. <1b>[39m │ ├─httpcache:::regexEscape(popQuery(x))
     <1b>[90m 11. <1b>[39m │ │ └─base::gsub(paste0("(\\", i, ")"), "[\\1]", x)
     <1b>[90m 12. <1b>[39m │ │ └─base::is.factor(x)
     <1b>[90m 13. <1b>[39m │ └─httpcache:::popQuery(x)
     <1b>[90m 14. <1b>[39m │ └─base::sub("\\?.*$", "", x)
     <1b>[90m 15. <1b>[39m │ └─base::is.factor(x)
     <1b>[90m 16. <1b>[39m └─crunch:::sessionURL("projects")
     <1b>[90m 17. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 18. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 19. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 20. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 21. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 22. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 23. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 24. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 25. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 26. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 27. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 28. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 29. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 30. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 31. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-get-datasets.R:147:9): loadDataset error handling<1b>[22m ───────────────────────────
     `loadDataset("not a dataset")` threw an error with unexpected message.
     Expected match: "\"not a dataset\" not found"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─testthat::expect_error(...) <1b>[90mtest-get-datasets.R:147:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 3. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 4. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 5. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 6. <1b>[39m└─crunch::loadDataset("not a dataset")
     <1b>[90m 7. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 8. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 9. <1b>[39m ├─base::paste0(...)
     <1b>[90m 10. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 11. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 12. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 13. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 14. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 15. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 16. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 17. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 18. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 19. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 20. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 21. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 22. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 23. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 24. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 25. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-get-datasets.R:151:9): loadDataset error handling<1b>[22m ───────────────────────────
     `loadDataset("not a dataset", project = 42)` threw an error with unexpected message.
     Expected match: "Project 42 is not valid"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─testthat::expect_error(...) <1b>[90mtest-get-datasets.R:151:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 3. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 4. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 5. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 6. <1b>[39m└─crunch::loadDataset("not a dataset", project = 42)
     <1b>[90m 7. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 8. <1b>[39m └─crunch::projects()
     <1b>[90m 9. <1b>[39m ├─crunch:::ProjectFolder(crGET(shojiURL(x, "catalogs", "projects")))
     <1b>[90m 10. <1b>[39m │ └─methods::new(...)
     <1b>[90m 11. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 12. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 13. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 14. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 15. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 16. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 17. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 18. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 19. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 20. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 21. <1b>[39m ├─crunch::crGET(shojiURL(x, "catalogs", "projects"))
     <1b>[90m 22. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 23. <1b>[39m ├─crunch::shojiURL(x, "catalogs", "projects")
     <1b>[90m 24. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 25. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 26. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 27. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 28. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 29. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 30. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 31. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 32. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 33. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 34. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 35. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 36. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 37. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-get-datasets.R:155:9): loadDataset error handling<1b>[22m ───────────────────────────
     `loadDataset(c("test ds", "ECON.sav"))` threw an error with unexpected message.
     Expected match: "\"test ds\" is not a folder"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─testthat::expect_error(...) <1b>[90mtest-get-datasets.R:155:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 3. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 4. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 5. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 6. <1b>[39m└─crunch::loadDataset(c("test ds", "ECON.sav"))
     <1b>[90m 7. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 8. <1b>[39m └─crunch::projects()
     <1b>[90m 9. <1b>[39m ├─crunch:::ProjectFolder(crGET(shojiURL(x, "catalogs", "projects")))
     <1b>[90m 10. <1b>[39m │ └─methods::new(...)
     <1b>[90m 11. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 12. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 13. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 14. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 15. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 16. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 17. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 18. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 19. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 20. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 21. <1b>[39m ├─crunch::crGET(shojiURL(x, "catalogs", "projects"))
     <1b>[90m 22. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 23. <1b>[39m ├─crunch::shojiURL(x, "catalogs", "projects")
     <1b>[90m 24. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 25. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 26. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 27. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 28. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 29. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 30. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 31. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 32. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 33. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 34. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 35. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 36. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 37. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-hide-variables.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-hide-variables.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("ECON.sav") <1b>[90mtest-hide-variables.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-interact.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-interact.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-interact.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-make-array.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-make-array.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-make-array.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-merge-datasets.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-merge-datasets.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-merge-datasets.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-misc.R:201:5): loadCube can handle a number of locations<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/array-cube-sans-metadata.
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube("cubes/array-cube-sans-metadata.json") <1b>[90mtest-misc.R:201:4<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-misc.R:207:5): Cubify works with many dimensions<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     cubes/univariate-categorical.js
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─jsonlite::fromJSON(cubePath("cubes/univariate-categorical.json")) <1b>[90mtest-misc.R:207:4<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-misc.R:300:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-misc.R:300:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-misc.R:301:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-multitables.R:8:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-multitables.R:8:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-multitables.R:9:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:29:9): Basic exercise of turning data.frame to Crunch payload<1b>[22m ───────────────────────────
     `object` threw an error with unexpected message.
     Expected match: "POST https://app.crunch.io/api/datasets/ {\"element\":\"shoji:entity\",\"body\":{\"name\":\"Testing\",\"table\":{\"element\":\"crunch:table\",\"metadata\":{\"a\":{\"type\":\"numeric\",\"name\":\"a\",\"alias\":\"a\"}},\"order\":[\"a\"]}}}"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─httptest::expect_POST(...) <1b>[90mtest-new-dataset.R:29:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─httptest:::expect_mock_request(object, "POST ", url, " ", ...)
     <1b>[90m 3. <1b>[39m│ └─request_happened()(...)
     <1b>[90m 4. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 5. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 6. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 7. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 8. <1b>[39m└─crunch::newDataset(data.frame(a = 1), name = "Testing")
     <1b>[90m 9. <1b>[39m └─crunch::createWithPreparedData(d)
     <1b>[90m 10. <1b>[39m └─crunch::createWithMetadataAndFile(metadata, data)
     <1b>[90m 11. <1b>[39m └─crunch:::uploadMetadata(metadata)
     <1b>[90m 12. <1b>[39m └─crunch::createDataset(body = metadata)
     <1b>[90m 13. <1b>[39m ├─crunch::crPOST(sessionURL("datasets"), body = toJSON(body))
     <1b>[90m 14. <1b>[39m │ └─crunch:::crunchAPI("POST", ...)
     <1b>[90m 15. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 16. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 17. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 18. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 19. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 20. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 21. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 22. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 23. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 24. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 25. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 26. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 27. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 28. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 29. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 30. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:40:9): Turning data.frame to Crunch payload without a name<1b>[22m ───────────────────────────
     `object` threw an error with unexpected message.
     Expected match: "POST https://app.crunch.io/api/datasets/ {\"element\":\"shoji:entity\",\"body\":{\"name\":\"data.frame(a = 1)\",\"table\":{\"element\":\"crunch:table\",\"metadata\":{\"a\":{\"type\":\"numeric\",\"name\":\"a\",\"alias\":\"a\"}},\"order\":[\"a\"]}}}"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─httptest::expect_POST(...) <1b>[90mtest-new-dataset.R:40:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─httptest:::expect_mock_request(object, "POST ", url, " ", ...)
     <1b>[90m 3. <1b>[39m│ └─request_happened()(...)
     <1b>[90m 4. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 5. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 6. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 7. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 8. <1b>[39m└─crunch::newDataset(data.frame(a = 1))
     <1b>[90m 9. <1b>[39m └─crunch::createWithPreparedData(d)
     <1b>[90m 10. <1b>[39m └─crunch::createWithMetadataAndFile(metadata, data)
     <1b>[90m 11. <1b>[39m └─crunch:::uploadMetadata(metadata)
     <1b>[90m 12. <1b>[39m └─crunch::createDataset(body = metadata)
     <1b>[90m 13. <1b>[39m ├─crunch::crPOST(sessionURL("datasets"), body = toJSON(body))
     <1b>[90m 14. <1b>[39m │ └─crunch:::crunchAPI("POST", ...)
     <1b>[90m 15. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 16. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 17. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 18. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 19. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 20. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 21. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 22. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 23. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 24. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 25. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 26. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 27. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 28. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 29. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 30. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:51:9): Turning data.frame to Crunch payload with a long name<1b>[22m ───────────────────────────
     `object` threw an error with unexpected message.
     Expected match: "POST https://app.crunch.io/api/datasets/ {\"element\":\"shoji:entity\",\"body\":{\"name\":\"data.frame(a = 1, really_really_long_nam\",\"table\":{\"element\":\"crunch:table\",\"metadata\":{\"a\":{\"type\":\"numeric\",\"name\":\"a\",\"alias\":\"a\"},\"really_really_long_name\":{\"type\":\"numeric\",\"name\":\"really_really_long_name\",\"alias\":\"really_really_long_name\"}},\"order\":[\"a\",\"really_really_long_name\"]}}}"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─httptest::expect_POST(...) <1b>[90mtest-new-dataset.R:51:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─httptest:::expect_mock_request(object, "POST ", url, " ", ...)
     <1b>[90m 3. <1b>[39m│ └─request_happened()(...)
     <1b>[90m 4. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 5. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 6. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 7. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 8. <1b>[39m└─crunch::newDataset(data.frame(a = 1, really_really_long_name = 2))
     <1b>[90m 9. <1b>[39m └─crunch::createWithPreparedData(d)
     <1b>[90m 10. <1b>[39m └─crunch::createWithMetadataAndFile(metadata, data)
     <1b>[90m 11. <1b>[39m └─crunch:::uploadMetadata(metadata)
     <1b>[90m 12. <1b>[39m └─crunch::createDataset(body = metadata)
     <1b>[90m 13. <1b>[39m ├─crunch::crPOST(sessionURL("datasets"), body = toJSON(body))
     <1b>[90m 14. <1b>[39m │ └─crunch:::crunchAPI("POST", ...)
     <1b>[90m 15. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 16. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 17. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 18. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 19. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 20. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 21. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 22. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 23. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 24. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 25. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 26. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 27. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 28. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 29. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 30. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-new-dataset.R:64:9): uploadData writes out a gzipped file<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-new-dataset.R:64:8<1b>[39m
     <1b>[90m 2. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 3. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 4. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 5. <1b>[39m ├─base::paste0(...)
     <1b>[90m 6. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 7. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 8. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 9. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 10. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 11. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 12. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 13. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 14. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 15. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 16. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 17. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 18. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 19. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 20. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 21. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:76:9): createDataset with named args<1b>[22m ───────────────────────────
     `object` threw an error with unexpected message.
     Expected match: "POST https://app.crunch.io/api/datasets/ {\"element\":\"shoji:entity\",\"body\":{\"name\":\"Foo\",\"description\":\"Bar.\"}}"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─httptest::expect_POST(...) <1b>[90mtest-new-dataset.R:76:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─httptest:::expect_mock_request(object, "POST ", url, " ", ...)
     <1b>[90m 3. <1b>[39m│ └─request_happened()(...)
     <1b>[90m 4. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 5. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 6. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 7. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 8. <1b>[39m└─crunch::createDataset(name = "Foo", description = "Bar.")
     <1b>[90m 9. <1b>[39m ├─crunch::crPOST(sessionURL("datasets"), body = toJSON(body))
     <1b>[90m 10. <1b>[39m │ └─crunch:::crunchAPI("POST", ...)
     <1b>[90m 11. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 12. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 13. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 14. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 15. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 16. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 17. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 18. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 19. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 20. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 21. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 22. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 23. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 24. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 25. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 26. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-new-dataset.R:84:9): createDataset returns a dataset<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_POST("https://app.crunch.io/api/datasets/1/", expect_true(is.dataset(createDataset(name = "Foo")))) <1b>[90mtest-new-dataset.R:84:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─testthat::with_mock(`crunch::crPOST` = function(...) resp, eval.parent(expr))
     <1b>[90m 3. <1b>[39m│ │ └─base::eval(code[[length(code)]], parent.frame())
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(code[[length(code)]], parent.frame())
     <1b>[90m 5. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 6. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 7. <1b>[39m├─testthat::expect_true(is.dataset(createDataset(name = "Foo")))
     <1b>[90m 8. <1b>[39m│ └─testthat::quasi_label(enquo(object), label, arg = "object")
     <1b>[90m 9. <1b>[39m│ └─rlang::eval_bare(expr, quo_get_env(quo))
     <1b>[90m 10. <1b>[39m├─crunch::is.dataset(createDataset(name = "Foo"))
     <1b>[90m 11. <1b>[39m└─crunch::createDataset(name = "Foo")
     <1b>[90m 12. <1b>[39m └─crunch:::dropDatasetsCache()
     <1b>[90m 13. <1b>[39m ├─httpcache::dropCache(sessionURL("projects"))
     <1b>[90m 14. <1b>[39m │ ├─httpcache::dropPattern(paste0("^", regexEscape(popQuery(x))))
     <1b>[90m 15. <1b>[39m │ │ ├─base::rm(list = ls(envir = cache, pattern = x), envir = cache)
     <1b>[90m 16. <1b>[39m │ │ └─base::ls(envir = cache, pattern = x)
     <1b>[90m 17. <1b>[39m │ │ └─base::grep("[", pattern, fixed = TRUE)
     <1b>[90m 18. <1b>[39m │ │ └─base::is.factor(x)
     <1b>[90m 19. <1b>[39m │ ├─base::paste0("^", regexEscape(popQuery(x)))
     <1b>[90m 20. <1b>[39m │ ├─httpcache:::regexEscape(popQuery(x))
     <1b>[90m 21. <1b>[39m │ │ └─base::gsub(paste0("(\\", i, ")"), "[\\1]", x)
     <1b>[90m 22. <1b>[39m │ │ └─base::is.factor(x)
     <1b>[90m 23. <1b>[39m │ └─httpcache:::popQuery(x)
     <1b>[90m 24. <1b>[39m │ └─base::sub("\\?.*$", "", x)
     <1b>[90m 25. <1b>[39m │ └─base::is.factor(x)
     <1b>[90m 26. <1b>[39m └─crunch:::sessionURL("projects")
     <1b>[90m 27. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 28. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 29. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 30. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 31. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 32. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 33. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 34. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 35. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 36. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 37. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 38. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 39. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 40. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 41. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:90:9): newDataset calls newDatasetFromFile if given a string<1b>[22m ───────────────────────────
     `object` threw an error with unexpected message.
     Expected match: "POST https://app.crunch.io/api/datasets/ {\"element\":\"shoji:entity\",\"body\":{\"name\":\"helper.R\"}}"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch::newDatasetFromFile(x = "helper.R")
     <1b>[90m 2. <1b>[39m └─crunch::createDataset(name = name, ...)
     <1b>[90m 3. <1b>[39m ├─crunch::crPOST(sessionURL("datasets"), body = toJSON(body))
     <1b>[90m 4. <1b>[39m │ └─crunch:::crunchAPI("POST", ...)
     <1b>[90m 5. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 6. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 7. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 8. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 9. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 10. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 11. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 12. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 13. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 14. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 15. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 16. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 17. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 18. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 19. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 20. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:97:9): newDataset with a schema posts to sources<1b>[22m ───────────────────────────
     `object` threw an error with unexpected message.
     Expected match: "POST https://app.crunch.io/api/sources/ list\\(uploaded_file = list\\(path = .*helper.R"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch::newDatasetFromFile(x = "helper.R", schema = "helper.R")
     <1b>[90m 2. <1b>[39m └─crunch:::createSource(schema)
     <1b>[90m 3. <1b>[39m └─crunch:::sessionURL("sources")
     <1b>[90m 4. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 5. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 6. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 7. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 8. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 9. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 10. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 11. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 12. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 13. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 14. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 15. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 16. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 17. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 18. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (???): newDataset with schema and data posts, adds to batches and appends<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch::newDatasetFromFile(x = "teardown.R", schema = "setup.R")
     <1b>[90m 2. <1b>[39m └─crunch:::createSource(schema)
     <1b>[90m 3. <1b>[39m └─crunch:::sessionURL("sources")
     <1b>[90m 4. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 5. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 6. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 7. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 8. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 9. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 10. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 11. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 12. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 13. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 14. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 15. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 16. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 17. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 18. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:112:9): newDataset(FromFile) cleans up the dataset entity if the file is invalid<1b>[22m ───────────────────────────
     `object` threw an error with unexpected message.
     Expected match: "DELETE https://app.crunch.io/api/datasets/1/"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch::newDatasetFromFile(x = "NOTAFILE.exe")
     <1b>[90m 2. <1b>[39m └─crunch::createDataset(name = name, ...)
     <1b>[90m 3. <1b>[39m └─crunch:::dropDatasetsCache()
     <1b>[90m 4. <1b>[39m ├─httpcache::dropCache(sessionURL("projects"))
     <1b>[90m 5. <1b>[39m │ ├─httpcache::dropPattern(paste0("^", regexEscape(popQuery(x))))
     <1b>[90m 6. <1b>[39m │ │ ├─base::rm(list = ls(envir = cache, pattern = x), envir = cache)
     <1b>[90m 7. <1b>[39m │ │ └─base::ls(envir = cache, pattern = x)
     <1b>[90m 8. <1b>[39m │ │ └─base::grep("[", pattern, fixed = TRUE)
     <1b>[90m 9. <1b>[39m │ │ └─base::is.factor(x)
     <1b>[90m 10. <1b>[39m │ ├─base::paste0("^", regexEscape(popQuery(x)))
     <1b>[90m 11. <1b>[39m │ ├─httpcache:::regexEscape(popQuery(x))
     <1b>[90m 12. <1b>[39m │ │ └─base::gsub(paste0("(\\", i, ")"), "[\\1]", x)
     <1b>[90m 13. <1b>[39m │ │ └─base::is.factor(x)
     <1b>[90m 14. <1b>[39m │ └─httpcache:::popQuery(x)
     <1b>[90m 15. <1b>[39m │ └─base::sub("\\?.*$", "", x)
     <1b>[90m 16. <1b>[39m │ └─base::is.factor(x)
     <1b>[90m 17. <1b>[39m └─crunch:::sessionURL("projects")
     <1b>[90m 18. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 19. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 20. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 21. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 22. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 23. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 24. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 25. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 26. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 27. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 28. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 29. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 30. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 31. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 32. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:112:9): newDataset(FromFile) cleans up the dataset entity if the file is invalid<1b>[22m ───────────────────────────
     `newDataset("NOTAFILE.exe")` threw an error with unexpected message.
     Expected match: "File not found"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch::newDatasetFromFile(x = "NOTAFILE.exe")
     <1b>[90m 2. <1b>[39m └─crunch::createDataset(name = name, ...)
     <1b>[90m 3. <1b>[39m └─crunch:::dropDatasetsCache()
     <1b>[90m 4. <1b>[39m ├─httpcache::dropCache(sessionURL("projects"))
     <1b>[90m 5. <1b>[39m │ ├─httpcache::dropPattern(paste0("^", regexEscape(popQuery(x))))
     <1b>[90m 6. <1b>[39m │ │ ├─base::rm(list = ls(envir = cache, pattern = x), envir = cache)
     <1b>[90m 7. <1b>[39m │ │ └─base::ls(envir = cache, pattern = x)
     <1b>[90m 8. <1b>[39m │ │ └─base::grep("[", pattern, fixed = TRUE)
     <1b>[90m 9. <1b>[39m │ │ └─base::is.factor(x)
     <1b>[90m 10. <1b>[39m │ ├─base::paste0("^", regexEscape(popQuery(x)))
     <1b>[90m 11. <1b>[39m │ ├─httpcache:::regexEscape(popQuery(x))
     <1b>[90m 12. <1b>[39m │ │ └─base::gsub(paste0("(\\", i, ")"), "[\\1]", x)
     <1b>[90m 13. <1b>[39m │ │ └─base::is.factor(x)
     <1b>[90m 14. <1b>[39m │ └─httpcache:::popQuery(x)
     <1b>[90m 15. <1b>[39m │ └─base::sub("\\?.*$", "", x)
     <1b>[90m 16. <1b>[39m │ └─base::is.factor(x)
     <1b>[90m 17. <1b>[39m └─crunch:::sessionURL("projects")
     <1b>[90m 18. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 19. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 20. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 21. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 22. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 23. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 24. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 25. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 26. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 27. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 28. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 29. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 30. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 31. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 32. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:126:9): newDataset(FromFile) can take an s3 URL<1b>[22m ───────────────────────────
     `object` threw an error with unexpected message.
     Expected match: "POST https://app.crunch.io/api/datasets/1/batches/ {\"element\":\"shoji:entity\",\"body\":{\"url\":\"s3://httpbin.org/get\"}}"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch::newDatasetFromFile(x = "s3://httpbin.org/get")
     <1b>[90m 2. <1b>[39m └─crunch::createDataset(name = name, ...)
     <1b>[90m 3. <1b>[39m ├─crunch::crPOST(sessionURL("datasets"), body = toJSON(body))
     <1b>[90m 4. <1b>[39m │ └─crunch:::crunchAPI("POST", ...)
     <1b>[90m 5. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 6. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 7. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 8. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 9. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 10. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 11. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 12. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 13. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 14. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 15. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 16. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 17. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 18. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 19. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 20. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:136:9): newDataset(FromFile) can take an http(s) URL<1b>[22m ───────────────────────────
     `object` threw an error with unexpected message.
     Expected match: "POST https://app.crunch.io/api/sources/ {\"element\":\"shoji:entity\",\"body\":{\"location\":\"https://httpbin.org/get\"}}"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch::newDatasetFromFile(x = "https://httpbin.org/get")
     <1b>[90m 2. <1b>[39m └─crunch::createDataset(name = name, ...)
     <1b>[90m 3. <1b>[39m ├─crunch::crPOST(sessionURL("datasets"), body = toJSON(body))
     <1b>[90m 4. <1b>[39m │ └─crunch:::crunchAPI("POST", ...)
     <1b>[90m 5. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 6. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 7. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 8. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 9. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 10. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 11. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 12. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 13. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 14. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 15. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 16. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 17. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 18. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 19. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 20. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:147:9): newDatasetByColumn<1b>[22m ───────────────────────────
     `object` threw an error with unexpected message.
     Expected match: "POST https://app.crunch.io/api/datasets/ {\"element\":\"shoji:entity\",\"body\":{\"name\":\"Bam!\"}}"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─httptest::expect_POST(...) <1b>[90mtest-new-dataset.R:147:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─httptest:::expect_mock_request(object, "POST ", url, " ", ...)
     <1b>[90m 3. <1b>[39m│ └─request_happened()(...)
     <1b>[90m 4. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 5. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 6. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 7. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 8. <1b>[39m└─crunch::newDatasetByColumn(data.frame(a = 1), name = "Bam!")
     <1b>[90m 9. <1b>[39m └─crunch::createDataset(name = name, ...)
     <1b>[90m 10. <1b>[39m ├─crunch::crPOST(sessionURL("datasets"), body = toJSON(body))
     <1b>[90m 11. <1b>[39m │ └─crunch:::crunchAPI("POST", ...)
     <1b>[90m 12. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 13. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 14. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 15. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 16. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 17. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 18. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 19. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 20. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 21. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 22. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 23. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 24. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 25. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 26. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 27. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:155:9): createSource validation<1b>[22m ───────────────────────────
     `createSource("File not found")` threw an error with unexpected message.
     Expected match: "File not found"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─testthat::expect_error(createSource("File not found"), "File not found") <1b>[90mtest-new-dataset.R:155:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 3. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 4. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 5. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 6. <1b>[39m└─crunch:::createSource("File not found")
     <1b>[90m 7. <1b>[39m └─crunch:::sessionURL("sources")
     <1b>[90m 8. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 9. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 10. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 11. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 12. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 13. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 14. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 15. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 16. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 17. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 18. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 19. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 20. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 21. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 22. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:159:9): createSource validation<1b>[22m ───────────────────────────
     `createSource(name = "x")` threw an error with unexpected message.
     Expected match: "Must provide a file or url to createSource"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─testthat::expect_error(createSource(name = "x"), "Must provide a file or url to createSource") <1b>[90mtest-new-dataset.R:159:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 3. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 4. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 5. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 6. <1b>[39m└─crunch:::createSource(name = "x")
     <1b>[90m 7. <1b>[39m └─crunch:::sessionURL("sources")
     <1b>[90m 8. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 9. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 10. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 11. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 12. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 13. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 14. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 15. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 16. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 17. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 18. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 19. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 20. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 21. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 22. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-new-dataset.R:166:9): newExampleDataset<1b>[22m ───────────────────────────
     `object` threw an error with unexpected message.
     Expected match: "POST https://app.crunch.io/api/datasets/ {\"element\":\"shoji:entity\",\"body\":{\"name\":\"Example dataset\","
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─httptest::expect_POST(...) <1b>[90mtest-new-dataset.R:166:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─httptest:::expect_mock_request(object, "POST ", url, " ", ...)
     <1b>[90m 3. <1b>[39m│ └─request_happened()(...)
     <1b>[90m 4. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 5. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 6. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 7. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 8. <1b>[39m└─crunch::newExampleDataset()
     <1b>[90m 9. <1b>[39m └─crunch::createWithMetadataAndFile(...)
     <1b>[90m 10. <1b>[39m └─crunch:::uploadMetadata(metadata)
     <1b>[90m 11. <1b>[39m └─crunch::createDataset(body = metadata)
     <1b>[90m 12. <1b>[39m ├─crunch::crPOST(sessionURL("datasets"), body = toJSON(body))
     <1b>[90m 13. <1b>[39m │ └─crunch:::crunchAPI("POST", ...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-palettes.R:1:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-palettes.R:1:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("Vegetables example") <1b>[90mtest-palettes.R:2:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-private-variables.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-private-variables.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch::loadDataset("Private test") <1b>[90mtest-private-variables.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 11. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 12. <1b>[39m ├─base::paste0(...)
     <1b>[90m 13. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 14. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 15. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 16. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 17. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 18. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 19. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 20. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 21. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 22. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 23. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 24. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 25. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 26. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 27. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 28. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-project-folder.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-project-folder.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch::projects() <1b>[90mtest-project-folder.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m ├─crunch:::ProjectFolder(crGET(shojiURL(x, "catalogs", "projects")))
     <1b>[90m 11. <1b>[39m │ └─methods::new(...)
     <1b>[90m 12. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 13. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 14. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 15. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 16. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 17. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 18. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 19. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 20. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 21. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 22. <1b>[39m ├─crunch::crGET(shojiURL(x, "catalogs", "projects"))
     <1b>[90m 23. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m ├─crunch::shojiURL(x, "catalogs", "projects")
     <1b>[90m 25. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 26. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 27. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 28. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 29. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 30. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 31. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 32. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 33. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 34. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 35. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 36. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 37. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 38. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-projects.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-projects.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m├─session()$projects <1b>[90mtest-projects.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m└─session()$projects
     <1b>[90m 11. <1b>[39m ├─x[[name]]
     <1b>[90m 12. <1b>[39m └─x[[name]]
     <1b>[90m 13. <1b>[39m └─crunch:::.local(x, i, ...)
     <1b>[90m 14. <1b>[39m ├─base::do.call(i, list())
     <1b>[90m 15. <1b>[39m └─crunch::projects()
     <1b>[90m 16. <1b>[39m ├─crunch:::ProjectFolder(crGET(shojiURL(x, "catalogs", "projects")))
     <1b>[90m 17. <1b>[39m │ └─methods::new(...)
     <1b>[90m 18. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 19. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 21. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 22. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 23. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 24. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 25. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 26. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 27. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 28. <1b>[39m ├─crunch::crGET(shojiURL(x, "catalogs", "projects"))
     <1b>[90m 29. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 30. <1b>[39m ├─crunch::shojiURL(x, "catalogs", "projects")
     <1b>[90m 31. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 32. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 33. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 34. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 35. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 36. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 37. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 38. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 39. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 40. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 41. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 42. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 43. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 44. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-rowwise.R:1:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-rowwise.R:1:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-rowwise.R:2:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-search.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-search.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch::searchDatasets("gender") <1b>[90mtest-search.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch:::sessionURL("search", "views")
     <1b>[90m 11. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 12. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 13. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 14. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 15. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 16. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 17. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 18. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 19. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 20. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 21. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 22. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 23. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 24. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 25. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-session.R:6:9): session() returns a session object<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─testthat::expect_is(cr$datasets, "DatasetCatalog") <1b>[90mtest-session.R:6:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat::quasi_label(enquo(object), label, arg = "object")
     <1b>[90m 3. <1b>[39m│ └─rlang::eval_bare(expr, quo_get_env(quo))
     <1b>[90m 4. <1b>[39m├─cr$datasets
     <1b>[90m 5. <1b>[39m└─cr$datasets
     <1b>[90m 6. <1b>[39m ├─x[[name]]
     <1b>[90m 7. <1b>[39m └─x[[name]]
     <1b>[90m 8. <1b>[39m └─crunch:::.local(x, i, ...)
     <1b>[90m 9. <1b>[39m ├─base::do.call(i, list())
     <1b>[90m 10. <1b>[39m └─crunch::datasets()
     <1b>[90m 11. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 12. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 13. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 14. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 15. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 16. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 17. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 18. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 19. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 20. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 21. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 22. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 23. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-session.R:11:9): Can assign into a session object<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─cr$datasets <1b>[90mtest-session.R:11:8<1b>[39m
     <1b>[90m 2. <1b>[39m└─cr$datasets
     <1b>[90m 3. <1b>[39m ├─x[[name]]
     <1b>[90m 4. <1b>[39m └─x[[name]]
     <1b>[90m 5. <1b>[39m └─crunch:::.local(x, i, ...)
     <1b>[90m 6. <1b>[39m ├─base::do.call(i, list())
     <1b>[90m 7. <1b>[39m └─crunch::datasets()
     <1b>[90m 8. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 9. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 10. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 11. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 12. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 13. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 14. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 15. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 16. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 17. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 18. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 19. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 20. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-share.R:5:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-share.R:5:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-share.R:6:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-shoji.R:55:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/datasets/all (app.crunch.io/api/datasets/all.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-shoji.R:55:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m├─crunch:::DatasetCatalog(crGET("https://app.crunch.io/api/datasets/all")) <1b>[90mtest-shoji.R:56:4<1b>[39m
     <1b>[90m 10. <1b>[39m│ └─methods::new(...)
     <1b>[90m 11. <1b>[39m│ ├─methods::initialize(value, ...)
     <1b>[90m 12. <1b>[39m│ └─crunch:::initialize(value, ...)
     <1b>[90m 13. <1b>[39m│ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 14. <1b>[39m│ │ └─base::eval(call, callEnv)
     <1b>[90m 15. <1b>[39m│ │ └─base::eval(call, callEnv)
     <1b>[90m 16. <1b>[39m│ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 17. <1b>[39m│ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 18. <1b>[39m│ │ └─base::eval(call, callEnv)
     <1b>[90m 19. <1b>[39m│ │ └─base::eval(call, callEnv)
     <1b>[90m 20. <1b>[39m│ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 21. <1b>[39m└─crunch::crGET("https://app.crunch.io/api/datasets/all")
     <1b>[90m 22. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 23. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 24. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 25. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 26. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 27. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 28. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-sliding-categories.R:84:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-sliding-categories.R:84:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("ECON.sav") <1b>[90mtest-sliding-categories.R:85:2<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-subtotals-and-headings.R:110:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-subtotals-and-headings.R:110:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-subtotals-and-headings.R:111:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-subvariables.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-subvariables.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-subvariables.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-summary-insertions.R:97:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: lexical error: invalid char in json text.
     ./cubes/feelings-pets.json
     (right here) ------^
    
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::loadCube("./cubes/feelings-pets.json") <1b>[90mtest-summary-insertions.R:97:0<1b>[39m
     <1b>[90m 2. <1b>[39m └─jsonlite::fromJSON(filename, simplifyVector = FALSE)
     <1b>[90m 3. <1b>[39m └─jsonlite:::parse_and_simplify(...)
     <1b>[90m 4. <1b>[39m └─jsonlite:::parseJSON(txt, bigint_as_char)
     <1b>[90m 5. <1b>[39m └─jsonlite:::parse_string(txt, bigint_as_char)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-teams.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-teams.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch::getTeams() <1b>[90mtest-teams.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m ├─crunch:::TeamCatalog(crGET(sessionURL("teams")))
     <1b>[90m 11. <1b>[39m │ └─methods::new(structure("TeamCatalog", package = "crunch"), ...)
     <1b>[90m 12. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 13. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 14. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 15. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 16. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 17. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 18. <1b>[39m ├─crunch::crGET(sessionURL("teams"))
     <1b>[90m 19. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 20. <1b>[39m └─crunch:::sessionURL("teams")
     <1b>[90m 21. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 22. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 23. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 24. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 25. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 26. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 27. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 28. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 29. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 30. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 31. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 32. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 33. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 34. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 35. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-update-with-missing.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-update-with-missing.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-update-with-missing.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-update.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-update.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-update.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-user-info.R:12:9): users() works with dataset tuples from catalogs<1b>[22m ───────────────────────────
     Error: error in evaluating the argument 'x' in selecting a method for function 'users': GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch::users(datasets()[[1]]) <1b>[90mtest-user-info.R:12:8<1b>[39m
     <1b>[90m 2. <1b>[39m├─crunch::datasets()
     <1b>[90m 3. <1b>[39m│ └─crunch:::getAPIRoot()
     <1b>[90m 4. <1b>[39m│ ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 5. <1b>[39m│ │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 6. <1b>[39m│ │ ├─methods::initialize(value, ...)
     <1b>[90m 7. <1b>[39m│ │ └─crunch:::initialize(value, ...)
     <1b>[90m 8. <1b>[39m│ └─crunch::crGET(x)
     <1b>[90m 9. <1b>[39m│ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 10. <1b>[39m│ └─httpcache:::FUN(...)
     <1b>[90m 11. <1b>[39m│ └─httr::GET(url, ...)
     <1b>[90m 12. <1b>[39m│ └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 13. <1b>[39m│ └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 14. <1b>[39m│ └─(function (req, handle, refresh) ...
     <1b>[90m 15. <1b>[39m│ └─httptest:::stop_request(req)
     <1b>[90m 16. <1b>[39m│ └─base::stop(out, call. = FALSE)
     <1b>[90m 17. <1b>[39m└─base::.handleSimpleError(...)
     <1b>[90m 18. <1b>[39m └─base:::h(simpleError(msg, call))
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-user-info.R:21:9): users() works with dataset entities<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch:::cachedLoadDataset("ECON.sav") <1b>[90mtest-user-info.R:21:8<1b>[39m
     <1b>[90m 2. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 3. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 4. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 5. <1b>[39m ├─base::paste0(...)
     <1b>[90m 6. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 7. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 8. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 9. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 10. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 11. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 12. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 13. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 14. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 15. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 16. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 17. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 18. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 19. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 20. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 21. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-user-info.R:31:9): users() works with projects<1b>[22m ───────────────────────────
     Error: error in evaluating the argument 'x' in selecting a method for function 'users': GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch::users(projects()[[1]]) <1b>[90mtest-user-info.R:31:8<1b>[39m
     <1b>[90m 2. <1b>[39m├─crunch::projects()
     <1b>[90m 3. <1b>[39m│ ├─crunch:::ProjectFolder(crGET(shojiURL(x, "catalogs", "projects")))
     <1b>[90m 4. <1b>[39m│ │ └─methods::new(...)
     <1b>[90m 5. <1b>[39m│ │ ├─methods::initialize(value, ...)
     <1b>[90m 6. <1b>[39m│ │ └─crunch:::initialize(value, ...)
     <1b>[90m 7. <1b>[39m│ │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 8. <1b>[39m│ │ │ └─base::eval(call, callEnv)
     <1b>[90m 9. <1b>[39m│ │ │ └─base::eval(call, callEnv)
     <1b>[90m 10. <1b>[39m│ │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 11. <1b>[39m│ │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 12. <1b>[39m│ │ │ └─base::eval(call, callEnv)
     <1b>[90m 13. <1b>[39m│ │ │ └─base::eval(call, callEnv)
     <1b>[90m 14. <1b>[39m│ │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 15. <1b>[39m│ ├─crunch::crGET(shojiURL(x, "catalogs", "projects"))
     <1b>[90m 16. <1b>[39m│ │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 17. <1b>[39m│ ├─crunch::shojiURL(x, "catalogs", "projects")
     <1b>[90m 18. <1b>[39m│ │ └─crunch::is.variable(x)
     <1b>[90m 19. <1b>[39m│ └─crunch:::getAPIRoot()
     <1b>[90m 20. <1b>[39m│ ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 21. <1b>[39m│ │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 22. <1b>[39m│ │ ├─methods::initialize(value, ...)
     <1b>[90m 23. <1b>[39m│ │ └─crunch:::initialize(value, ...)
     <1b>[90m 24. <1b>[39m│ └─crunch::crGET(x)
     <1b>[90m 25. <1b>[39m│ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 26. <1b>[39m│ └─httpcache:::FUN(...)
     <1b>[90m 27. <1b>[39m│ └─httr::GET(url, ...)
     <1b>[90m 28. <1b>[39m│ └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 29. <1b>[39m│ └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 30. <1b>[39m│ └─(function (req, handle, refresh) ...
     <1b>[90m 31. <1b>[39m│ └─httptest:::stop_request(req)
     <1b>[90m 32. <1b>[39m│ └─base::stop(out, call. = FALSE)
     <1b>[90m 33. <1b>[39m└─base::.handleSimpleError(...)
     <1b>[90m 34. <1b>[39m └─base:::h(simpleError(msg, call))
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-user.R:5:9): Getting user object<1b>[22m ────────────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─testthat::expect_is(me(), "UserEntity") <1b>[90mtest-user.R:5:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─testthat::quasi_label(enquo(object), label, arg = "object")
     <1b>[90m 3. <1b>[39m│ └─rlang::eval_bare(expr, quo_get_env(quo))
     <1b>[90m 4. <1b>[39m└─crunch::me()
     <1b>[90m 5. <1b>[39m ├─crunch:::UserEntity(crGET(userURL()))
     <1b>[90m 6. <1b>[39m │ └─methods::new(structure("UserEntity", package = "crunch"), ...)
     <1b>[90m 7. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 8. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 9. <1b>[39m ├─crunch::crGET(userURL())
     <1b>[90m 10. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 11. <1b>[39m └─crunch:::userURL()
     <1b>[90m 12. <1b>[39m └─crunch:::sessionURL("user", "views")
     <1b>[90m 13. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 14. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 15. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 16. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 17. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 18. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 19. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 20. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 21. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 22. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 23. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 24. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 25. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 26. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 27. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-user.R:10:9): Getting account's user catalog<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m└─crunch::getAccountUserCatalog() <1b>[90mtest-user.R:10:8<1b>[39m
     <1b>[90m 2. <1b>[39m ├─crunch:::UserCatalog(crGET(x))
     <1b>[90m 3. <1b>[39m │ └─methods::new(structure("UserCatalog", package = "crunch"), ...)
     <1b>[90m 4. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 5. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 6. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 7. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 8. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 9. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 10. <1b>[39m ├─crunch::crGET(x)
     <1b>[90m 11. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 12. <1b>[39m ├─crunch::shojiURL(getAccount(), "catalogs", "users")
     <1b>[90m 13. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 14. <1b>[39m └─crunch:::getAccount()
     <1b>[90m 15. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 16. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 17. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 18. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 19. <1b>[39m ├─crunch::crGET(x)
     <1b>[90m 20. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 21. <1b>[39m ├─crunch:::rootURL("account", me())
     <1b>[90m 22. <1b>[39m │ └─crunch:::is.shojiObject(obj)
     <1b>[90m 23. <1b>[39m └─crunch::me()
     <1b>[90m 24. <1b>[39m ├─crunch:::UserEntity(crGET(userURL()))
     <1b>[90m 25. <1b>[39m │ └─methods::new(structure("UserEntity", package = "crunch"), ...)
     <1b>[90m 26. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 27. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 28. <1b>[39m ├─crunch::crGET(userURL())
     <1b>[90m 29. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 30. <1b>[39m └─crunch:::userURL()
     <1b>[90m 31. <1b>[39m └─crunch:::sessionURL("user", "views")
     <1b>[90m 32. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 33. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 34. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 35. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 36. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 37. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 38. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 39. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 40. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 41. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 42. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 43. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 44. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 45. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 46. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-user.R:51:9): invite (not currently exported)<1b>[22m ───────────────────────────
     `object` threw an error with unexpected message.
     Expected match: "POST https://app.crunch.io/api/accounts/account1/users/ {\"element\":\"shoji:entity\",\"body\":{\"email\":\"me@example.com\",\"send_invite\":true,\"id_method\":\"pwhash\",\"account_permissions\":{\"alter_users\":false,\"create_datasets\":false},\"first_name\":\"Me\",\"url_base\":\"/password/change/${token}/\"}}"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─httptest::expect_POST(...) <1b>[90mtest-user.R:51:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─httptest:::expect_mock_request(object, "POST ", url, " ", ...)
     <1b>[90m 3. <1b>[39m│ └─request_happened()(...)
     <1b>[90m 4. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 5. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 6. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 7. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 8. <1b>[39m└─crunch:::invite("me@example.com", name = "Me")
     <1b>[90m 9. <1b>[39m ├─crunch::shojiURL(getAccount(), "catalogs", "users")
     <1b>[90m 10. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 11. <1b>[39m └─crunch:::getAccount()
     <1b>[90m 12. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 13. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 14. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 15. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 16. <1b>[39m ├─crunch::crGET(x)
     <1b>[90m 17. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 18. <1b>[39m ├─crunch:::rootURL("account", me())
     <1b>[90m 19. <1b>[39m │ └─crunch:::is.shojiObject(obj)
     <1b>[90m 20. <1b>[39m └─crunch::me()
     <1b>[90m 21. <1b>[39m ├─crunch:::UserEntity(crGET(userURL()))
     <1b>[90m 22. <1b>[39m │ └─methods::new(structure("UserEntity", package = "crunch"), ...)
     <1b>[90m 23. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 24. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 25. <1b>[39m ├─crunch::crGET(userURL())
     <1b>[90m 26. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 27. <1b>[39m └─crunch:::userURL()
     <1b>[90m 28. <1b>[39m └─crunch:::sessionURL("user", "views")
     <1b>[90m 29. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 30. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 31. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 32. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 33. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 34. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 35. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 36. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 37. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 38. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 39. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 40. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 41. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 42. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 43. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mFailure<1b>[39m (test-user.R:68:9): reassignUser<1b>[22m ────────────────────────────────────
     `object` threw an error with unexpected message.
     Expected match: "POST https://app.crunch.io/api/users/user1/reassign/ {\"element\":\"shoji:entity\",\"body\":{\"owner\":\"william.user@example.io\"}}"
     Actual message: "GET https://app.crunch.io/api/ (app.crunch.io/api.json)"
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─httptest::expect_POST(...) <1b>[90mtest-user.R:68:8<1b>[39m
     <1b>[90m 2. <1b>[39m│ └─httptest:::expect_mock_request(object, "POST ", url, " ", ...)
     <1b>[90m 3. <1b>[39m│ └─request_happened()(...)
     <1b>[90m 4. <1b>[39m│ └─testthat:::quasi_capture(...)
     <1b>[90m 5. <1b>[39m│ ├─testthat:::.capture(...)
     <1b>[90m 6. <1b>[39m│ │ └─base::withCallingHandlers(...)
     <1b>[90m 7. <1b>[39m│ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     <1b>[90m 8. <1b>[39m├─crunch::with_consent(...)
     <1b>[90m 9. <1b>[39m│ ├─base::with(consent(), eval.parent(expr))
     <1b>[90m 10. <1b>[39m│ ├─crunch:::with.contextManager(consent(), eval.parent(expr))
     <1b>[90m 11. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 12. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 13. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 14. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 15. <1b>[39m└─crunch::reassignUser("fake.user@example.com", "william.user@example.io") <1b>[90mtest-user.R:70:16<1b>[39m
     <1b>[90m 16. <1b>[39m └─crunch::getAccountUserCatalog()
     <1b>[90m 17. <1b>[39m ├─crunch:::UserCatalog(crGET(x))
     <1b>[90m 18. <1b>[39m │ └─methods::new(structure("UserCatalog", package = "crunch"), ...)
     <1b>[90m 19. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 20. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ ├─methods::callNextMethod(.Object, ...)
     <1b>[90m 22. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 23. <1b>[39m │ │ └─base::eval(call, callEnv)
     <1b>[90m 24. <1b>[39m │ └─crunch:::.nextMethod(.Object, ...)
     <1b>[90m 25. <1b>[39m ├─crunch::crGET(x)
     <1b>[90m 26. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 27. <1b>[39m ├─crunch::shojiURL(getAccount(), "catalogs", "users")
     <1b>[90m 28. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 29. <1b>[39m └─crunch:::getAccount()
     <1b>[90m 30. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 31. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 32. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 33. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 34. <1b>[39m ├─crunch::crGET(x)
     <1b>[90m 35. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 36. <1b>[39m ├─crunch:::rootURL("account", me())
     <1b>[90m 37. <1b>[39m │ └─crunch:::is.shojiObject(obj)
     <1b>[90m 38. <1b>[39m └─crunch::me()
     <1b>[90m 39. <1b>[39m ├─crunch:::UserEntity(crGET(userURL()))
     <1b>[90m 40. <1b>[39m │ └─methods::new(structure("UserEntity", package = "crunch"), ...)
     <1b>[90m 41. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 42. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 43. <1b>[39m ├─crunch::crGET(userURL())
     <1b>[90m 44. <1b>[39m │ └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 45. <1b>[39m └─crunch:::userURL()
     <1b>[90m 46. <1b>[39m └─crunch:::sessionURL("user", "views")
     <1b>[90m 47. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 48. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 49. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 50. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 51. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 52. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 53. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 54. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 55. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 56. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 57. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 58. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 59. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 60. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 61. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-variable-as-methods.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-variable-as-methods.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-variable-as-methods.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-variable-catalog.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-variable-catalog.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-variable-catalog.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-variable-delete.R:8:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-variable-delete.R:8:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-variable-delete.R:9:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-variable-folders.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-variable-folders.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-variable-folders.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-variable-metadata.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-variable-metadata.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-variable-metadata.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-variable-order.R:14:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-variable-order.R:14:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-variable-order.R:15:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-variable-summary.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-variable-summary.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-variable-summary.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-variable-transforms.R:217:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-variable-transforms.R:217:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-variable-transforms.R:218:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-variable-type.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-variable-type.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-variable-type.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-variables.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-variables.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-variables.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-versioning.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-versioning.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-versioning.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-webApp.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-webApp.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-webApp.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-weighting.R:3:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-weighting.R:3:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-weighting.R:4:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
     ── <1b>[1m<1b>[38;5;214mError<1b>[39m (test-zcl.R:14:1): (code run outside of `test_that()`)<1b>[22m ───────────────────────────
     Error: GET https://app.crunch.io/api/ (app.crunch.io/api.json)
     <1b>[1mBacktrace:<1b>[22m
     <1b>[90m <1b>[39m█
     <1b>[90m 1. <1b>[39m├─crunch:::with_mock_crunch(...) <1b>[90mtest-zcl.R:14:0<1b>[39m
     <1b>[90m 2. <1b>[39m│ ├─base::with(opts, with_mock_api(expr))
     <1b>[90m 3. <1b>[39m│ ├─crunch:::with.contextManager(opts, with_mock_api(expr))
     <1b>[90m 4. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 5. <1b>[39m│ │ └─base::eval(substitute(expr), envir = parent.frame())
     <1b>[90m 6. <1b>[39m│ └─httptest::with_mock_api(expr)
     <1b>[90m 7. <1b>[39m│ └─base::eval.parent(expr)
     <1b>[90m 8. <1b>[39m│ └─base::eval(expr, p)
     <1b>[90m 9. <1b>[39m└─crunch:::cachedLoadDataset("test ds") <1b>[90mtest-zcl.R:15:4<1b>[39m
     <1b>[90m 10. <1b>[39m └─crunch::loadDataset(dataset)
     <1b>[90m 11. <1b>[39m └─crunch:::lookupDataset(dataset, project = project)
     <1b>[90m 12. <1b>[39m └─crunch:::findDatasetsByName(x)
     <1b>[90m 13. <1b>[39m ├─base::paste0(...)
     <1b>[90m 14. <1b>[39m └─crunch:::sessionURL("datasets")
     <1b>[90m 15. <1b>[39m ├─crunch::shojiURL(getAPIRoot(), collection, key)
     <1b>[90m 16. <1b>[39m │ └─crunch::is.variable(x)
     <1b>[90m 17. <1b>[39m └─crunch:::getAPIRoot()
     <1b>[90m 18. <1b>[39m ├─crunch:::ShojiObject(crGET(x))
     <1b>[90m 19. <1b>[39m │ └─methods::new(structure("ShojiObject", package = "crunch"), ...)
     <1b>[90m 20. <1b>[39m │ ├─methods::initialize(value, ...)
     <1b>[90m 21. <1b>[39m │ └─crunch:::initialize(value, ...)
     <1b>[90m 22. <1b>[39m └─crunch::crGET(x)
     <1b>[90m 23. <1b>[39m └─crunch:::crunchAPI("GET", ...)
     <1b>[90m 24. <1b>[39m └─httpcache:::FUN(...)
     <1b>[90m 25. <1b>[39m └─httr::GET(url, ...)
     <1b>[90m 26. <1b>[39m └─httr:::request_perform(req, hu$handle$handle)
     <1b>[90m 27. <1b>[39m └─httr:::request_fetch(req$output, req$url, handle)
     <1b>[90m 28. <1b>[39m └─(function (req, handle, refresh) ...
     <1b>[90m 29. <1b>[39m └─httptest:::stop_request(req)
    
     [ <1b>[38;5;214mFAIL<1b>[39m 137 | <1b>[35mWARN<1b>[39m 0 | <1b>[34mSKIP<1b>[39m 2 | <1b>[32mPASS<1b>[39m 656 ]
     Error: Test failures
     In addition: Warning messages:
     1: In untar(system.file("mocks.tgz", package = "crunch"), exdir = tempdir()) :
     'C:/msys64/usr/bin/tar --force-local -xf "C:/msys64/home/tomas/ucrt3/svn/ucrt3/r_packages/pkgcheck/CRAN/crunch/crunch.Rcheck/crunch/mocks.tgz" -C "C:/msys64/home/tomas/ucrt3/svn/ucrt3/r_packages/pkgcheck/CRAN/crunch/tmp/RtmpqsDst4"' returned error code 2
     2: In untar(system.file("mocks.tgz", package = "crunch"), exdir = tempdir()) :
     'C:/msys64/usr/bin/tar --force-local -xf "C:/msys64/home/tomas/ucrt3/svn/ucrt3/r_packages/pkgcheck/CRAN/crunch/crunch.Rcheck/crunch/mocks.tgz" -C "C:/msys64/home/tomas/ucrt3/svn/ucrt3/r_packages/pkgcheck/CRAN/crunch/tmp/RtmpqsDst4"' returned error code 2
     Total teardown: Time difference of 5.292892e-05 secs
     Execution halted
Flavor: r-devel-windows-x86_64-gcc10-UCRT

Version: 1.28.1
Check: PDF version of manual
Result: WARN
    LaTeX errors when creating PDF version.
    This typically indicates Rd problems.
Flavor: r-devel-windows-x86_64-gcc10-UCRT

Version: 1.28.1
Check: PDF version of manual without hyperrefs or index
Result: ERROR
    Re-running with no redirection of stdout/stderr.
Flavor: r-devel-windows-x86_64-gcc10-UCRT