R Under development (unstable) (2026-06-05 r90111 ucrt) -- "Unsuffered Consequences" Copyright (C) 2026 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # 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(atrrr) > > test_check("atrrr") Saving _problems/test-actors-2.R Saving _problems/test-actors-8.R Saving _problems/test-actors-18.R Saving _problems/test-feed-2.R Saving _problems/test-feed-8.R Saving _problems/test-feed-14.R Saving _problems/test-feed-20.R Saving _problems/test-feed-26.R Saving _problems/test-feed-33.R Saving _problems/test-feed-41.R Saving _problems/test-feed-49.R Saving _problems/test-feed-58.R Saving _problems/test-feed-67.R Saving _problems/test-feed-76.R Saving _problems/test-feed-86.R Saving _problems/test-feed-93.R Saving _problems/test-lists-3.R Saving _problems/test-lists-25.R Saving _problems/test-lists-44.R [ FAIL 19 | WARN 0 | SKIP 2 | PASS 12 ] ══ Skipped tests (2) ═══════════════════════════════════════════════════════════ • !dir.exists(tools::R_user_dir("atrrr", "cache")) is TRUE (2): 'test-convert.R:6:3', 'test-convert.R:16:3' ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test-actors.R:2:3'): search actors ────────────────────────────────── Error in `mock(req)`: file recorded_responses/app.bsky.actor.searchActors_1fdf2.rds does not exist and no token exists Backtrace: ▆ 1. ├─testthat::expect_type(...) at test-actors.R:2:3 2. │ └─testthat::quasi_label(enquo(object)) 3. │ └─rlang::eval_bare(expr, quo_get_env(quo)) 4. └─atrrr::search_user("benguinaudeau.bsky.social", parse = FALSE) 5. ├─base::do.call(...) 6. └─atrrr (local) ``(...) 7. └─atrrr:::make_request(...) 8. └─httr2::req_perform(req) 9. └─atrrr (local) mock(req) 10. └─cli::cli_abort("file {f} does not exist and no token exists") at ./setup-mock.R:37:5 11. └─rlang::abort(...) ── Error ('test-actors.R:8:3'): user info ────────────────────────────────────── Error in `mock(req)`: file recorded_responses/app.bsky.actor.getProfile_8c2ba.rds does not exist and no token exists Backtrace: ▆ 1. ├─testthat::expect_type(...) at test-actors.R:8:3 2. │ └─testthat::quasi_label(enquo(object)) 3. │ └─rlang::eval_bare(expr, quo_get_env(quo)) 4. └─atrrr::get_user_info("benguinaudeau.bsky.social", parse = FALSE) 5. ├─base::append(...) 6. ├─purrr::pluck(...) 7. │ └─purrr:::pluck_raw(.x, list2(...), .default = .default) 8. ├─base::do.call(...) 9. └─atrrr (local) ``("benguinaudeau.bsky.social", .token = NULL, .return = "json") 10. └─atrrr:::make_request(...) 11. └─httr2::req_perform(req) 12. └─atrrr (local) mock(req) 13. └─cli::cli_abort("file {f} does not exist and no token exists") at ./setup-mock.R:37:5 14. └─rlang::abort(...) ── Error ('test-actors.R:18:3'): user info pagination ────────────────────────── Error in `mock(req)`: file recorded_responses/app.bsky.actor.getProfiles_35ff3.rds does not exist and no token exists Backtrace: ▆ 1. ├─testthat::expect_equal(nrow(get_user_info(actor = actors)), 75L) at test-actors.R:18:3 2. │ └─testthat::quasi_label(enquo(object), label) 3. │ └─rlang::eval_bare(expr, quo_get_env(quo)) 4. ├─base::nrow(get_user_info(actor = actors)) 5. └─atrrr::get_user_info(actor = actors) 6. ├─base::append(...) 7. ├─purrr::pluck(...) 8. │ └─purrr:::pluck_raw(.x, list2(...), .default = .default) 9. ├─base::do.call(...) 10. └─atrrr (local) ``(``, .token = NULL, .return = "json") 11. └─atrrr:::make_request(...) 12. └─httr2::req_perform(req) 13. └─atrrr (local) mock(req) 14. └─cli::cli_abort("file {f} does not exist and no token exists") at ./setup-mock.R:37:5 15. └─rlang::abort(...) ── Error ('test-feed.R:2:3'): get skeets by author ───────────────────────────── Error in `mock(req)`: file recorded_responses/app.bsky.feed.getAuthorFeed_c623f.rds does not exist and no token exists Backtrace: ▆ 1. ├─testthat::expect_type(...) at test-feed.R:2:3 2. │ └─testthat::quasi_label(enquo(object)) 3. │ └─rlang::eval_bare(expr, quo_get_env(quo)) 4. └─atrrr::get_skeets_authored_by("andrew.heiss.phd", parse = FALSE) 5. ├─base::do.call(...) 6. └─atrrr (local) ``(...) 7. └─atrrr:::make_request(...) 8. └─httr2::req_perform(req) 9. └─atrrr (local) mock(req) 10. └─cli::cli_abort("file {f} does not exist and no token exists") at ./setup-mock.R:37:5 11. └─rlang::abort(...) ── Error ('test-feed.R:8:3'): get feeds by author ────────────────────────────── Error in `mock(req)`: file recorded_responses/app.bsky.feed.getActorFeeds_c623f.rds does not exist and no token exists Backtrace: ▆ 1. ├─testthat::expect_type(...) at test-feed.R:8:3 2. │ └─testthat::quasi_label(enquo(object)) 3. │ └─rlang::eval_bare(expr, quo_get_env(quo)) 4. └─atrrr::get_feeds_created_by("andrew.heiss.phd", parse = FALSE) 5. ├─base::do.call(...) 6. └─atrrr (local) ``(...) 7. └─atrrr:::make_request(...) 8. └─httr2::req_perform(req) 9. └─atrrr (local) mock(req) 10. └─cli::cli_abort("file {f} does not exist and no token exists") at ./setup-mock.R:37:5 11. └─rlang::abort(...) ── Error ('test-feed.R:14:3'): search feeds ──────────────────────────────────── Error in `mock(req)`: file recorded_responses/app.bsky.feed.getActorFeeds_c623f.rds does not exist and no token exists Backtrace: ▆ 1. ├─testthat::expect_type(...) at test-feed.R:14:3 2. │ └─testthat::quasi_label(enquo(object)) 3. │ └─rlang::eval_bare(expr, quo_get_env(quo)) 4. └─atrrr::get_feeds_created_by("andrew.heiss.phd", parse = FALSE) 5. ├─base::do.call(...) 6. └─atrrr (local) ``(...) 7. └─atrrr:::make_request(...) 8. └─httr2::req_perform(req) 9. └─atrrr (local) mock(req) 10. └─cli::cli_abort("file {f} does not exist and no token exists") at ./setup-mock.R:37:5 11. └─rlang::abort(...) ── Error ('test-feed.R:20:3'): search feeds ──────────────────────────────────── Error in `mock(req)`: file recorded_responses/app.bsky.unspecced.getPopularFeedGenerators_08633.rds does not exist and no token exists Backtrace: ▆ 1. ├─testthat::expect_type(...) at test-feed.R:20:3 2. │ └─testthat::quasi_label(enquo(object)) 3. │ └─rlang::eval_bare(expr, quo_get_env(quo)) 4. └─atrrr::search_feed("#rstats", parse = FALSE) 5. ├─base::do.call(...) 6. └─atrrr (local) ``(...) 7. └─atrrr:::make_request(...) 8. └─httr2::req_perform(req) 9. └─atrrr (local) mock(req) 10. └─cli::cli_abort("file {f} does not exist and no token exists") at ./setup-mock.R:37:5 11. └─rlang::abort(...) ── Error ('test-feed.R:26:3'): get feed ──────────────────────────────────────── Error in `mock(req)`: file recorded_responses/app.bsky.unspecced.getPopularFeedGenerators_08633.rds does not exist and no token exists Backtrace: ▆ 1. ├─testthat::expect_type(...) at test-feed.R:26:3 2. │ └─testthat::quasi_label(enquo(object)) 3. │ └─rlang::eval_bare(expr, quo_get_env(quo)) 4. └─atrrr::search_feed("#rstats", parse = FALSE) 5. ├─base::do.call(...) 6. └─atrrr (local) ``(...) 7. └─atrrr:::make_request(...) 8. └─httr2::req_perform(req) 9. └─atrrr (local) mock(req) 10. └─cli::cli_abort("file {f} does not exist and no token exists") at ./setup-mock.R:37:5 11. └─rlang::abort(...) ── Error ('test-feed.R:33:3'): get feed ──────────────────────────────────────── Error in `mock(req)`: file recorded_responses/app.bsky.feed.getFeed_b5f0f.rds does not exist and no token exists Backtrace: ▆ 1. ├─testthat::expect_type(get_feed(link, parse = FALSE), "list") at test-feed.R:33:3 2. │ └─testthat::quasi_label(enquo(object)) 3. │ └─rlang::eval_bare(expr, quo_get_env(quo)) 4. └─atrrr::get_feed(link, parse = FALSE) 5. ├─base::do.call(...) 6. └─atrrr (local) ``(...) 7. └─atrrr:::make_request(...) 8. └─httr2::req_perform(req) 9. └─atrrr (local) mock(req) 10. └─cli::cli_abort("file {f} does not exist and no token exists") at ./setup-mock.R:37:5 11. └─rlang::abort(...) ── Error ('test-feed.R:41:3'): get own feed ──────────────────────────────────── Error in `mock(req)`: file recorded_responses/app.bsky.feed.getTimeline_2e4ec.rds does not exist and no token exists Backtrace: ▆ 1. ├─testthat::expect_type(get_own_timeline(parse = FALSE), "list") at test-feed.R:41:3 2. │ └─testthat::quasi_label(enquo(object)) 3. │ └─rlang::eval_bare(expr, quo_get_env(quo)) 4. └─atrrr::get_own_timeline(parse = FALSE) 5. ├─base::do.call(...) 6. └─atrrr (local) ``(...) 7. └─atrrr:::make_request(...) 8. └─httr2::req_perform(req) 9. └─atrrr (local) mock(req) 10. └─cli::cli_abort("file {f} does not exist and no token exists") at ./setup-mock.R:37:5 11. └─rlang::abort(...) ── Error ('test-feed.R:49:3'): get likes ─────────────────────────────────────── Error in `purrr::map_chr(link, function(l) { if (is_at(l)) { return(l) } http_info <- parse_http_url(l) if (is.na(http_info$repo) | is.na(http_info$rkey)) { return(NA_character_) } if (!is_did(http_info$repo)) { http_info$repo <- resolve_handle(http_info$repo, .token = .token) } glue::glue_data(http_info, "at://{repo}/{collection}/{rkey}") })`: i In index: 1. Caused by error in `mock()`: ! file recorded_responses/com.atproto.identity.resolveHandle_da4a7.rds does not exist and no token exists ── Error ('test-feed.R:58:3'): get reposts ───────────────────────────────────── Error in `purrr::map_chr(link, function(l) { if (is_at(l)) { return(l) } http_info <- parse_http_url(l) if (is.na(http_info$repo) | is.na(http_info$rkey)) { return(NA_character_) } if (!is_did(http_info$repo)) { http_info$repo <- resolve_handle(http_info$repo, .token = .token) } glue::glue_data(http_info, "at://{repo}/{collection}/{rkey}") })`: i In index: 1. Caused by error in `mock()`: ! file recorded_responses/com.atproto.identity.resolveHandle_da4a7.rds does not exist and no token exists ── Error ('test-feed.R:67:3'): get feed likes ────────────────────────────────── Error in `mock(req)`: file recorded_responses/app.bsky.feed.getLikes_d6806.rds does not exist and no token exists Backtrace: ▆ 1. ├─testthat::expect_type(get_feed_likes(link, parse = FALSE), "list") at test-feed.R:67:3 2. │ └─testthat::quasi_label(enquo(object)) 3. │ └─rlang::eval_bare(expr, quo_get_env(quo)) 4. └─atrrr::get_feed_likes(link, parse = FALSE) 5. ├─base::do.call(...) 6. └─atrrr (local) ``(...) 7. └─atrrr:::make_request(...) 8. └─httr2::req_perform(req) 9. └─atrrr (local) mock(req) 10. └─cli::cli_abort("file {f} does not exist and no token exists") at ./setup-mock.R:37:5 11. └─rlang::abort(...) ── Error ('test-feed.R:76:3'): get thread ────────────────────────────────────── Error in `purrr::map_chr(link, function(l) { if (is_at(l)) { return(l) } http_info <- parse_http_url(l) if (is.na(http_info$repo) | is.na(http_info$rkey)) { return(NA_character_) } if (!is_did(http_info$repo)) { http_info$repo <- resolve_handle(http_info$repo, .token = .token) } glue::glue_data(http_info, "at://{repo}/{collection}/{rkey}") })`: i In index: 1. Caused by error in `mock()`: ! file recorded_responses/com.atproto.identity.resolveHandle_da4a7.rds does not exist and no token exists ── Error ('test-feed.R:86:3'): get replies ───────────────────────────────────── Error in `purrr::map_chr(link, function(l) { if (is_at(l)) { return(l) } http_info <- parse_http_url(l) if (is.na(http_info$repo) | is.na(http_info$rkey)) { return(NA_character_) } if (!is_did(http_info$repo)) { http_info$repo <- resolve_handle(http_info$repo, .token = .token) } glue::glue_data(http_info, "at://{repo}/{collection}/{rkey}") })`: i In index: 1. Caused by error in `mock()`: ! file recorded_responses/com.atproto.identity.resolveHandle_da4a7.rds does not exist and no token exists ── Error ('test-feed.R:93:3'): search posts ──────────────────────────────────── Error in `mock(req)`: file recorded_responses/app.bsky.feed.searchPosts_f5812.rds does not exist and no token exists Backtrace: ▆ 1. ├─testthat::expect_type(search_post("rstats", parse = FALSE), "list") at test-feed.R:93:3 2. │ └─testthat::quasi_label(enquo(object)) 3. │ └─rlang::eval_bare(expr, quo_get_env(quo)) 4. └─atrrr::search_post("rstats", parse = FALSE) 5. ├─base::do.call(...) 6. └─atrrr (local) ``(...) 7. └─atrrr:::make_request(...) 8. └─httr2::req_perform(req) 9. └─atrrr (local) mock(req) 10. └─cli::cli_abort("file {f} does not exist and no token exists") at ./setup-mock.R:37:5 11. └─rlang::abort(...) ── Error ('test-lists.R:3:3'): test getting list ─────────────────────────────── Error in `purrr::map_chr(link, function(l) { if (is_at(l)) { return(l) } http_info <- parse_http_url(l) if (is.na(http_info$repo) | is.na(http_info$rkey)) { return(NA_character_) } if (!is_did(http_info$repo)) { http_info$repo <- resolve_handle(http_info$repo, .token = .token) } glue::glue_data(http_info, "at://{repo}/{collection}/{rkey}") })`: i In index: 1. Caused by error in `mock()`: ! file recorded_responses/com.atproto.identity.resolveHandle_ccf5d.rds does not exist and no token exists ── Error ('test-lists.R:25:3'): test getting list feed ───────────────────────── Error in `purrr::map_chr(link, function(l) { if (is_at(l)) { return(l) } http_info <- parse_http_url(l) if (is.na(http_info$repo) | is.na(http_info$rkey)) { return(NA_character_) } if (!is_did(http_info$repo)) { http_info$repo <- resolve_handle(http_info$repo, .token = .token) } glue::glue_data(http_info, "at://{repo}/{collection}/{rkey}") })`: i In index: 1. Caused by error in `mock()`: ! file recorded_responses/com.atproto.identity.resolveHandle_ccf5d.rds does not exist and no token exists ── Error ('test-lists.R:44:3'): test getting list feed ───────────────────────── Error in `purrr::map_chr(link, function(l) { if (is_at(l)) { return(l) } http_info <- parse_http_url(l) if (is.na(http_info$repo) | is.na(http_info$rkey)) { return(NA_character_) } if (!is_did(http_info$repo)) { http_info$repo <- resolve_handle(http_info$repo, .token = .token) } glue::glue_data(http_info, "at://{repo}/{collection}/{rkey}") })`: i In index: 1. Caused by error in `mock()`: ! file recorded_responses/com.atproto.identity.resolveHandle_181f1.rds does not exist and no token exists [ FAIL 19 | WARN 0 | SKIP 2 | PASS 12 ] Error: ! Test failures. Execution halted