feat(Reports&Alerts): remove Selenium support, require Playwright (#43028)

Co-authored-by: madhushree agarwal <madhushree_agarwal@apple.com>
This commit is contained in:
madhushreeag
2026-08-11 16:06:26 -07:00
committed by GitHub
co-authored by madhushree agarwal
parent d91ca50872
commit bdf8ce69ab
21 changed files with 188 additions and 2945 deletions
@@ -15,9 +15,10 @@
# specific language governing permissions and limitations
# under the License.
from unittest.mock import call, Mock, patch
from unittest.mock import MagicMock, patch
from superset.extensions import machine_auth_provider_factory
from superset.utils.machine_auth import MachineAuthProvider
from tests.integration_tests.base_tests import SupersetTestCase
@@ -27,30 +28,35 @@ class MachineAuthProviderTests(SupersetTestCase):
auth_cookies = machine_auth_provider_factory.instance.get_auth_cookies(user)
assert auth_cookies["session"] is not None
@patch("superset.utils.machine_auth.MachineAuthProvider.get_auth_cookies")
def test_auth_driver_user(self, get_auth_cookies):
def test_authenticate_browser_context_sets_cookies(self):
"""authenticate_browser_context navigates to login and sets auth cookies."""
user = self.get_user("admin")
driver = Mock()
get_auth_cookies.return_value = {
"session": "session_val",
"other_cookie": "other_val",
}
machine_auth_provider_factory.instance.authenticate_webdriver(driver, user)
driver.add_cookie.assert_has_calls(
[
call({"name": "session", "value": "session_val"}),
call({"name": "other_cookie", "value": "other_val"}),
]
provider = machine_auth_provider_factory.instance
mock_context = MagicMock()
mock_page = MagicMock()
mock_context.new_page.return_value = mock_page
with patch.object(provider, "get_cookies", return_value={"session": "abc123"}):
result = provider.authenticate_browser_context(mock_context, user)
assert result is mock_context
mock_page.goto.assert_called_once()
mock_context.clear_cookies.assert_called_once()
mock_context.add_cookies.assert_called_once()
cookies_added = mock_context.add_cookies.call_args[0][0]
assert any(
c["name"] == "session" and c["value"] == "abc123" for c in cookies_added
)
@patch("superset.utils.machine_auth.request")
def test_auth_driver_request(self, request):
driver = Mock()
request.cookies = {"session": "session_val", "other_cookie": "other_val"}
machine_auth_provider_factory.instance.authenticate_webdriver(driver, None)
driver.add_cookie.assert_has_calls(
[
call({"name": "session", "value": "session_val"}),
call({"name": "other_cookie", "value": "other_val"}),
]
)
def test_authenticate_browser_context_uses_override(self):
"""authenticate_browser_context calls the override func when configured."""
user = MagicMock()
mock_context = MagicMock()
mock_override = MagicMock(return_value=mock_context)
provider = MachineAuthProvider(auth_webdriver_func_override=mock_override)
result = provider.authenticate_browser_context(mock_context, user)
mock_override.assert_called_once_with(mock_context, user)
assert result is mock_context