diff options
author | lain <lain@soykaf.club> | 2023-11-28 07:50:16 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2023-11-28 07:50:16 +0000 |
commit | ef7bda61add26ae25a2d9fffdba40d37e394a53f (patch) | |
tree | 087fbdd76aaec3c2b3dcc1979c4f209b301e1ffc /test | |
parent | 2b839197a9a4e02f7c2efe7473b576b738b23f50 (diff) | |
parent | 1db10744f72bb3679e5ae51da5cc3acc24bb2972 (diff) | |
download | pleroma-ef7bda61add26ae25a2d9fffdba40d37e394a53f.tar.gz pleroma-ef7bda61add26ae25a2d9fffdba40d37e394a53f.zip |
Merge branch 'promex' into 'develop'
Switch to PromEx for prometheus metrics
See merge request pleroma/pleroma!3967
Diffstat (limited to 'test')
-rw-r--r-- | test/pleroma/web/endpoint/metrics_exporter_test.exs | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/test/pleroma/web/endpoint/metrics_exporter_test.exs b/test/pleroma/web/endpoint/metrics_exporter_test.exs deleted file mode 100644 index ad236d4cb..000000000 --- a/test/pleroma/web/endpoint/metrics_exporter_test.exs +++ /dev/null @@ -1,69 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/> -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.Endpoint.MetricsExporterTest do - # Modifies AppEnv, has to stay synchronous - use Pleroma.Web.ConnCase - - alias Pleroma.Web.Endpoint.MetricsExporter - - defp config do - Application.get_env(:prometheus, MetricsExporter) - end - - describe "with default config" do - test "does NOT expose app metrics", %{conn: conn} do - conn - |> get(config()[:path]) - |> json_response(404) - end - end - - describe "when enabled" do - setup do - initial_config = config() - on_exit(fn -> Application.put_env(:prometheus, MetricsExporter, initial_config) end) - - Application.put_env( - :prometheus, - MetricsExporter, - Keyword.put(initial_config, :enabled, true) - ) - end - - test "serves app metrics", %{conn: conn} do - conn = get(conn, config()[:path]) - assert response = response(conn, 200) - - for metric <- [ - "http_requests_total", - "http_request_duration_microseconds", - "phoenix_controller_call_duration", - "telemetry_scrape_duration", - "erlang_vm_memory_atom_bytes_total" - ] do - assert response =~ ~r/#{metric}/ - end - end - - test "when IP whitelist configured, " <> - "serves app metrics only if client IP is whitelisted", - %{conn: conn} do - Application.put_env( - :prometheus, - MetricsExporter, - Keyword.put(config(), :ip_whitelist, ["127.127.127.127", {1, 1, 1, 1}, '255.255.255.255']) - ) - - conn - |> get(config()[:path]) - |> json_response(404) - - conn - |> Map.put(:remote_ip, {127, 127, 127, 127}) - |> get(config()[:path]) - |> response(200) - end - end -end |