Running ‘testthat.R’ [71s/84s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > # This file is part of the standard devtools workflow.
  > # See `?devtools::test()` for more information.
  > 
  > library(testthat)
  > library(shiny)
  > library(shinyOAuth)
  > 
  > test_check("shinyOAuth")
  GET /base HTTP/1.1
  accept: application/json
  authorization: Bearer tok
  user-agent: shinyOAuth/0.2.0 R/4.5.2 httr2/1.2.2
  x-test: 1
  
  GET /base HTTP/1.1
  accept: */*
  authorization: Bearer tok
  user-agent: shinyOAuth/0.2.0 R/4.5.2 httr2/1.2.2
  
  POST /base HTTP/1.1
  accept: */*
  authorization: Bearer tok
  user-agent: shinyOAuth/0.2.0 R/4.5.2 httr2/1.2.2
  x-test: 1
  
  <0 bytes>
  GET /base HTTP/1.1
  accept: */*
  authorization: Bearer tok
  user-agent: shinyOAuth/0.2.0 R/4.5.2 httr2/1.2.2
  x-other: ok
  
  
  trace=5kY1JPx4bbwW class=shinyOAuth_pkce_error, shinyOAuth_error, rlang_error, error, condition
    [shinyOAuth] - PKCE validation failed
  ! x
  i Trace ID: 5kY1JPx4bbwW
  Saving _problems/test-module-server-720.R
  [ FAIL 1 | WARN 0 | SKIP 19 | PASS 1256 ]
  
  ══ Skipped tests (19) ══════════════════════════════════════════════════════════
  • On CRAN (19): 'test-audit-async-options.R:2:3',
    'test-audit-async-options.R:200:3', 'test-audit-async-options.R:280:3',
    'test-audit-async-session-context.R:2:3',
    'test-constant-time-compare.R:53:3', 'test-introspect-token.R:117:3',
    'test-module-server-async.R:2:3', 'test-module-server-async.R:70:3',
    'test-module-server-async.R:133:3', 'test-refresh-races.R:2:3',
    'test-refresh-races.R:110:3', 'test-revoke-on-session-end.R:63:3',
    'test-revoke-token.R:80:3', 'test-state-fail-delay.R:3:3',
    'test_chromote_cookie.R:106:3', 'test_chromote_cookie.R:149:3',
    'test_chromote_cookie.R:183:3', 'test_state_store_single_use.R:2:3',
    'test_state_store_single_use.R:38:3'
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-module-server.R:720:7'): callback code/state clears query even when token exchange fails ──
  Expected `values$error` to be identical to "token_exchange_error".
  Differences:
  `actual`:   "invalid_callback_query"
  `expected`: "token_exchange_error"  
  
  Backtrace:
       ▆
    1. ├─shiny::testServer(...) at test-module-server.R:696:3
    2. │ ├─shiny:::withMockContext(...)
    3. │ │ ├─shiny::isolate(...)
    4. │ │ │ ├─shiny::..stacktraceoff..(...)
    5. │ │ │ └─ctx$run(...)
    6. │ │ │   ├─promises::with_promise_domain(...)
    7. │ │ │   │ └─domain$wrapSync(expr)
    8. │ │ │   ├─shiny::withReactiveDomain(...)
    9. │ │ │   │ └─promises::with_promise_domain(...)
   10. │ │ │   │   └─domain$wrapSync(expr)
   11. │ │ │   │     └─base::force(expr)
   12. │ │ │   ├─shiny:::with_otel_span_context(...)
   13. │ │ │   │ └─base::force(expr)
   14. │ │ │   ├─shiny::captureStackTraces(...)
   15. │ │ │   │ └─promises::with_promise_domain(...)
   16. │ │ │   │   └─domain$wrapSync(expr)
   17. │ │ │   │     └─base::withCallingHandlers(expr, error = doCaptureStack)
   18. │ │ │   └─env$runWith(self, func)
   19. │ │ │     └─shiny (local) contextFunc()
   20. │ │ │       └─shiny::..stacktraceon..(expr)
   21. │ │ ├─shiny::withReactiveDomain(...)
   22. │ │ │ └─promises::with_promise_domain(...)
   23. │ │ │   └─domain$wrapSync(expr)
   24. │ │ │     └─base::force(expr)
   25. │ │ └─withr::with_options(...)
   26. │ │   └─base::force(code)
   27. │ └─rlang::eval_tidy(quosure, mask, rlang::caller_env())
   28. └─testthat::expect_identical(values$error, "token_exchange_error") at test-module-server.R:720:7
  
  [ FAIL 1 | WARN 0 | SKIP 19 | PASS 1256 ]
  Error:
  ! Test failures.
  Execution halted