Skip to content

Commit

Permalink
tests: adds tests for the patched flask locale view
Browse files Browse the repository at this point in the history
  • Loading branch information
pomegranited committed Mar 4, 2025
1 parent 3dc36a2 commit 9a5b9c3
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions tests/integration_tests/core_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -1223,5 +1223,56 @@ def test_dashboard_permalink(self, get_dashboard_permalink_mock, request_mock):
assert resp.status_code == 302


class TestLocalePatch(SupersetTestCase):
MOCK_LANGUAGES = (
"superset.views.filters.current_app.config",
{
"LANGUAGES": {
"es": {"flag": "es", "name": "Español"},
},
},
)

@mock.patch.dict(*MOCK_LANGUAGES)
def test_lang_redirect(self):
self.login(GAMMA_USERNAME)
referer_url = "http://localhost/explore/"
resp = self.client.get("/lang/es", headers={"Referer": referer_url})

assert resp.status_code == 302
assert resp.headers["Location"] == referer_url
with self.client.session_transaction() as session:
assert session["locale"] == "es"

@mock.patch.dict(*MOCK_LANGUAGES)
def test_lang_invalid_referer(self):
self.login(GAMMA_USERNAME)
referer_url = "http://someotherserver/explore/"
resp = self.client.get("/lang/es", headers={"Referer": referer_url})

assert resp.status_code == 302
assert resp.headers["Location"] == "/"
with self.client.session_transaction() as session:
assert session["locale"] == "es"

@mock.patch.dict(*MOCK_LANGUAGES)
def test_lang_no_referer(self):
self.login(GAMMA_USERNAME)
resp = self.client.get("/lang/es")

assert resp.status_code == 302
assert resp.headers["Location"] == "/"
with self.client.session_transaction() as session:
assert session["locale"] == "es"

def test_lang_invalid_locale(self):
self.login(GAMMA_USERNAME)
resp = self.client.get("/lang/es")

assert resp.status_code == 500
with self.client.session_transaction() as session:
assert session["locale"] == "en"


if __name__ == "__main__":
unittest.main()

0 comments on commit 9a5b9c3

Please sign in to comment.