# ---- tests ---- test_that("request_generate() basically works", { req <- request_generate(endpoint = "drive.files.list", token = NULL) expect_type(req, "list") expect_setequal( names(req), c("method", "url", "body", "token") ) expect_match(req$url, "supportsAllDrives=TRUE") }) test_that("request_generate() errors for unrecognized parameters", { params <- list(chicken = "muffin", bunny = "pippin") expect_snapshot( (expect_error( request_generate( endpoint = "drive.files.list", params = params, token = NULL ), class = "gargle_error_bad_params" )) ) }) test_that("request_generate() and request_build() can deliver same result", { ## include a dummy token to prevent earnest efforts to find an API key gen <- request_generate( "drive.files.get", params = list(fileId = "abc"), token = httr::config(token = "token!") ) build <- gargle::request_build( path = "drive/v3/files/{fileId}", method = "GET", params = list(fileId = "abc", supportsAllDrives = TRUE), token = httr::config(token = "token!") ) # don't fail for this difference: body is empty list vs empty named list expect_identical(purrr::compact(gen), purrr::compact(build)) }) test_that("request_generate() suppresses API key if token is non-NULL", { req <- request_generate( "drive.files.get", params = list(fileId = "abc", key = "key in params"), key = "explicit key", token = httr::config(token = "token!") ) expect_false(grepl("key", req$url)) }) test_that("request_generate() adds gargle's tidyverse API key if no token", { req <- request_generate( "drive.files.get", params = list(fileId = "abc"), token = NULL ) expect_match(req$url, gargle::tidyverse_api_key()) }) test_that("request_generate(): explicit API key > key in params > built-in", { req <- request_generate( "drive.files.get", params = list(fileId = "abc"), key = "xyz", token = NULL ) expect_match(req$url, "key=xyz") req <- request_generate( "drive.files.get", params = list(fileId = "abc", key = "def"), key = "xyz", token = NULL ) expect_match(req$url, "key=xyz") req <- request_generate( "drive.files.get", params = list(fileId = "abc", key = "xyz"), token = NULL ) expect_match(req$url, "xyz") })
Generated by dwww version 1.15 on Sun Jun 23 04:40:56 CEST 2024.