feat: Grafana-Links aus FB_GRAFANA_PUBLIC_URL (Sub-Pfad-tauglich)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
from datetime import date, timedelta
|
||||
from decimal import Decimal
|
||||
|
||||
from app.config import get_settings
|
||||
from app.formats import eur
|
||||
from app.models.tables import (Account, Loan, PlannedItem, RecurringItem,
|
||||
Scenario, ScenarioModifier, ScenarioPlannedItem)
|
||||
@@ -453,3 +454,32 @@ def test_neuer_eintrag_formular_struktur(client, db):
|
||||
assert 'class="value-label"' in r # dynamisches Wert-Label
|
||||
assert 'Für diese Eintragsart nicht relevant' in r # Tooltip an Umschaltfeldern
|
||||
assert '<hr' in r # Durchrechnen abgesetzt
|
||||
|
||||
|
||||
def test_grafana_links_use_public_url_when_set(client, monkeypatch):
|
||||
client.post("/login", data={"username": "admin", "password": "geheim"})
|
||||
monkeypatch.setenv("FB_GRAFANA_PUBLIC_URL", "https://fb.example.de/grafana/")
|
||||
get_settings.cache_clear()
|
||||
try:
|
||||
r = client.get("/")
|
||||
assert r.status_code == 200
|
||||
# iframe + Anmelde-Link nutzen die öffentliche URL, kein :8097 mehr.
|
||||
assert "https://fb.example.de/grafana/d/finanzen/finanzen" in r.text
|
||||
assert ":8097" not in r.text
|
||||
# Nav-Link im base-Template ebenfalls.
|
||||
assert 'href="https://fb.example.de/grafana"' in r.text
|
||||
finally:
|
||||
get_settings.cache_clear()
|
||||
|
||||
|
||||
def test_grafana_links_fallback_to_host_port_when_unset(client, monkeypatch):
|
||||
client.post("/login", data={"username": "admin", "password": "geheim"})
|
||||
monkeypatch.delenv("FB_GRAFANA_PUBLIC_URL", raising=False)
|
||||
get_settings.cache_clear()
|
||||
try:
|
||||
r = client.get("/")
|
||||
assert r.status_code == 200
|
||||
assert ":8097/d/finanzen/finanzen" in r.text
|
||||
assert "fb.example.de" not in r.text
|
||||
finally:
|
||||
get_settings.cache_clear()
|
||||
|
||||
Reference in New Issue
Block a user