Running 'testthat.R' [10m]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test configuration?
  > # Learn more about the roles of various files in:
  > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
  > # * https://testthat.r-lib.org/articles/special-files.html
  > 
  > library(testthat)
  > library(KrakenR)
  > 
  > test_check("KrakenR")
  [ FAIL 38 | WARN 41 | SKIP 0 | PASS 34 ]
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Error ('test-getAssets.R:5:3'): getAssets returns data frame with all assets by default ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Assets'
  Backtrace:
      ▆
   1. └─KrakenR::getAssets() at test-getAssets.R:5:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getAssets.R:12:3'): getAssets returns data frame with specified assets ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Assets?asset=BTC,ETH'
  Backtrace:
      ▆
   1. └─KrakenR::getAssets(c("BTC", "ETH")) at test-getAssets.R:12:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getAssets.R:38:3'): getAssets handles API errors correctly ─────
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Assets?asset=INVALID_ASSET'
  Backtrace:
       ▆
    1. ├─testthat::expect_error(getAssets("INVALID_ASSET"), "API returned the following error") at test-getAssets.R:38:3
    2. │ └─testthat:::expect_condition_matching(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─KrakenR::getAssets("INVALID_ASSET")
    8.   └─base::tryCatch(...)
    9.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   10.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11.         └─value[[3L]](cond)
  ── Error ('test-getOB.R:5:3'): getOB returns data frame with bids and asks ─────
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Depth?pair=ADAEUR'
  Backtrace:
      ▆
   1. └─KrakenR::getOB("ADAEUR") at test-getOB.R:5:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getOB.R:12:3'): getOB returns correct number of orders when count is specified ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Depth?pair=ADAEUR&count=100'
  Backtrace:
      ▆
   1. └─KrakenR::getOB("ADAEUR", count = 100) at test-getOB.R:12:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getOB.R:18:3'): getOB returns data frame with correct columns and types ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Depth?pair=ADAEUR'
  Backtrace:
      ▆
   1. └─KrakenR::getOB("ADAEUR") at test-getOB.R:18:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getOB.R:27:3'): getOB returns sorted bids and asks ─────────────
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Depth?pair=ADAEUR'
  Backtrace:
      ▆
   1. └─KrakenR::getOB("ADAEUR") at test-getOB.R:27:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getOHLC.R:5:3'): getOHLC returns data frame with OHLC data for a valid pair ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/OHLC?pair=ADAEUR&interval=1'
  Backtrace:
      ▆
   1. └─KrakenR::getOHLC("ADAEUR") at test-getOHLC.R:5:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getOHLC.R:13:3'): getOHLC returns correct data for specified interval ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/OHLC?pair=ADAEUR&interval=60'
  Backtrace:
      ▆
   1. └─KrakenR::getOHLC("ADAEUR", interval = "1h") at test-getOHLC.R:13:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getOHLC.R:20:3'): getOHLC returns data since a specified timestamp ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/OHLC?pair=ADAEUR&interval=60&since=1727733600'
  Backtrace:
      ▆
   1. └─KrakenR::getOHLC("ADAEUR", interval = "1h", since = "2024-10-01 00:00:00") at test-getOHLC.R:20:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getOHLC.R:26:3'): getOHLC handles user-friendly intervals like '1h' and '1d' ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/OHLC?pair=ADAEUR&interval=60'
  Backtrace:
      ▆
   1. └─KrakenR::getOHLC("ADAEUR", interval = "1h") at test-getOHLC.R:26:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getOHLC.R:54:3'): getOHLC handles API errors correctly ─────────
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/OHLC?pair=INVALID_PAIR&interval=1'
  Backtrace:
       ▆
    1. ├─testthat::expect_error(getOHLC("INVALID_PAIR"), "API returned the following error") at test-getOHLC.R:54:3
    2. │ └─testthat:::expect_condition_matching(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─KrakenR::getOHLC("INVALID_PAIR")
    8.   └─base::tryCatch(...)
    9.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   10.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11.         └─value[[3L]](cond)
  ── Error ('test-getPairs.R:12:3'): getPairs returns data for specified pairs ───
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/AssetPairs?pair=ADAEUR,ADAUSD&info=info'
  Backtrace:
      ▆
   1. └─KrakenR::getPairs(c("ADAEUR", "ADAUSD")) at test-getPairs.R:12:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getPairs.R:19:3'): getPairs returns data with different info levels ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/AssetPairs?pair=ADAEUR&info=fees'
  Backtrace:
      ▆
   1. └─KrakenR::getPairs("ADAEUR", info = "fees") at test-getPairs.R:19:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getPairs.R:25:3'): getPairs handles country_code parameter correctly ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/AssetPairs?pair=ADAEUR&info=info&country=CH'
  Backtrace:
      ▆
   1. └─KrakenR::getPairs("ADAEUR", country_code = "CH") at test-getPairs.R:25:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getPairs.R:53:3'): getPairs handles API errors correctly ───────
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/AssetPairs?pair=INVALID_PAIR&info=info'
  Backtrace:
       ▆
    1. ├─testthat::expect_error(getPairs("INVALID_PAIR"), "API returned the following error") at test-getPairs.R:53:3
    2. │ └─testthat:::expect_condition_matching(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─KrakenR::getPairs("INVALID_PAIR")
    8.   └─base::tryCatch(...)
    9.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   10.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11.         └─value[[3L]](cond)
  ── Error ('test-getSpreads.R:5:3'): getSpreads returns a data frame by default ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Spread?pair=XTZUSD'
  Backtrace:
      ▆
   1. └─KrakenR::getSpreads("XTZUSD") at test-getSpreads.R:5:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getSpreads.R:22:3'): getSpreads returns correct timestamp type when requested ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Spread?pair=XTZUSD'
  Backtrace:
      ▆
   1. └─KrakenR::getSpreads("XTZUSD", timestamp = TRUE) at test-getSpreads.R:22:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getSpreads.R:28:3'): getSpreads returns data frame with correct columns ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Spread?pair=XTZUSD'
  Backtrace:
      ▆
   1. └─KrakenR::getSpreads("XTZUSD") at test-getSpreads.R:28:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getSpreads.R:37:3'): getSpreads returns valid Bid and Ask values ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Spread?pair=XTZUSD'
  Backtrace:
      ▆
   1. └─KrakenR::getSpreads("XTZUSD") at test-getSpreads.R:37:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getSpreads.R:45:3'): getSpreads returns data since specified timestamp ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Spread?pair=XTZUSD&since=1727733600'
  Backtrace:
      ▆
   1. └─KrakenR::getSpreads("XTZUSD", since = "2024-10-01 00:00:00") at test-getSpreads.R:45:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getSpreads.R:51:3'): getSpreads handles large datasets ─────────
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Spread?pair=XTZUSD'
  Backtrace:
      ▆
   1. └─KrakenR::getSpreads("XTZUSD", timestamp = TRUE) at test-getSpreads.R:51:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getSpreads.R:80:3'): getSpreads handles API errors correctly ───
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Spread?pair=INVALID_PAIR'
  Backtrace:
       ▆
    1. ├─testthat::expect_error(getSpreads("INVALID_PAIR"), "API returned the following error") at test-getSpreads.R:80:3
    2. │ └─testthat:::expect_condition_matching(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─KrakenR::getSpreads("INVALID_PAIR")
    8.   └─base::tryCatch(...)
    9.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   10.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11.         └─value[[3L]](cond)
  ── Error ('test-getStatus.R:12:3'): getStatus returns only the status when specified ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/SystemStatus'
  Backtrace:
      ▆
   1. └─KrakenR::getStatus("status") at test-getStatus.R:12:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getStatus.R:19:3'): getStatus returns only the timestamp when specified ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/SystemStatus'
  Backtrace:
      ▆
   1. └─KrakenR::getStatus("timestamp") at test-getStatus.R:19:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getStatus.R:28:3'): getStatus throws error for invalid 'data' parameter ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/SystemStatus'
  Backtrace:
       ▆
    1. ├─testthat::expect_error(getStatus("invalid_data"), "Invalid value for 'data' parameter") at test-getStatus.R:28:3
    2. │ └─testthat:::expect_condition_matching(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─KrakenR::getStatus("invalid_data")
    8.   └─base::tryCatch(...)
    9.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   10.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11.         └─value[[3L]](cond)
  ── Error ('test-getTickers.R:5:3'): getTickers returns data frame with all pairs by default ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Ticker'
  Backtrace:
      ▆
   1. └─KrakenR::getTickers() at test-getTickers.R:5:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getTickers.R:19:3'): getTickers returns data frame with correct columns ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Ticker?pair=ADAEUR'
  Backtrace:
      ▆
   1. └─KrakenR::getTickers("ADAEUR") at test-getTickers.R:19:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getTickers.R:28:3'): getTickers returns numeric values for price, volume,
            and trades columns ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Ticker?pair=ADAEUR'
  Backtrace:
      ▆
   1. └─KrakenR::getTickers("ADAEUR") at test-getTickers.R:28:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getTickers.R:39:3'): getTickers handles missing columns in the API response ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Ticker?pair=ADAEUR'
  Backtrace:
      ▆
   1. └─KrakenR::getTickers("ADAEUR") at test-getTickers.R:39:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getTickers.R:45:3'): getTickers handles large datasets efficiently ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Ticker?pair=ADAEUR,BTCUSD,ETHUSD,LTCUSD,DOTUSD,XRPUSD,ADAUSD'
  Backtrace:
      ▆
   1. └─KrakenR::getTickers(...) at test-getTickers.R:45:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getTime.R:5:3'): getTime returns current time in Unix format by default ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Time'
  Backtrace:
      ▆
   1. └─KrakenR::getTime() at test-getTime.R:5:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getTime.R:11:3'): getTime returns current time in RFC 1123 format ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Time'
  Backtrace:
      ▆
   1. └─KrakenR::getTime("rfc") at test-getTime.R:11:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getTime.R:19:3'): getTime throws error for invalid format input ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Time'
  Backtrace:
       ▆
    1. ├─testthat::expect_error(getTime("invalid_format"), "Invalid format specified. Use 'unix' or 'rfc'.") at test-getTime.R:19:3
    2. │ └─testthat:::expect_condition_matching(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─KrakenR::getTime("invalid_format")
    8.   └─base::tryCatch(...)
    9.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   10.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11.         └─value[[3L]](cond)
  ── Error ('test-getTrades.R:5:3'): getTrades returns data frame for a valid pair ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Trades?pair=XTZUSD'
  Backtrace:
      ▆
   1. └─KrakenR::getTrades("XTZUSD") at test-getTrades.R:5:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getTrades.R:13:3'): getTrades returns data for trades since a specified timestamp ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Trades?pair=XTZUSD&since=1727733600'
  Backtrace:
      ▆
   1. └─KrakenR::getTrades("XTZUSD", since = "2024-10-01 00:00:00") at test-getTrades.R:13:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getTrades.R:26:3'): getTrades returns numeric values for price and volume ──
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Trades?pair=XTZUSD'
  Backtrace:
      ▆
   1. └─KrakenR::getTrades("XTZUSD") at test-getTrades.R:26:3
   2.   └─base::tryCatch(...)
   3.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   4.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   5.         └─value[[3L]](cond)
  ── Error ('test-getTrades.R:53:3'): getTrades handles API errors correctly ─────
  Error in `value[[3L]](cond)`: Error fetching data from the Kraken API: cannot open the connection to 'https://api.kraken.com/0/public/Trades?pair=INVALID_PAIR'
  Backtrace:
       ▆
    1. ├─testthat::expect_error(getTrades("INVALID_PAIR"), "API returned the following error") at test-getTrades.R:53:3
    2. │ └─testthat:::expect_condition_matching(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─KrakenR::getTrades("INVALID_PAIR")
    8.   └─base::tryCatch(...)
    9.     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   10.       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11.         └─value[[3L]](cond)
  
  [ FAIL 38 | WARN 41 | SKIP 0 | PASS 34 ]
  Error: Test failures
  Execution halted