tests/testthat/setup.R

library(httptest2)

# Настройка очистки (redaction) для сокрытия токена в моках
set_redactor(function(resp) {
  # Пытаемся получить токен из опций или переменных окружения
  token <- getOption("tg.api_token")
  if (is.null(token)) token <- Sys.getenv("TG_API_TOKEN")
  
  if (nzchar(token)) {
    # Заменяем реальный токен в URL и теле ответа на безопасную строку
    resp <- gsub_response(resp, token, "FAKE_TOKEN")
  }
  return(resp)
})

# Если мы запускаем тесты на чистом окружении (CI/CD Github Actions),
# где нет реального токена, устанавливаем фейковый,
# чтобы тесты могли пройти на базе сохраненных моков.
if (identical(Sys.getenv("TG_API_TOKEN"), "")) {
  Sys.setenv(TG_API_TOKEN = "FAKE_TOKEN")
  options(tg.api_token = "FAKE_TOKEN")
}

# Устанавливаем дефолтный канал для тестов, если он не задан
if (is.null(getOption("tg.channel_id"))) {
  options(tg.channel_id = "R4marketing")
}

Try the rtgstat package in your browser

Any scripts or data that you put into this service are public.

rtgstat documentation built on April 17, 2026, 5:07 p.m.