refactor: Deprecate ensure_user_is_set in favor of override_user (#20502)

Co-authored-by: John Bodley <john.bodley@airbnb.com>
This commit is contained in:
John Bodley
2022-07-05 10:57:40 -07:00
committed by GitHub
parent ad308fbde2
commit 94b3d2f0f0
4 changed files with 120 additions and 172 deletions

View File

@@ -562,34 +562,34 @@ def test_get_username(
assert get_username() == username
@pytest.mark.parametrize(
"username",
[
None,
"alpha",
"gamma",
],
)
@pytest.mark.parametrize("username", [None, "alpha", "gamma"])
@pytest.mark.parametrize("force", [False, True])
def test_override_user(
app_context: AppContext,
mocker: MockFixture,
username: str,
force: bool,
) -> None:
mock_g = mocker.patch("superset.utils.core.g", spec={})
admin = security_manager.find_user(username="admin")
user = security_manager.find_user(username)
assert not hasattr(mock_g, "user")
with override_user(user):
with override_user(user, force):
assert mock_g.user == user
assert not hasattr(mock_g, "user")
mock_g.user = None
with override_user(user, force):
assert mock_g.user == user
assert mock_g.user is None
mock_g.user = admin
with override_user(user):
assert mock_g.user == user
with override_user(user, force):
assert mock_g.user == user if force else admin
assert mock_g.user == admin