Nothing
context("Data download")
skip_on_cran()
skip_if_offline()
# only run this test if an ebirdst access key is present
key <- Sys.getenv("EBIRDST_KEY")
skip_if_not(!is.na(key) && key != "" && nchar(key) > 0,
message = "Missing ebirdst access key")
# status ----
test_that("ebirdst_download_status()", {
suppressMessages({
files <- ebirdst_download_status("leafly", dry_run = TRUE)
})
expect_true(any(grepl("config.json$", files)))
expect_true(any(grepl("proportion-population", files)))
expect_true(any(grepl("abundance", files)))
expect_false(any(grepl("web_download", files)))
expect_false(any(grepl("leafly2", files)))
# occurrence and count not downloaded by default
expect_false(any(grepl("occurrence", files)))
expect_false(any(grepl("count", files)))
# pis and ppms not downloaded by defaul
expect_false(any(grepl("pis", files)))
expect_false(any(grepl("ppms", files)))
# trends not downloaded
expect_false(any(grepl("\\.parquet$", files)))
expect_false(any(grepl("trends", files)))
suppressMessages({
files_all <- ebirdst_download_status("leafly",
download_all = TRUE,
dry_run = TRUE)
})
expect_true(any(grepl("config.json$", files_all)))
expect_true(any(grepl("occurrence", files_all)))
expect_true(any(grepl("count", files_all)))
expect_true(any(grepl("ppms", files_all)))
expect_true(any(grepl("pis", files_all)))
expect_true(any(grepl("regional_stats.csv", files_all)))
expect_false(any(grepl("web_download", files_all)))
expect_false(any(grepl("leafly2", files_all)))
# trends not downloaded
expect_false(any(grepl("\\.parquet$", files_all)))
expect_false(any(grepl("trends", files_all)))
})
test_that("ebirdst_download_status() pattern argument", {
# only download low resolution
suppressMessages({
files <- ebirdst_download_status("leafly",
pattern = "_27km_",
dry_run = TRUE)
})
expect_true(any(grepl("config.json$", files)))
expect_true(any(grepl("27km", files)))
expect_false(any(grepl("9km", files)))
expect_false(any(grepl("3km", files)))
})
test_that("ebirdst_download_status() missing species", {
# only download low resolution
suppressMessages({
files <- ebirdst_download_status("leafly",
pattern = "_27km_",
dry_run = TRUE)
})
expect_error(ebirdst_download_status("XXXX"))
expect_error(ebirdst_download_status("Wod Thrush"))
expect_error(ebirdst_download_status("aakspa1"))
})
# trends ----
test_that("ebirdst_download_trends()", {
# download one species
path1 <- ebirdst_download_trends("Pomatorhinus musicus",
show_progress = FALSE)
# download multiple species
path2 <- ebirdst_download_trends(c("taibap1", "Taiwan Barbet"),
show_progress = FALSE)
paths <- file.path(c(path1, path2), "trends")
expect_true(all(dir.exists(paths)))
n_trends_files <- sapply(paths, function(x) length(list.files(x)))
n_trends_files <- unname(n_trends_files)
expect_equal(n_trends_files, rep_len(3L, length.out = length(paths)))
})
test_that("ebirdst_download_trends() missing species", {
# missing from s&t
expect_error(ebirdst_download_trends("XXXX"))
expect_error(ebirdst_download_trends(c("Wod Thrush", "aakspa1")))
# missing from trends
expect_error(ebirdst_download_trends(c("amewoo", "Vultur gryphus")))
})
test_that("get_species_path()", {
expect_true(dir.exists(get_species_path("yebsap-example")))
expect_error(get_species_path("XXXXX"))
expect_error(get_species_path("XXXXX", check_downloaded = FALSE))
expect_false(dir.exists(get_species_path("Yellow Warbler",
check_downloaded = FALSE)))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.