Files
sshecret/tests/frontend/helpers/auth.py
2025-05-16 17:38:21 +02:00

31 lines
966 B
Python

"""Auth helpers."""
from selenium.webdriver.common.by import By
from selenium.webdriver.remote.webdriver import WebDriver
from tests.integration.types import AdminServer
from .wait_helpers import wait_until_url_contains
def login(ui_admin_server: AdminServer, driver: WebDriver) -> WebDriver:
"""Log in."""
admin_url, credentials = ui_admin_server
username, password = credentials
driver.get(admin_url + "/login")
username_input = driver.find_element(By.NAME, "username")
password_input = driver.find_element(By.NAME, "password")
submit_button = driver.find_element(By.XPATH, "//button[@type='submit']")
assert username_input is not None
assert password_input is not None
assert submit_button.text.lower() == "sign in"
username_input.clear()
username_input.send_keys(username)
password_input.send_keys(password)
submit_button.click()
wait_until_url_contains(driver, "/dashboard")
return driver