defmodule Pleroma.Web.AkkomaAPI.MetricsControllerTest do use Pleroma.Web.ConnCase, async: true describe "GET /api/v1/akkoma/metrics" do test "should return metrics when the user has admin:metrics" do %{conn: conn} = oauth_access(["admin:metrics"]) resp = conn |> get("/api/v1/akkoma/metrics") |> text_response(200) assert resp =~ "# HELP" end test "should not allow users that do not have the admin:metrics scope" do %{conn: conn} = oauth_access(["read:metrics"]) conn |> get("/api/v1/akkoma/metrics") |> json_response(403) end test "should be disabled by export_prometheus_metrics" do clear_config([:instance, :export_prometheus_metrics], false) %{conn: conn} = oauth_access(["admin:metrics"]) conn |> get("/api/v1/akkoma/metrics") |> response(404) end end end