blob: 114c8c948ff5515cbe92a481868f9fe4ebf12b6b [file] [log] [blame]
Marc Kupietza4675722022-02-23 23:55:15 +01001test_that("KorAPConnection fails gracefully on unresolvable host", {
Marc Kupietzb1dec012025-06-04 17:16:57 +02002 expect_message(KorAPConnection(accessToken = NULL, apiUrl = "http://xxx.asdhsahdsadhvgas.org"), "No internet|Could not resolve")
Marc Kupietza4675722022-02-23 23:55:15 +01003})
4
5test_that("KorAPConnection fails gracefully on timeout", {
Marc Kupietzb1dec012025-06-04 17:16:57 +02006 expect_message(KorAPConnection(apiUrl = "http://httpbin.org/delay/3", accessToken = NULL, timeout = 0.2), "No internet|Timeout|json|progress|Unavailable")
Marc Kupietza4675722022-02-23 23:55:15 +01007})
8
Marc Kupietzf6506292023-04-18 07:06:54 +02009test_that("KorAPConnection fails gracefully on Bad Gateway errors", {
Marc Kupietzb1dec012025-06-04 17:16:57 +020010 expect_message(KorAPConnection(apiUrl = "http://httpbin.org/status/502", accessToken = NULL, timeout = 0.5), "No internet|Timeout|progress|json|502")
Marc Kupietzf6506292023-04-18 07:06:54 +020011})
12
Marc Kupietz5d9e3a22020-03-23 09:03:29 +010013test_that("KorAPConnection is printable", {
Marc Kupietz617266d2025-02-27 10:43:07 +010014 kco <- KorAPConnection(accessToken = NULL, timeout = 1)
Marc Kupietza4675722022-02-23 23:55:15 +010015 skip_if(is.null(kco@welcome))
Marc Kupietz5d9e3a22020-03-23 09:03:29 +010016 expect_error(print(kco), NA)
17})
18
Marc Kupietzb2b32a32020-03-24 13:56:50 +010019test_that("Opening KorAPConnection prints some message.", {
Marc Kupietz617266d2025-02-27 10:43:07 +010020 expect_message(KorAPConnection(accessToken = NULL), "KorAP")
Marc Kupietzb2b32a32020-03-24 13:56:50 +010021})
22
Marc Kupietza4675722022-02-23 23:55:15 +010023test_that("Opening KorAPConnection with invalid apiToken fails gracefully", {
Marc Kupietzb1dec012025-06-04 17:16:57 +020024 expect_message(
25 KorAPConnection(accessToken = "test token", timeout = 3),
26 "401|Timeout|progress"
27 )
Marc Kupietzb2b32a32020-03-24 13:56:50 +010028})
29
30test_that("Persisting null apiToken fails", {
Marc Kupietz617266d2025-02-27 10:43:07 +010031 kco <- KorAPConnection(accessToken = NULL, timeout = 3)
Marc Kupietz5a61f012021-03-04 18:25:27 +010032 skip_if_not(is.null(kco@accessToken))
Marc Kupietza4675722022-02-23 23:55:15 +010033 skip_if(is.null(kco@welcome))
Marc Kupietz5d9e3a22020-03-23 09:03:29 +010034 expect_error(persistAccessToken(kco),
Marc Kupietzb1dec012025-06-04 17:16:57 +020035 ".*not supplied any access token.*",
36 perl = TRUE
37 )
Marc Kupietz5d9e3a22020-03-23 09:03:29 +010038})
39
40test_that("Opening KorAPConnection with KorAPUrl works", {
Marc Kupietzb1dec012025-06-04 17:16:57 +020041 kco <- KorAPConnection(accessToken = NULL, KorAPUrl = "https://korap.ids-mannheim.de", timeout = 1)
Marc Kupietz5d9e3a22020-03-23 09:03:29 +010042 expect_equal(kco@apiUrl, paste0("https://korap.ids-mannheim.de/api/", kco@apiVersion, "/"))
Marc Kupietzb1dec012025-06-04 17:16:57 +020043 kco <- KorAPConnection(accessToken = NULL, KorAPUrl = "https://korap.ids-mannheim.de/", timeout = 1)
Marc Kupietz5d9e3a22020-03-23 09:03:29 +010044 expect_equal(kco@apiUrl, paste0("https://korap.ids-mannheim.de/api/", kco@apiVersion, "/"))
45})