Skip to content

Commit

Permalink
Add skip_on_ci() to search_all() and show_all() tests
Browse files Browse the repository at this point in the history
* Avoids throttling APIs that aren't built for many large queries at once (which might cause error on GitHub Actions)
  • Loading branch information
daxkellie committed Nov 16, 2023
1 parent d426cbe commit 159282d
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 18 deletions.
36 changes: 20 additions & 16 deletions tests/testthat/test-search_all.R
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
# NOTE: Tests are skipped on GH Actions using `skip_on_ci()` to avoid throttling
# API
# (these are probably not built for many fast queries if output is large)

test_that("search_all checks inputs, returns helpful error", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
expect_error(search_all(attributes, ""), "Unrecognised metadata requested")
})

test_that("search_all returns correct output for type", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
fields <- search_all(fields, "year")
reasons <- search_all(reasons, "genus")
profiles <- search_all(profiles, "ala")
Expand All @@ -24,13 +28,13 @@ test_that("search_all returns correct output for type", {
})

test_that("search_all returns error when missing query", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
expect_error(search_all(profiles), "We didn't detect a search query")
expect_error(search_all(fields, blah))
})

test_that("search_assertions returns a filtered result", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
all <- show_all_assertions()
search <- search_assertions("INVALID")
search2 <- search_all(assertions, "INVALID")
Expand All @@ -46,7 +50,7 @@ test_that("search_assertions returns a filtered result", {
})

test_that("search_apis returns a filtered result", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
all <- show_all_apis()
search <- search_apis("image")
search2 <- search_all(apis, "image")
Expand All @@ -61,7 +65,7 @@ test_that("search_apis returns a filtered result", {
})

test_that("search_atlases returns a filtered result", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
all <- show_all_atlases()
search <- search_atlases("guat")
search2 <- search_all(atlases, "guat")
Expand All @@ -76,7 +80,7 @@ test_that("search_atlases returns a filtered result", {
})

test_that("search_collections returns a filtered result", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
all <- show_all_collections()
search <- search_collections("dna")
search2 <- search_all(collections, "dna")
Expand All @@ -91,7 +95,7 @@ test_that("search_collections returns a filtered result", {
})

test_that("search_datasets returns a filtered result", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
all <- show_all_datasets()
search <- search_datasets("endangered")
search2 <- search_all(datasets, "endangered")
Expand All @@ -106,7 +110,7 @@ test_that("search_datasets returns a filtered result", {
})

test_that("search_fields returns a filtered result", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
all <- show_all_fields()
search <- search_fields("precipitation")
search2 <- search_all(fields, "precipitation")
Expand All @@ -121,12 +125,12 @@ test_that("search_fields returns a filtered result", {
})

test_that("search_fields helpful warning with blank argument", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
expect_error(search_fields(), "We didn't detect a search query.")
})

test_that("search_licenses returns a filtered result", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
all <- show_all_licences()
search <- search_licences("3.0")
search2 <- search_all(licences, "3.0")
Expand All @@ -141,7 +145,7 @@ test_that("search_licenses returns a filtered result", {
})

test_that("search_lists returns a filtered result", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
all <- show_all_lists()
search <- search_lists("threatened")
search2 <- search_all(lists, "threatened")
Expand All @@ -156,7 +160,7 @@ test_that("search_lists returns a filtered result", {
})

test_that("search_reasons returns a filtered result", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
all <- show_all_reasons()
search <- search_reasons("sci")
search2 <- search_all(reasons, "sci")
Expand All @@ -171,7 +175,7 @@ test_that("search_reasons returns a filtered result", {
})

test_that("search_ranks returns a filtered result", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
all <- show_all_ranks()
search <- search_ranks("kingdom")
search2 <- search_all(ranks, "kingdom")
Expand All @@ -186,7 +190,7 @@ test_that("search_ranks returns a filtered result", {
})

test_that("search_profiles returns a filtered result", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
all <- show_all_profiles()
search <- search_profiles("base")
search2 <- search_all(profiles, "base")
Expand All @@ -201,7 +205,7 @@ test_that("search_profiles returns a filtered result", {
})

test_that("search_providers returns a filtered result", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
all <- show_all_providers()
search <- search_providers("inaturalist")
search2 <- search_all(providers, "inaturalist")
Expand Down
8 changes: 6 additions & 2 deletions tests/testthat/test-show_all.R
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
# NOTE: Tests are skipped on GH Actions using `skip_on_ci()` to avoid throttling
# API
# (these are probably not built for many fast queries if output is large)

test_that("show_all checks for valid type input", {
expect_error(show_all("nothing"))
expect_error(show_all(FiElDs))
})

test_that("show_all parses ... correctly", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
fields1 <- show_all(fields)
fields2 <- show_all("fields")
expect_equivalent(fields1, fields2)
})

test_that("all show_all() functions return correctly with all syntax", {
skip_if_offline()
skip_if_offline(); skip_on_ci()
valid_types <- c("apis",
"assertions",
"atlases",
Expand Down

0 comments on commit 159282d

Please sign in to comment.