diff --git a/.github/workflows/httr2-min-version-check.yaml b/.github/workflows/httr2-min-version-check.yaml new file mode 100644 index 0000000..2609990 --- /dev/null +++ b/.github/workflows/httr2-min-version-check.yaml @@ -0,0 +1,38 @@ +# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples +on: + push: + branches: main + pull_request: + +name: httr2 minimum version support check + +jobs: + httr2-version-check: + runs-on: ubuntu-latest + + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + R_KEEP_PKG_SOURCE: yes + _R_CHECK_TESTS_NLINES_: 0 + + steps: + - uses: actions/checkout@v6 + + - uses: r-lib/actions/setup-pandoc@v2 + + - uses: r-lib/actions/setup-r@v2 + + - uses: actions/checkout@v6 + with: + r-version: release + use-public-rspm: true + + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::rcmdcheck any::httr2@1.0.0 + needs: check + + - uses: r-lib/actions/check-r-package@v2 + with: + upload-snapshots: true + build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")' diff --git a/.gitignore b/.gitignore index a29be13..e834b5a 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ inst/doc/*.html *.Rproj revdep/ docs/ +tests/testthat/127.0.0.1-* diff --git a/DESCRIPTION b/DESCRIPTION index 7c037db..eab2122 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -20,7 +20,7 @@ BugReports: https://github.com/nealrichardson/httptest2/issues License: MIT + file LICENSE Imports: digest, - httr2 (>= 0.2.0), + httr2 (>= 1.0.0), jsonlite, rlang, stats, diff --git a/NEWS.md b/NEWS.md index 9dd1434..f4cac24 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,6 +1,7 @@ # httptest2 (development version) * Reloaded mocked response objects now include the request that caused them to be loaded as `$request` (#65, @jonthegeek) +* httptest2 now requires httr2 v1.0.0 or higher (@jonthegeek) # httptest2 1.2.2 diff --git a/R/expect-request-header.R b/R/expect-request-header.R index 7829ff5..76604f4 100644 --- a/R/expect-request-header.R +++ b/R/expect-request-header.R @@ -16,6 +16,7 @@ #' @return The value of `expr` if there are no expectation failures #' @importFrom testthat expect_null expect_match #' @importFrom rlang is_string +#' @importFrom httr2 with_mocked_response #' @examplesIf FALSE #' #' library(httr2) @@ -86,11 +87,3 @@ expect_request_header <- function( with_mocked_responses(header_mocker, expr) } - -with_mocked_responses <- function(mock, code) { - if (httr2_1.0.0) { - utils::getFromNamespace("with_mocked_responses", "httr2")(mock, code) - } else { - utils::getFromNamespace("with_mock", "httr2")(mock, code) - } -} diff --git a/R/zzz.R b/R/zzz.R deleted file mode 100644 index 40ef252..0000000 --- a/R/zzz.R +++ /dev/null @@ -1,6 +0,0 @@ -httr2_1.0.0 <- NULL - -.onLoad <- function(...) { - # packageVersion() can be slow, so let's only do this check once - httr2_1.0.0 <<- utils::packageVersion("httr2") > "0.2.3" -} diff --git a/tests/testthat/test-mock-api.R b/tests/testthat/test-mock-api.R index 6181b24..3deaa16 100644 --- a/tests/testthat/test-mock-api.R +++ b/tests/testthat/test-mock-api.R @@ -224,11 +224,11 @@ with_mock_api({ req$policies$example <- "example policy" a <- req %>% req_perform() expect_identical( - httr2::resp_request(a), + a$request, req ) expect_identical( - httr2::resp_request(a)$policies$example, + a$request$policies$example, "example policy" ) })