Nothing
context("rest")
library(withr)
test_that("user-agent header is set", {
config <- list()
config$insecure <- FALSE
config$username <- NA
config$password <- NA
config$token <- NA
rest_config <- mlflow:::get_rest_config(config)
expected_user_agent <- paste("mlflow-r-client", packageVersion("mlflow"), sep = "/")
expect_equal(rest_config$headers$`User-Agent`, expected_user_agent)
expect_equal(rest_config$config, list())
})
test_that("basic auth is used", {
config <- list()
config$insecure <- FALSE
config$username <- "hello"
config$password <- "secret"
config$token <- NA
rest_config <- mlflow:::get_rest_config(config)
expect_equal(rest_config$headers$Authorization, "Basic aGVsbG86c2VjcmV0")
})
test_that("token auth is used", {
config <- list()
config$insecure <- FALSE
config$username <- NA
config$password <- NA
config$token <- "taken"
rest_config <- mlflow:::get_rest_config(config)
expect_equal(rest_config$headers$Authorization, "Bearer taken")
})
test_that("insecure is used", {
config <- list()
config$insecure <- TRUE
config$username <- NA
config$password <- NA
config$token <- NA
rest_config <- mlflow:::get_rest_config(config)
expect_equal(rest_config$config, httr::config(ssl_verifypeer = 0, ssl_verifyhost = 0))
})
test_that("429s are retried", {
next_id <<- 1
client <- mlflow:::mlflow_client("local")
new_response <- function(status_code) {
structure(
list(status_code = status_code,
content = charToRaw('{"text":"text"}'),
headers = list(`Content-Type` = "raw")
), class = "response"
)
}
responses <- list(new_response(429), new_response(429), new_response(200))
with_mock(.env = "httr", GET = function(...) {
res <- responses[[next_id]]
next_id <<- next_id + 1
res
}, {
tryCatch({
mlflow_rest(client = client, max_rate_limit_interval = 0)
stop("The rest call should have returned 429 and the function should have thrown.")
}, error = function(cnd) {
# pass
TRUE
})
x <- mlflow_rest(client = client, max_rate_limit_interval = 2)
expect_equal(x$text, "text")
next_id <<- 1
x <- mlflow_rest(client = client, max_rate_limit_interval = 2)
expect_equal(x$text, "text")
next_id <<- 1
x <- mlflow_rest(client = client, max_rate_limit_interval = 3)
expect_equal(x$text, "text")
next_id <<- 1
tryCatch({
mlflow_rest(client = client, max_rate_limit_interval = 1)
stop("The rest call should have returned 429 and the function should have thrown.")
}, error = function(cnd) {
# pass
TRUE
})
})
})
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.